接入客户端

协议课写完 Server 之后,还要让 Host 知道怎么启动它。本章只给配置片段;产品内菜单、权限弹窗与排障见各客户端教程,避免和那些章节重复。

先在 Inspector 里确认 server.py 可用,再改 Host 配置。路径请换成你机器上的绝对路径。


通用原则

传输Host 里通常填什么
Stdiocommand + args(可选 env
Streamable HTTPurl(指向 /mcp
遗留 SSE部分客户端仍要单独的 SSE URL(Cursor 常见)

Stdio 的 command 必须是 激活环境后的解释器,或 uv run --with "mcp[cli]" mcp run ... 这种自带依赖的启动器。只写 python 而 Host 用的是另一个全局 Python,就会 ModuleNotFoundError: mcp


Cursor

配置文件:

  • 项目级:.cursor/mcp.json
  • 用户级:~/.cursor/mcp.json(Windows 一般为 $HOME\.cursor\mcp.json

Stdio 示例:

{
  "mcpServers": {
    "workshop": {
      "command": "C:\\Users\\you\\mcp-demo\\.venv\\Scripts\\python.exe",
      "args": ["C:\\Users\\you\\mcp-demo\\server.py"]
    }
  }
}

Unix 把 command 换成 /home/you/mcp-demo/.venv/bin/python。也可以让 uv 临时装依赖:

{
  "mcpServers": {
    "workshop": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "C:\\Users\\you\\mcp-demo\\server.py"
      ]
    }
  }
}

远程 Streamable HTTP:

{
  "mcpServers": {
    "docs": {
      "url": "https://example.com/mcp"
    }
  }
}

Cursor 仍可能提供 SSE 字段或传输选项,那是遗留通道,见 传输层。产品说明:Cursor / MCP


Claude Code

推荐用 CLI(user 作用域 = 所有项目):

claude mcp add --scope user workshop -- C:\Users\you\mcp-demo\.venv\Scripts\python.exe C:\Users\you\mcp-demo\server.py
claude mcp list
claude mcp add --scope user workshop -- \
  /home/you/mcp-demo/.venv/bin/python /home/you/mcp-demo/server.py
claude mcp list

项目级可提交 .mcp.json,与团队共享:

{
  "mcpServers": {
    "workshop": {
      "command": "python",
      "args": ["server.py"],
      "env": {}
    }
  }
}

这里的 python 必须在 Claude Code 启动 Server 时能解析到已安装 mcp 的环境。需要密钥时用 env 引用环境变量名,不要把 Token 写进仓库。产品说明:Claude Code / MCP


Codex

用户级:~/.codex/config.toml
项目级:.codex/config.toml(通常需信任该项目后才加载)

[mcp_servers.workshop]
command = "C:\\Users\\you\\mcp-demo\\.venv\\Scripts\\python.exe"
args = ["C:\\Users\\you\\mcp-demo\\server.py"]
enabled = true

Unix:

[mcp_servers.workshop]
command = "/home/you/mcp-demo/.venv/bin/python"
args = ["/home/you/mcp-demo/server.py"]
enabled = true

HTTP:

[mcp_servers.openai_docs]
url = "https://developers.openai.com/mcp"
transport = "streamable_http"
enabled = true

企业环境可用 allowed_mcp_servers 做白名单。字段以 Codex 配置参考为准。产品说明:Codex / MCP


OpenCode

OpenCode 在 opencode.jsonmcp 字段里声明 stdio 或远程 URL,并可用权限表控制工具。本课不重复其 JSON 形状。见 OpenCode / MCP 与 LSP


改完配置后怎么验?

  1. 完全退出并重启 Host(不少产品只在启动时读 MCP 配置)
  2. 在工具 / MCP 面板确认 workshop 已连接,而不是一直「starting」
  3. 对话里问:「用 add 工具计算 19+23」——应出现工具调用而不是口算
  4. 失败时:先单独 python server.py 看是否立刻崩溃;再核对 Host 用的是不是那一个解释器

同一份 server.py 可以同时写进 Cursor 与 Claude Code,见 实战案例 案例 3。


下一步

评论