跳转到主要内容

客户端接入

Coding Tools MCP 可以由客户端通过 stdio 启动,也可以作为 HTTP 服务暴露 /mcp。本地编辑器类集成优先使用 stdio;长期运行或远程场景优先使用 HTTP。

Stdio 配置

当客户端负责启动 server 子进程时,可使用:
{
  "mcpServers": {
    "coding-tools": {
      "command": "coding-tools-mcp",
      "args": ["--stdio", "--workspace", "/path/to/workspace"]
    }
  }
}
stdio 不需要 Bearer 鉴权,因为客户端直接拥有该子进程。--workspace 应指向模型被允许检查和修改的项目目录。

HTTP 配置

先启动服务:
coding-tools-mcp --workspace /path/to/workspace --host 127.0.0.1 --port 8000
客户端连接:
http://127.0.0.1:8000/mcp
远程或非 loopback HTTP 需要鉴权:
export CODING_TOOLS_MCP_AUTH_TOKEN="replace-with-a-strong-token"
coding-tools-mcp --workspace /repo --host 0.0.0.0 --port 8000 --auth-token "$CODING_TOOLS_MCP_AUTH_TOKEN"
客户端请求需要携带:
Authorization: Bearer replace-with-a-strong-token

OAuth 模式

如果客户端支持 OAuth 2.1 Authorization Code + PKCE,可以启用:
coding-tools-mcp --host 0.0.0.0 --port 8000 --oauth-mode
常用环境变量包括 CODING_TOOLS_MCP_SERVER_URLCODING_TOOLS_MCP_OAUTH_CLIENT_IDCODING_TOOLS_MCP_OAUTH_CLIENT_SECRETCODING_TOOLS_MCP_OAUTH_PASSWORDCODING_TOOLS_MCP_OAUTH_TOKEN_SECRET 启用 OAuth 后,服务会暴露相应 well-known 元数据端点。

工具发现

客户端完成 initialize 后应调用 tools/list。实际工具集合由 --tool-profile 决定:
  • full 暴露全部实现工具。
  • read-only 隐藏修改型和权限相关工具。
  • compat-readonly-all 兼容要求所有工具都带 readOnlyHint: true 的客户端。

会话行为

HTTP 响应包含 Mcp-Session-Id。如果后续请求带了未知 session id,服务会返回 unknown-session 错误。Stdio 会话则跟随子进程生命周期。

推荐默认值

  • 单工作区本地使用:优先 --stdio
  • 持久服务:HTTP 加 Bearer token 或 OAuth。
  • 只读检查客户端:从 --tool-profile read-only 开始。
  • 需要运行本地开发命令时,再考虑 --permission-mode trusted
  • 除非外层已有沙箱,否则不要使用 dangerous