MCP 集成
MCP Server 可以把外部工具接入 Anyy。每个 Server 只属于一个 Profile;先探测 Catalog,再明确选择允许的工具,最后启用。
当前支持本地 stdio 与远程 HTTP,并提供受支持的 OAuth 和 Header 认证。
推荐配置顺序
- 添加 Server,先不要暴露大量工具;
- Probe 连接并发现 Catalog;
- 阅读准备开放的每个 Tool;
- 只 Include 完成任务需要的部分;
- 启用 Server,并激活它的 Toolset。
它会接收 Tool Input,也会把返回内容交给模型。本地进程还拥有与 Anyy Runtime 相同的操作系统权限。启用前应审查运营方、包/命令、传输、认证和工具行为。
在 Dashboard 添加 Server
进入 Dashboard → MCP → Add MCP server:
- 填写稳定的 Server ID;
- 本地命令选择
stdio,远程 Endpoint 选择http; - 填写可执行命令和参数,或 MCP URL;
- 设置认证、Header、环境变量与 Secret Reference;
- 点击 Probe,连接并读取 Catalog;
- 把允许的工具加入 Included tools,用 Excluded tools 进一步排除;
- 可选启用 Server,并把 Toolset 加入新会话默认值;
- 提交 ChangePlan,检查后批准。
准备启用的 Draft 必须有与当前表单完全匹配的成功 Probe,以及非空 Include List。Probe 后修改连接或策略字段,旧证据会失效,必须重新 Probe。
从能完成任务的最少 Read-only Tools 开始。确认 Server 行为和 Anyy 对每个 Tool 的实际治理后,再增加写入或删除能力。
本地 stdio Server
Anyy 会启动本地程序,通过标准输入输出通信。需要提供 Command、逐项 Arguments、Environment 和受保护的 Secret Reference。
anyy mcp add context \
--transport stdio \
--command npx \
--args -y @upstash/context7-mcp
应审查并尽量固定本地包或可执行文件版本。字段支持 Secret Reference 时,不要把凭据写进普通环境配置。
远程 HTTP Server
anyy mcp add remote-docs \
--url https://mcp.example.com \
--transport http \
--auth oauth
远程认证方式包括:
oauth;header;none。
远程连接应使用 HTTPS,授权值不要拼进 URL。只有 Endpoint 明确设计为匿名服务时才选择 none。
OAuth Server 添加后继续登录:
anyy mcp login remote-docs
状态为 reauth_needed 时重新登录。移除 Server 时,Anyy 会在确认后删除自己托管的 OAuth 凭据。
发现并限定工具
anyy mcp show context
anyy mcp probe context
anyy mcp test context
确认 Catalog 后再配置:
anyy mcp configure context \
--include resolve-library-id,get-library-docs \
--enable \
--activate-toolset
Tool Name 以本次发现结果为准。Included tools 是允许清单;Excluded tools 会进一步拒绝指定名称。激活后,已有 Session 可能仍需新建才能看到新 Toolset。
MCP 配置不能降低 Anyy 的硬性治理下限。每个 Tool 的 Risk、Approval、Timeout、Audit 与 Output Budget 仍然生效。
看懂 Runtime 状态
Dashboard 会区分“希望启用”和“实际可用”:
- Setting enabled/disabled:Profile 的配置意图;
- available/unavailable/pending/degraded:目前能否使用;
- running:客户端连接是否正在运行。
打开详情,可以检查最近 Probe、允许的工具数量、Runtime Schema、诊断事件和编辑表单。
检查、调用与 Reload
anyy mcp list
anyy mcp status
anyy mcp logs context
anyy mcp reload context
Status 与自动化相关命令在支持时可以加 --json,供其他程序读取结构化结果。
需要单独验证某个工具时:
anyy mcp call context.resolve-library-id \
--args '{"libraryName":"docusaurus"}'
--args 必须符合当前 Tool JSON Schema;直接调用仍遵循实际 Risk 与 Audit。
停用或移除
anyy mcp disable context
anyy mcp remove context
Disable 会保留配置但退出活动使用;Remove 会删除 Server 配置。只有正常安全检查无法完成、且你明确理解后果时,才使用 --force。
安全检查清单
- 审查并固定本地包或命令版本;
- 远程 Server 使用 HTTPS;
- 凭据通过 Secret Reference 保存;
- 只 Include 必要 Tools;
- Command、URL、认证或 Tool Policy 变化后重新 Probe;
- 高风险 MCP ChangePlan 必须按实际影响检查。
常见问题
| 现象 | 处理方法 |
|---|---|
| 本地 Server 起不来 | 手动运行完整 Command,检查可执行文件、参数和环境变量 |
| 远程 Server 返回未授权 | 核对认证模式、OAuth 状态或受保护 Header |
| Save 被拒绝 | 对当前 Draft 重新 Probe,并至少 Include 一个 Tool |
| Server 一直不可用 | 查看 Logs,并运行 anyy mcp test SERVER_ID |
| 已发现 Tool 但 Chat 没有 | Include、Enable、Activate、Reload 后新建 Session |
| Schema 变化 | 重新 Probe,检查 Catalog,再更新 Include List |
工具治理与审批分别见工具与 Toolset和审批与 ChangePlan。