agentscope-ai / agentscope-ai/QwenPaw

Feature: Driver-level fallback chain for MCP drivers when policy denies

Offen
#7,556 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
TypeScript
Sterne
35k
Forks
3.1k
Ø Merge
1 T. 13 Std.
Gemergte PRs (30 T.)
228

Beschreibung

**Label:** enhancement

### Problem
MCP driver cards (`drivers/mcp/*.yaml`) evaluate an access-policy per call. Two pain points in multi-agent deployments:

1. When a card has no `policy` section, the effective default is `deny`, so **every** tool call silently fails with `driver_policy_denied`. In our fleet, 6 of 8 agents lost Tavily MCP with no obvious signal, and the built-in `web_search` (HTTP path, bypasses driver cards) kept working — which made the failure very hard to diagnose.
2. There is no fallback: when a driver call is denied or the remote MCP errors, the agent has no configured alternate (e.g. `tavily_search` → `anysearch` → built-in `web_search`).

### Proposed
- `fallback: [driver_name | builtin_tool]` list in the driver YAML; attempted in order on policy-deny or transport error.
- Console: show a per-driver "policy status" badge (allow/ask/deny + last denied call) in the Drivers panel.
- Clearer error message pointing to the exact YAML file and missing `policy:` key when deny comes from absent policy.

### Environment
QwenPaw 2.2.0, Docker, multi-agent workspace (9 agents), NFS-backed working dir.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start by reading the MCP driver card files under drivers/mcp/*.yaml and the code path that evaluates per-call access policy and returns driver_policy_denied. Then find the Drivers panel implementation for the proposed policy status badge. Done means denied or transport-failed driver calls can try configured fallbacks, missing policy errors name the YAML file and key, and the console shows policy status.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, yaml
Bereich
ai-infra-agents, backend, frontend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
32/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.