如何设置 MCP 服务器:安装、配置与验证
如何在 Claude Code、Cursor、VS Code 或 Claude Desktop 中设置 MCP 服务器:找到合适的服务器、检查可信度、安装、安全地添加 API 密钥,并验证它能正常工作。
设置 MCP 服务器的步骤是:先为你要连接的工具找到一个服务器,并确认它来自可信的来源。然后把它添加到你的 AI 客户端:远程服务器填一个 URL,本地服务器填一条启动命令,例如 npx -y package 或 uvx package。通过环境变量或 OAuth 提供 API 密钥,重启或重新加载客户端,最后确认服务器的工具已经出现。
本指南讲的是使用现成的服务器。如果你想自己写一个,请看构建 MCP 服务器。在每个客户端里步骤都一样,只是配置的位置不同。
第 1 步:找到合适的服务器
在 MCP 服务器目录中搜索,或按分类浏览。每个条目都写明了安装命令、传输方式和所需的环境变量。对于热门服务,先找厂商的官方服务器:GitHub、Notion、Sentry 等很多厂商都发布了自己的服务器。
接着确定你需要哪一种:
| 远程服务器 | 本地服务器 | |
|---|---|---|
| 你需要添加 | 一个 URL,例如 https://mcp.example.com/mcp | 一条命令,例如 npx -y some-mcp-server |
| 运行在 | 提供方的基础设施上 | 你的电脑上 |
| 登录方式 | 通常是在浏览器中走 OAuth | 通常是在 env 中放 API 密钥 |
| 需要预先安装 | 无 | Node.js(npx)、uv(uvx)或 Docker |
| 最适合 | SaaS 工具(GitHub、Notion、Linear) | 文件、本地应用、你网络内的数据库 |
不确定自己用的是哪种?远程 MCP 服务器指南详细解释了两者的区别。
第 2 步:确认它值得信任
MCP 服务器会使用你的凭据运行,本地服务器还拥有你的用户权限。安装任何东西之前,先花两分钟检查一下:
- 谁发布的? 优先选择厂商官方服务器,或拥有公开仓库、知名度较高的维护者。
- 还在维护吗? 看看是否有近期提交、Issue 是否有人回复,README 是否列出了所有工具。
- 它能做什么? 读一遍工具列表。一个「读取 Jira 工单」的服务器如果还能删除项目,就应该给它只读令牌。
- 最小权限凭据。 创建一个专用令牌,范围尽可能小。对 GitHub 来说,就是只限定特定仓库的 fine-grained PAT。
- 固定版本。 在共享配置中给本地服务器固定版本,例如
npx -y package@1.4.2,这样恶意更新就不会被自动执行。
完整清单见 MCP 安全最佳实践。想了解费用问题,请看 MCP 服务器是免费的吗。
第 3 步:安装前置依赖
远程服务器什么都不需要。本地服务器需要它的启动命令所用的运行时:
npx ...需要 Node.js,用node -v检查。uvx ...需要 uv,用uvx --version检查。docker run ...需要 Docker 处于运行状态。你也可以用 Docker MCP Gateway 集中管理容器。
客户端启动服务器时,PATH 往往很精简。如果服务器报错「command not found」,就把配置里的 npx 或 uvx 换成 which npx 或 which uvx 输出的绝对路径。
第 4 步:把它和密钥一起添加到客户端
下面是在四个最常用的客户端中的同一套做法:一个带令牌请求头的远程服务器,以及一个在 env 中放 API 密钥的本地服务器。
Claude Code
# Remote server, token in a header
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
# Local server, key in the environment
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
-- npx -y airtable-mcp-server
Claude Code 自己的参数放在 -- 之前,服务器的启动命令放在它之后。对于使用 OAuth 的服务器,添加 URL 时不用带请求头,然后在 /mcp 中登录即可。作用域(scope)、通过 .mcp.json 共享以及 $ 变量展开,请看 Claude Code MCP 指南。
Cursor
编辑项目中的 .cursor/mcp.json,或编辑 ~/.cursor/mcp.json 使其全局生效。Cursor 会展开 ${env:NAME},所以密钥永远不会出现在文件里:
{
"mcpServers": {
"airtable": {
"command": "npx",
"args": ["-y", "airtable-mcp-server"],
"env": { "AIRTABLE_API_KEY": "${env:AIRTABLE_API_KEY}" }
},
"remote-example": {
"url": "https://mcp.example.com/mcp",
"headers": { "Authorization": "Bearer ${env:EXAMPLE_TOKEN}" }
}
}
}
更多内容见 Cursor MCP 设置指南。
VS Code
.vscode/mcp.json 使用 servers 键,每个条目都需要一个 type。带有 password: true 的 inputs 条目会在服务器首次启动时提示你输入密钥,并在输入时隐藏内容:
{
"inputs": [
{
"type": "promptString",
"id": "airtable-key",
"description": "Airtable API key",
"password": true
}
],
"servers": {
"airtable": {
"type": "stdio",
"command": "npx",
"args": ["-y", "airtable-mcp-server"],
"env": { "AIRTABLE_API_KEY": "${input:airtable-key}" }
}
}
}
对于远程服务器,使用 "type": "http" 加上 url。VS Code 会先尝试 Streamable HTTP,失败时再回退到 SSE。详见 VS Code MCP 指南。
Claude Desktop、ChatGPT 及其他
Claude Desktop 读取 claude_desktop_config.json(macOS 上位于 ~/Library/Application Support/Claude/),格式与 Cursor 相同,也是 mcpServers。编辑后要完全退出应用再重新打开。ChatGPT 只接受远程服务器。分步指南:Claude Desktop、ChatGPT、Codex、Ollama。其他应用请看 MCP 客户端。
第 5 步:验证它能正常工作
- 在客户端中检查状态。 在 Claude Code 中,在终端运行
claude mcp list,或在会话中输入/mcp。在 VS Code 中,运行 MCP: List Servers。在 Cursor 中,打开 MCP 设置,查看是否有绿点和工具数量。 - 问一个需要用到该服务器的问题,例如「列出仓库 X 中我未关闭的 GitHub issue」。客户端请求确认时,批准这次工具调用。
- 如果还是失败,就在客户端之外测试。 对于本地服务器,在终端里运行启动命令。它应该启动后静默等待。如果立即崩溃,就能看到真正的错误。对于任何服务器,都可以用 MCP Inspector 直接连接:
npx @modelcontextprotocol/inspector --cli npx -y airtable-mcp-server --method tools/list
故障排查
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
「command not found」/ ENOENT | 运行时不在客户端的 PATH 中 | 安装 Node/uv,或使用绝对路径 |
| 服务器已列出,但工具数为零 | API 密钥缺失或错误 | 对照 README 检查 env 变量名 |
远程 URL 返回 401 Unauthorized | 令牌缺失、过期或范围不对 | 重新走一遍 OAuth 登录,或重新生成令牌 |
| 连上后立即断开 | 本地服务器向 stdout 打印了内容 | 更新服务器,或向维护者报告 |
| 修改配置没有效果 | 客户端仍在使用旧配置 | 重新加载窗口,或完全重启应用 |
旧 URL 以 /sse 结尾 | 旧版传输方式 | 如果服务器提供 /mcp 端点,就改用它(原因) |
保持配置整洁
服务器越来越多时,这几个习惯能让一切保持可控:
- 只加载用得到的。 每个已连接的服务器都会把它的工具定义加入模型上下文。当前项目用不到的服务器就禁用掉。MCP 工具发现解释了这为什么重要。
- 选对作用域。 个人工具放在用户级配置中。团队需要的服务器放在要提交到仓库的项目文件中,密钥从环境变量读取,绝不写进文件。
- 定期检查。 删除不再使用的服务器,轮换它们的令牌,并有意识地更新固定版本,而不是任其漂移。
下一步
从 MCP 服务器目录中挑选你的下一个服务器。如果不知道从哪里开始,我们的最佳 MCP 服务器清单列出了最值得先安装的那些,比如用于浏览器自动化的 Playwright,以及提供最新库文档的 Context7。
常见问题
如何设置 MCP 服务器?
- 先在 MCP.so 这类目录中找到服务器,确认发布者可信,然后把它添加到 AI 客户端:远程服务器填 URL,本地服务器填 npx 或 uvx 之类的启动命令。通过环境变量或 OAuth 提供 API 密钥,重启客户端并确认它的工具已经出现。
MCP 服务器的配置文件放在哪里?
- 取决于客户端。Cursor 使用项目中的 .cursor/mcp.json 或全局的 ~/.cursor/mcp.json,VS Code 使用 .vscode/mcp.json,Claude Desktop 使用 claude_desktop_config.json,Claude Code 则通过 claude mcp add 命令或共享的 .mcp.json 文件保存服务器。
使用 MCP 服务器需要安装什么吗?
- 远程服务器不需要安装任何东西,只需要一个 URL,通常还要完成 OAuth 登录。本地服务器需要其启动命令所用的运行时:npx 需要 Node.js,uvx 需要 uv,基于容器的服务器需要 Docker。
为什么我的 MCP 服务器没有显示任何工具?
- 最常见的原因是 API 密钥缺失或错误、运行时不在客户端的 PATH 中,或者客户端仍在使用旧配置。在终端里运行启动命令,或用 MCP Inspector 连接,查看真正的错误,然后重新加载客户端。