跳到主要内容

MCP

在 Dashboard → MCP 保存的是当前 Profile 的外部 Server 配置。配置保存、连接就绪、工具真正调用成功是三件事:Probe 可选,不是保存或启用的前置条件;连接失败也不会自动撤销已保存的定义。

先确定服务在哪里运行​

类型需要准备
stdioAnyy 主机上的可执行程序、参数及其运行时;使用 npx 就需要该主机的 Node.js/npm
http可访问的 Streamable HTTP MCP Endpoint;除 loopback 外使用 HTTPS

Anyy 不替本地 Server 安装运行时。stdio 只继承包含 PATH、HOME 等项目的有限环境,需要的其它值应在 Server env 中明确配置。本地进程使用 Anyy 运行用户的操作系统权限。

独立 sse transport 不受支持;Streamable HTTP 内部仍可使用事件流。远程 HTTP 连接不要求本地安装 Node.js。

添加并验证​

  1. 选择 Add MCP server,填写由字母、数字、连字符或下划线构成的稳定 Server ID。
  2. 选择 stdio 或 http,填写命令/参数或 URL。
  3. 按服务要求配置环境、Header、Provider 认证或 OAuth 选项。
  4. 设置 Exposure;需要逐工具覆盖时填写有序 JSON。
  5. 点击 Save,随后按需 Probe,检查连接和工具清单。

普通环境、Header 和 OAuth 字符串按输入保存,不根据字段名猜测 Secret。要使用 Anyy 已管理凭据,应明确写 Secret Reference,不能把凭据放进 URL。值表达式说明环境变量、命令替换与 Profile/项目差异。

决定模型怎样找到工具​

默认 codemode 供脚本发现与调用;deferred 经 tool_search;direct 直接向模型声明;hidden 两条发现路径都不可见。逐工具规则优先精确名称,其次按 JSON 对象顺序采用首个匹配通配符:

{"search":"direct","read*":"deferred","*":"hidden"}

这不会生成 mcp-* 个人工具组。工具组、父任务限制和 Session 选择保持独立。Codemode与工具搜索解释两种发现方式。

Tools 页可查看当前原生 Schema。Probe 的单个 tools 清单包含 name、visible_name、description、exposure、offered;offered 表示当前服务提供了它,不是审批或额外允许列表。

需要登录时​

HTTP 未配置 Authorization Header 或 Provider 引用时,可按服务挑战进行 OAuth;匿名服务无需为了连接强制登录。Provider 引用是 JSON,例如:

{"provider":"provider-id"}

OAuth 选项另填对象,例如 {"clientId":"registered-client"},不接受旧的 oauth/header/none 字符串认证选择器。

先保存 Server,再在详情页点击登录。在浏览器完成授权;浏览器无法回调 Anyy 主机时,把完整重定向 URL 粘贴到本次登录输入框。离开或取消页面会结束待完成登录。CLI 替代操作为:

anyy mcp login SERVER_ID --timeout 300
anyy mcp logout SERVER_ID

退出登录是 CLI 操作,页面没有另一个退出按钮。它清除当前本地凭据并关闭连接,保留定义和缓存;不撤销服务端授权。详情见退出登录。缺少 token 不必然代表需要重新认证:匿名连接可以 ready,同时显示 OAuth 材料 not_loaded。

修改配置后怎样生效​

先看配置来源:Profile 定义在 config.yaml,项目覆盖来自 canonical Workspace 的 .anyy/mcp.json。项目配置规则决定同名条目如何覆盖。

启用开关只影响这个 Server。编辑时若只修改 Exposure,使用设置操作并留空定义字段;传输、凭据、描述和有序覆盖使用独立的 Profile 定义操作,不混在一次保存中。Exposure 修改不重连,连接错误不撤销设置。

mcp reload 只按内存中已加载的值重连。手改文件需要启动时或空闲会话 session.reload RPC 重新读取,Probe 不代替文件重载。共享连接对外声明的 Workspace 根在 manager 创建时固定;stdio 的 cwd 是另一个配置,不改变该根,也不是文件权限边界。

回到对话确认​

可以在有 Shell 工具的对话中,让 Anyy 通过现有 CLI 添加明确的 MCP 地址或命令;没有独立的 MCP 配置模型工具。CLI 的显式 Profile 路径应是 Anyy Profile,而不一定等于 Shell 的 HOME。

保存后刷新页面核对相同 Profile、Server ID、启用与连接状态,再在下一轮对话实际调用。页面添加的服务同样供该 Profile 对话使用。连接状态单独显示 connected、pending、degraded、unavailable。

已启用且配置为 Codemode/deferred 的服务会进入有界 mcp_servers 提示摘要,即使仍在连接。描述优先,否则使用 Server instructions 首行;direct-only、hidden-only、disabled 服务不列入。摘要在一轮运行开始时固定,修改后在下一提示词更新。

资源能力通过共享 list_mcp_resources、list_mcp_resource_templates、read_mcp_resource 提供。状态保留 resources_advertised、prompts_advertised、server_capabilities;不再有旧 resource/prompt enabled、posture、count 字段或开关。Prompt 协议 API 不生成模型工具。

CLI 示例与排错​

anyy mcp add docs --command mcp-docs --exposure codemode
anyy mcp configure docs --exposure deferred
anyy mcp set docs toolExposure '{"read*":"deferred","*":"hidden"}'
anyy mcp test docs
anyy mcp show docs
anyy mcp status --json

工具调用必须采用当前 show/Probe 返回的原始工具名称和参数 Schema。旧全局 mcp.client.enabled、工具 include/exclude/trusted 与 --activate-toolset 不再接受;RPC 有序覆盖以 tool_exposure JSON 字符串传入,保存为有序 toolExposure。

本机服务起不来时检查命令、依赖、环境和 cwd;远端认证失败则检查 Provider 引用、OAuth 或 Header。工具缺失时再检查 Exposure、当前 offering 和发现工具。服务器详情与 CLI 日志提供脱敏诊断;完整传输、资源和恢复规则见 MCP 集成。