跳到主要内容

MCP Runtime

MCP support 把已配置 servers 接入 Anyy toolsets。它是 runtime integration,不属于 inner agent loop。

Client Manager

internal/mcp/client 拥有 sessions、discovery、keepalive、recovery、tool calls、resources、prompts、 sampling hooks、status 和 diagnostics。

Runtime setup 和 gateway code 应使用 manager,而不是手动启动 server processes。

传输方式

Transport implementations 位于 internal/mcp/transport。当前代码覆盖 stdio、Streamable HTTP、 event-stream response parsing、framing 和 JSON-RPC demux behavior。

Transport status 必须 bounded 且 redacted,因为 command args、URLs 和 headers 可能含有 credentials。

Server Bridge

internal/mcp/server 把 Anyy 暴露为 MCP server/bridge,供需要 MCP-shaped access 的 clients 使用。

Bridge schemas 应与 protocol/tool descriptors 对齐。不要只为 MCP 发明新的 tool semantics。

OAuth Manager

OAuth flow 和 token storage 位于 internal/mcp/oauth。Dashboard 和 CLI setup commands 调用 RPC/runtime helpers,而不是直接管理 tokens。

OAuth status output 必须报告 readiness,但不打印 token values。

Policy

internal/mcp/policy 把 discovered server tools 映射成 Anyy descriptors。Policy 拥有 include/exclude filtering、generated tool names、toolsets、risk、approval policy 和 execution policy。

Untrusted servers 不应默认暴露每个 discovered tool。

脱敏

Redaction 位于 internal/mcp/redact 和 runtime audit helpers。它应应用到 server config、logs、probe output、 reload errors 和 action payloads。

不要把 MCP headers、OAuth tokens、command env 或 URL secrets echo 到用户可见 diagnostics。