Claude MCP 怎么配置?桌面版连接器设置教程
Claude MCP 的配置核心就一步:在 Claude 桌面版的配置文件 claude_desktop_config.json 里写好要连接的 MCP 服务器(命令、参数、环境变量),保存后重启 Claude 桌面版即可。MCP(Model Context Protocol,模型上下文协议)是一套开放标准,让 Claude 能安全地调用外部工具和数据源——本地文件、数据库、GitHub、网页等。如果你还不清楚 MCP 的原理,建议先读一遍 MCP 是什么?一篇讲清 Claude 模型上下文协议,再回来做配置会顺很多。
配置前的准备
桌面版连接器(Connectors)需要 Claude 桌面客户端(macOS / Windows),网页版无法加载本地 MCP 服务器。开始前确认:
- 已安装最新版 Claude 桌面应用,并登录可用账号(当前主力模型为 Claude Opus 4.8、Claude Sonnet 4.6、Claude Haiku 4.5,桌面版会按订阅自动选用)。
- 本机装好 Node.js(多数官方 MCP 服务器通过
npx启动)或 Python(部分服务器用uvx启动)。在终端运行node -v确认版本。 - 知道配置文件位置:macOS 在
~/Library/Application Support/Claude/claude_desktop_config.json,Windows 在%APPDATA%\Claude\claude_desktop_config.json。
第一步:打开配置文件
最稳妥的方式是从客户端进入:点击 Claude 桌面版左上角菜单 →「设置(Settings)」→「开发者(Developer)」→「编辑配置(Edit Config)」,系统会直接定位到 claude_desktop_config.json。如果文件不存在,首次保存任意配置后它会自动生成。用任意文本编辑器打开它即可。
第二步:写入 MCP 服务器配置
所有 MCP 服务器都放在顶层的 mcpServers 对象里,每个服务器是一个键值对。下面以官方文件系统服务器为例,让 Claude 能读写指定目录:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents",
"/Users/yourname/Projects"
]
}
}
}
三个关键字段:command 是启动命令(如 npx 或 uvx);args 是传给命令的参数数组,文件系统服务器后面跟的就是允许访问的目录白名单;可选的 env 用来注入环境变量(如 API 密钥)。路径必须写绝对路径,Windows 下注意把反斜杠转义成 \\ 或直接用正斜杠 /。
添加需要密钥的服务器(以 GitHub 为例)
连接 GitHub 这类外部服务时,凭证通过 env 传入,避免写死在参数里:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_你的token"
}
}
}
}
GitHub 连接的完整步骤(含 Personal Access Token 权限范围)可参考 Claude 连接 GitHub:MCP 连接器配置实战。如果你想让 Claude 用自然语言查数据库,Claude 连接数据库:MCP 实现自然语言查询 里有 PostgreSQL/SQLite 的对应配置。多个服务器只需在 mcpServers 里并列多个键即可,互不影响。
第三步:重启并验证
保存配置文件后,必须完全退出 Claude 桌面版再重新打开——只关窗口不退进程不会重新加载配置。重启后在对话框输入区右下角(或工具栏)应出现一个工具/插头图标,点开能看到已加载的服务器和它暴露的工具列表。直接问 Claude「列出我 Documents 目录下的文件」,若它发起工具调用并返回结果,说明配置成功。首次调用某个工具时,Claude 会弹窗请求授权,确认后才会执行。
本地 MCP 与云端连接器的区别
上面讲的是本地 MCP 服务器:在你电脑上以子进程方式运行,能访问本地文件和内网资源,适合开发和私密数据。Claude 还支持远程连接器,即指向一个已部署好的 MCP 服务(通过 URL 接入,常用 OAuth 授权),无需本地安装、跨设备同步,适合 Notion、Linear 这类 SaaS。两者底层都是同一套 MCP 协议,只是传输方式不同。
| 对比项 | 本地 MCP 服务器 | 远程/云端连接器 |
|---|---|---|
| 接入方式 | 配置文件填命令 | 填 URL + OAuth 授权 |
| 运行位置 | 本机子进程 | 远端服务 |
| 适合场景 | 本地文件、数据库、私有脚本 | SaaS 工具、团队共享 |
| 是否需本地环境 | 需 Node/Python | 不需要 |
常见配置错误排查
- 服务器没出现:九成是 JSON 语法错误——多余的逗号、缺引号、括号不配对。把内容贴到任意 JSON 校验工具里检查一遍。
- command not found:说明系统找不到
npx/uvx。确认 Node 或 uv 已装好,必要时在command里写绝对路径(如/usr/local/bin/npx)。 - 权限/路径报错:文件系统服务器只能访问
args里列出的目录;路径写错或非绝对路径都会失败。 - 密钥相关报错:检查
env里的 token 是否过期或权限不足。涉及配额、限额问题以官方说明为准。
开发者如果想在命令行里玩 MCP,Claude Code 也支持,配置方式略有不同,见 Claude Code 配置 MCP 服务器完整步骤。
常见问题
修改配置后必须重启吗?
是的。Claude 桌面版只在启动时读取一次 claude_desktop_config.json,改完配置要完全退出进程(不是关窗口)再打开才会生效。macOS 用 Cmd+Q,Windows 在系统托盘右键退出。
配置 MCP 后会消耗更多 Token 吗?
会有一定增加。MCP 服务器暴露的工具定义会被注入到对话上下文中,Claude 调用工具的请求和返回结果也都算 Token。工具越多、返回数据越大,开销越高,所以建议只启用当前需要的服务器。
桌面版 MCP 和 API 里的 MCP 是一回事吗?
协议规范相同,但接入面不同。桌面版是给终端用户用的连接器,配置在本地文件里;通过 Messages API(POST /v1/messages)开发时,MCP 则以服务器声明的形式接入,由代码控制。两者可以共享同一个 MCP 服务器实现。