MCP

MCP(Model Context Protocol)是一种让 Axiomate 连接外部工具服务的方式。MCP server 可以把工具、提示词和资源暴露给 Axiomate;连接成功后,Axiomate 会把这些能力加入当前会话可用的工具池。

简单理解:普通工具是 Axiomate 自带的能力,MCP 是把外部系统接进来。例如内部接口、搜索服务、数据库只读查询、设计系统、监控平台等,都可以通过 MCP server 暴露给 Axiomate。

什么时候需要 MCP

适合使用 MCP 的场景包括:

  • 需要访问某个外部系统,但不想把复杂接口直接写进提示词。
  • 团队已有内部工具,希望让 Axiomate 能安全调用。
  • 某些信息不在代码仓库里,例如监控、工单、知识库或业务后台。
  • 想把一组工具以统一方式提供给 Axiomate,而不是每次手动复制数据。

如果只是让 Axiomate 读写当前项目文件、运行本地命令,通常不需要 MCP。

MCP server 怎么连接

Axiomate 常用三种 MCP transport:

类型含义适合场景
stdioAxiomate 启动一个本地子进程,通过标准输入输出通信。本机工具、npm 包、本地脚本。
http连接远端 HTTP MCP endpoint。云服务、团队内部服务。
sse连接使用 SSE 的远端 MCP endpoint。仍使用 SSE 协议的旧 server 或特定服务。

不指定 --transport 时,axiomate mcp add 默认按 stdio 处理。因此添加 URL 类型 server 时,应明确写 --transport http--transport sse

添加 MCP server

添加本地 stdio server:

axiomate mcp add my-server -- npx my-mcp-server

命令里的 -- 用来分隔 Axiomate 参数和 server 启动命令;-- 后面的内容会作为 MCP server 命令和参数。

添加 HTTP server:

axiomate mcp add --transport http my-api https://example.com/mcp

添加 SSE server:

axiomate mcp add --transport sse search https://example.com/sse

为 stdio server 传环境变量:

axiomate mcp add -e API_KEY=xxx my-server -- node server.js

为 HTTP server 传请求头:

axiomate mcp add --transport http my-api https://example.com/mcp -H "Authorization: Bearer xxx"

配置保存在哪里

axiomate mcp add 默认写入 local scope。也可以用 -s 指定保存范围:

scope命令示例适合场景
localaxiomate mcp add -s local ...当前项目里仅自己使用,适合本机路径、私有 token、临时配置。
useraxiomate mcp add -s user ...写入用户全局配置,多个项目都可使用。
projectaxiomate mcp add -s project ...写入当前项目的 .mcp.json,适合团队共享。

项目共享的 .mcp.json 不会静默连接。第一次看到 project scope server 时,Axiomate 会要求用户批准或拒绝。

不要把密钥直接提交到 .mcp.json。团队共享配置应优先引用环境变量,让每个用户在本机设置自己的 token。

在对话里管理 MCP

进入 Axiomate 后,可以使用:

/mcp

它会打开 MCP 管理界面,用于查看 server 状态、认证状态、暴露的工具数量、prompts 和 resources。

常用命令:

命令作用
/mcp打开 MCP 管理界面。
/mcp reconnect <server-name>重连指定 server。
/mcp disable <server-name>禁用指定 server。
/mcp enable <server-name>重新启用指定 server。

命令行也可以查看和删除配置:

axiomate mcp list
axiomate mcp get <name>
axiomate mcp remove <name>

axiomate mcp listaxiomate mcp get 会为了健康检查实际连接 server,可能启动 .mcp.json 里的 stdio server。只在信任的项目目录里运行这些命令。

认证和权限

HTTP 或 SSE server 如果需要 OAuth,Axiomate 会在 /mcp 里显示认证入口。完成认证后,server 暴露的工具才会进入可用状态。

MCP server 暴露工具后,工具调用仍然会经过 Axiomate 的权限和审批流程。也就是说,连接 MCP 不等于所有 MCP 工具都可以绕过确认直接执行。

实务建议:

  • 只添加可信 MCP server。
  • 不要运行来源不明的 stdio command。
  • 不要把 token 写进仓库。
  • 团队共享配置优先使用环境变量和最小权限 token。

常见问题

现象检查点
/mcp 里没有 server运行 axiomate mcp list,确认配置写入了正确 scope;如果是 .mcp.json,确认已经批准。
URL server 连接失败确认添加时写了 --transport http--transport sse
显示 needs-auth进入 /mcp 完成认证;如果 token 失效,重新认证或删除后重加。
Windows 上 npx server 启动失败可把命令改成 cmd,参数用 ["/c", "npx", ...] 包装。