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。