federation_call
Call a single tool on a vetted downstream MCP server, enforcing federation permissions and wrapping untrusted output for safe use.
Instructions
Call one tool on one ratified downstream MCP server.
Authorized only at the intersection of two ceilings (docs/design/
federated-mcp-gating.md Decision 2): this app's manifest must grant BOTH
the 'mcp_federation' capability (own line — spawning a server at all) AND
the namespaced mcp:<server_id>:<tool> permission (this specific tool on
this specific server) — plus the operator's standing consent.federation
and an unexpired egress lease, same as every other egress lane. The
server itself must be in the operator-ratified registry regardless of
what this app's manifest grants; a manifest grant alone can never make an
unratified server reachable.
The downstream tool's result is scanned by external-guard and sandwich-wrapped if flagged (untrusted output, same treatment willow_web_fetch gives fetched pages) before it comes back.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | ||
| app_id | Yes | ||
| arguments | No | ||
| server_id | Yes |