这篇适合谁、读完能做到什么
如果你已经有一个能正常运行的 MCP 服务器,想让 Claude Desktop、VS Code 或 Cursor 调用它,这篇适合你。读完你能找到每个客户端的配置文件,写出服务器条目,重启客户端并确认服务器已经连上,出问题时也知道先查哪里。[1]
先搞清楚:什么是 MCP 宿主
MCP 宿主(host)是能连接 MCP 服务器、从而扩展自身能力的 AI 应用。用户直接面对的是宿主,服务器在后面提供工具和数据。Claude Desktop、VS Code 和 Cursor 都可以作为宿主使用。[1]
准备工作很简单:一个能运行的 MCP 服务器,装好要用的宿主应用,并且会读写 JSON 配置文件。配置出错多半是 JSON 语法问题,所以先用 JSON 校验工具检查一遍文件,能省下很多排查时间。[1]
Claude Desktop 怎么配
Claude Desktop 是 Anthropic 的官方桌面应用,原生支持 MCP。它通过一个 JSON 配置文件定义服务器,配置文件的位置是:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
下面是一个包含三个服务器的配置示例:[1]
{
"mcpServers": {
"calculator": {
"command": "python",
"args": ["-m", "mcp_calculator_server"],
"env": {
"PYTHONPATH": "/path/to/your/server"
}
},
"weather": {
"command": "node",
"args": ["/path/to/weather-server/build/index.js"]
},
"database": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost/mydb"
}
}
}
}mcpServers 对象里,每个键就是一个服务器。每个条目包含 command(要运行的程序)、args(命令行参数),以及可选的 env(环境变量)。示例中的 calculator 用 python -m mcp_calculator_server 启动,并通过 PYTHONPATH 指定服务器所在目录;weather 用 node 运行编译好的入口文件;database 用 npx -y 启动 @modelcontextprotocol/server-postgres,连接串放在 DATABASE_URL 里。[1]
示例里的连接串和路径都是占位符,要换成你自己的。不要把真实密码直接写进配置文件,敏感信息应该通过环境变量或密钥管理工具提供。[1]
env 字段的作用是把环境变量交给服务器进程。如果服务器依赖某个环境变量(例如 Python 模块所在的 PYTHONPATH),就要写在这里,而不要指望它沿用你终端里设置过的值。客户端启动服务器时,不一定带上你终端里的环境,这一点在排查问题时很关键。[1]
配置完成后,按下面的顺序测试:
- 保存配置文件。
- 完全退出并重新打开 Claude Desktop。
- 新开一个对话。
- 找一下 🔌 图标,它表示已连接的服务器。
- 让 Claude 调用你的某个工具,看看有没有返回结果。[1]
如果服务器没有出现在列表里,先用 JSON 校验工具检查配置文件语法,再确认命令路径正确,最后打开 Claude Desktop 的日志(菜单 Help → Show Logs)。如果服务器启动就崩溃,先在终端里手动运行它,确认环境变量设置正确、依赖都已安装,再回到客户端里测试。[1]
VS Code 怎么配
VS Code 通过 GitHub Copilot Chat 扩展支持 MCP。前提是 VS Code 1.99 或更高版本,并且安装了 GitHub Copilot 和 GitHub Copilot Chat 两个扩展。[1]
工作区配置写在项目里的 .vscode/mcp.json 中,用 servers 对象列出服务器,每个条目都有一个 type 字段:[1]
{
"servers": {
"my-calculator": {
"type": "stdio",
"command": "python",
"args": ["-m", "mcp_calculator_server"]
},
"my-database": {
"type": "sse",
"url": "http://localhost:8080/sse"
}
}
}示例里,my-calculator 用 stdio 方式启动一个 Python 模块,my-database 则是 sse 类型,指向 http://localhost:8080/sse。需要注意,指向 /sse 的写法属于 MCP 2025-11-25 对应的旧方式。对 MCP 2026-07-28,应在支持的宿主里选择 Streamable HTTP,并使用服务器配置的端点。[1]
使用时,按 Ctrl+Shift+I(Mac 上为 Cmd+Shift+I)打开 Copilot Chat 面板,输入 @ 可以看到可用的 MCP 工具,然后直接用自然语言调用,例如「用计算器算 25 乘以 48」。[1]
如果同一个工作区里要接入多个服务器,servers 对象里的每个键都要互不相同,每个键对应一个独立条目。type 字段决定客户端用哪种方式连接服务器,写的时候要和服务器的实际启动方式对应。[1]
遇到问题,先看输出面板里的 MCP 日志,再运行 Developer: Reload Window 重新加载窗口。如果还不行,就先确认服务器能脱离 VS Code 独立运行。[1]
Cursor 怎么配
Cursor 是以 AI 为核心的代码编辑器,内置 MCP 支持。配置文件的位置是:macOS 和 Linux 上为 ~/.cursor/mcp.json,Windows 上为 %USERPROFILE%\.cursor\mcp.json。它的格式和 Claude Desktop 相近,同样使用 mcpServers 对象:[1]
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/directory"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}这个示例配了两个服务器。文件系统服务器通过 npx -y @modelcontextprotocol/server-filesystem 启动,最后一个参数是允许访问的目录路径,所以务必把它限制在必要的范围内。GitHub 服务器的令牌放在 env 的 GITHUB_TOKEN 中。示例里的令牌只是占位符,实际使用时应当通过环境变量或密钥管理工具提供。[1]
打开 Cursor 的 AI 对话(Windows 和 Linux 上为 Ctrl+L,Mac 上为 Cmd+L),MCP 工具会自动出现在建议里,然后就可以让 AI 借助这些服务器完成任务。[1]
配置写对了却看不到工具,先检查文件是否放在上面列出的位置:Cursor 的文件在 ~/.cursor/mcp.json 或 %USERPROFILE%\.cursor\mcp.json,和 Claude Desktop 的配置文件不是同一个。[1]
常见问题
服务器起不来
先在终端里手动运行服务器,确认它本身能启动。Python 服务器用 python -m your_server_module 运行,Node.js 服务器用 node /path/to/server/index.js 运行:[1]
# For Python
python -m your_server_module
# For Node.js
node /path/to/server/index.js然后检查命令路径:尽量使用绝对路径,并确保可执行文件在 PATH 里。最后核对依赖是否装好。Python 可以用 pip list | grep mcp 查看,Node.js 可以用 npm list @modelcontextprotocol/sdk 查看:[1]
# Python
pip list | grep mcp
# Node.js
npm list @modelcontextprotocol/sdk服务器连上了,但工具不工作
先看服务器日志,大多数宿主都提供日志选项。然后用 MCP Inspector 核对工具是否注册成功,并检查工具是否有访问文件或网络所需的权限。[1]
环境变量没有传进去
有些宿主会过滤环境变量。这时应当用 env 字段显式传入,同时避免把敏感数据写进配置文件。[1]
安全底线
下面几条适用于所有宿主:[1]
- 不要把 API 密钥提交到配置文件里。
- 敏感数据用环境变量传递。
- 只给服务器它真正需要的权限。
- 接入前先审阅服务器代码,再授予它访问你系统的权限。
- 文件系统和网络访问用白名单(allowlist)限定范围。
传输方式和下一步
不同宿主支持的传输方式并不相同。较新的规范版本建议,在支持的宿主里优先选择 Streamable HTTP。规范中关于传输的章节可以在 modelcontextprotocol.io 上查到。[2]
配置出问题时,可以先用 MCP Inspector 单独测试服务器的工具,确认服务器没问题,再回头排查宿主那一侧的配置。[1]
本文改编自 Microsoft 开源课程《MCP for Beginners》第 3 课中关于配置 MCP 宿主的一节[1],原文以 MIT 许可证发布。
来源
- 1Setting Up Popular MCP Host ClientsMicrosoft mcp-for-beginners (MIT)
- 2MCP Specification - TransportsModel Context Protocol
引用本页: 在 Claude Desktop、Cursor 等客户端里配置 MCP. TellWorld, https://www.tellworld.net/zh/practice/practice-mcp-hosts. 更新于 2026-11-14