文档
推荐给好友,福利领不停!好友同步开通最高 1000 万词元额度 · 后续消费分佣最高 30%。
+50万 Token生成链接

MCP (Model Context Protocol)

把外部工具和数据源接进 CrabCode 的开放协议。支持 stdio、SSE、HTTP 三类 server,含 OAuth 与 acosmi.com 内置代理。

是什么

MCP 是一个开放协议,让 CrabCode 把"工具"和"数据"外接出去:你跑一个 MCP server(比如 Slack、GitHub、文件系统、内部数据库),把它注册进配置,CrabCode 就能在对话里调用它的工具、读它的资源。

何时会看到这个文档

  • /mcp 命令展示了 server 列表
  • crabcode mcp add CLI 提示参数错误
  • .mcp.json 解析失败时的错误链接
  • settings.json 里 MCP 相关字段校验失败

配置位置

文件作用域
~/.crabcode/settings.jsonmcpServers 字段)用户全局
[repo]/.mcp.json项目共享(提交 git)
[repo]/.crabcode/settings.json项目本地(不提交)
[repo]/.crabcode/settings.local.json本地覆盖(gitignored)

加载顺序:user → project → local → policy;同名 server 后加载的覆盖前面的。

配置示例

json
{
  "mcpServers": {
    "filesystem": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/code"],
      "env": { "LOG_LEVEL": "info" }
    },
    "sentry": {
      "type": "http",
      "url": "https://mcp.sentry.dev/mcp",
      "headers": { "Authorization": "Bearer ${SENTRY_TOKEN}" }
    },
    "internal-sse": {
      "type": "sse",
      "url": "https://internal.example.com/sse"
    }
  }
}
{
  "mcpServers": {
    "filesystem": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/code"],
      "env": { "LOG_LEVEL": "info" }
    },
    "sentry": {
      "type": "http",
      "url": "https://mcp.sentry.dev/mcp",
      "headers": { "Authorization": "Bearer ${SENTRY_TOKEN}" }
    },
    "internal-sse": {
      "type": "sse",
      "url": "https://internal.example.com/sse"
    }
  }
}

支持的 typestdio / http / sse(IDE 扩展内部还用 sse-ide / ws-ide,外部不必关心)。

Windows 注意

Windows 下直接 command: "npx" 会找不到执行文件,必须走 cmd

json
{
  "mcpServers": {
    "filesystem": {
      "type": "stdio",
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-filesystem", "C:\\code"]
    }
  }
}
{
  "mcpServers": {
    "filesystem": {
      "type": "stdio",
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-filesystem", "C:\\code"]
    }
  }
}

CLI 命令

crabcode mcp 是非交互的运维入口:

命令用途
crabcode mcp list列出所有 MCP server(含 scope 与状态)
crabcode mcp get [name]看某个 server 的完整配置
crabcode mcp add [name] -- [cmd] [args...]加 stdio server
crabcode mcp add --transport http [name] [url]加 HTTP server(--transport sse 同理)
crabcode mcp add --header "Authorization: Bearer ..." ...带认证头
crabcode mcp add -e KEY=VAL ... -- [cmd]注环境变量
crabcode mcp add-json [name] [json]直接粘贴一段 JSON 配置
crabcode mcp remove [name] [-s user/project/local]删 server
crabcode mcp reset-project-choices重置 .mcp.json 信任选择(重新弹审批)
crabcode mcp serve把 CrabCode 自己当 MCP server 启动(被别的 MCP 客户端调用)
crabcode mcp xaa setup / login配置 Cross-App Access(SEP-990)IdP 连接

启动参数

  • --mcp-config <file> —— 临时挂额外配置文件(可多次/空格分隔)
  • --strict-mcp-config —— 只用 --mcp-config 来的,忽略 user/project/local 配置
  • --mcp-debug —— 已废弃,用 --debug

Slash 命令

命令用途
/mcp列所有 server 的实时状态,进入条目可启停
/mcp enable/disable [name]all启用 / 停用 server
/mcp reconnect [name]强制重连

OAuth 与 acosmi.com 内置 server

  • OAuthsse / http 类型 server 配置里可放 oauth 块(含 clientId / callbackPort / authServerMetadataUrl);首次调用工具时 CrabCode 会弹浏览器走授权,token 缓存在本地 keychain 槽里
  • Cross-App Access (XAA):企业 IdP 一次性 crabcode mcp xaa setup,之后启用了 XAA 的 server 就走统一身份,不必每个 server 单独登录
  • acosmi.com 代理 server:登录 Acosmi 账号后自动出现一组 acosmi.com &lt;Name&gt; 前缀的 server,由网关代为转发,无需手动配置——/mcp 列表里直接可见

限制与注意

  • stdio server 进程长寿:CrabCode 启动时 spawn,会话退出时 kill;崩溃要在下次启动才会复活
  • headers 环境变量插值Bearer $&#123;TOKEN&#125;$TOKEN 都支持,未定义时被替换为空串
  • .mcp.json 信任:项目级 .mcp.json 首次加载会弹审批;批准过的选择缓存在 local,reset-project-choices 可重置
  • 同名覆盖:后加载的覆盖前面的;同一 scope 内 crabcode mcp add 同名会拒绝
  • 作用域:默认加进 user;用 -s project 加到 .mcp.json(团队共享),-s local 加到本地

相关