先划个重点:Claude Code 之所以能从一个单纯的命令行问答工具,进化成真正能干活儿的自动化工作站,核心秘密就在于这个叫 MCP(Model Context Protocol,模型上下文协议)的东西。说白了,它就是一个开放标准的通用插槽,让 Claude Code 可以直连 GitHub、Notion、Jira、各种数据库以及你本地的脚本。装上了 MCP,它就不再只是一个对话框,而是一个能自动查文档、查数据库、甚至直接往 GitHub 上提交补丁的全能帮手。
理解 MCP 的连接方式与传输协议
安装 MCP 服务器的第一步,是先选好传输协议。Claude Code 目前支持三种:HTTP、SSE 和 Stdio。每种协议各有各的用武之地,搞清楚它们的区别,后面的安装才能顺风顺水。
HTTP 是目前最推荐的连接方式,尤其适合云端服务。它走的是标准的 Web 通信协议,兼容性和稳定性都很有保障。你要是想连 Notion 这种部署在云端的 MCP 服务器,HTTP 绝对是首选。
再说 SSE(Server-Sent Events,服务器发送事件)。它曾经是远程连接的主流方案,不过在当前版本的 Claude Code 里已经处于弃用(Deprecated)状态了。虽然像 Asana 这类老工具可能还在用 SSE,但只要对方支持 HTTP,还是优先选 HTTP 吧。
最后是 Stdio。这个传输方式跟前面两个完全不同,它专门用于本地进程。流程是这样的:在电脑本地启动一个进程(比如跑一个 Python 脚本或 Node.js 程序),Claude Code 通过标准输入输出跟它通信。如果你需要处理本地文件、操作本地数据库,或者运行自定义的自动化脚本,那 Stdio 就是唯一的选择。
用下面这个表格可以更直观地对比一下这三种传输协议的特点。
| 传输方式 (Transport) | 建议程度 | 适用场景 | 典型示例 |
|---|---|---|---|
| HTTP | 强烈推荐 | 云端 MCP 服务器,跨网络通信 | Notion, Sentry, GitHub |
| SSE | 不推荐 | 旧版云端服务连接(已弃用) | Asana |
| Stdio | 推荐 | 本地脚本、工具、需要直接系统访问的程序 | 本地 Python 脚本, Airtable 本地连接器 |
安装远程 HTTP 或 SSE 服务器
配置远程服务器其实很简单,通常只需要服务器的名称和对应的 URL 地址。如果服务器需要身份验证,还可以在安装命令里直接带上 Header 信息。
安装一个最简单的 HTTP 服务器,命令格式是下面这样的:
claude mcp add --transport http
举个例子,连接 Notion 的 MCP 服务器,具体的执行命令就是:
claude mcp add --transport http notion https://mcp.notion.com/mcp

如果连接的 API 需要 Bearer 令牌(Token)来鉴权,安装命令就得通过 --header 参数来传递这些敏感信息:
claude mcp add --transport http secure-api https://api.example.com/mcp --header "Authorization: Bearer your-token"
SSE 方式虽然已经不受待见了,但如果你确实碰到了只支持该协议的服务器,安装逻辑是完全一样的,只是换一下传输参数:
claude mcp add --transport sse asana https://mcp.asana.com/sse
安装本地 Stdio 服务器与双横杠参数
本地 Stdio 服务器的安装比远程的稍复杂一些,因为它涉及本地命令的执行。这类安装通常需要指定一个命令(Command),再加上一系列参数(Args)。
安装 Stdio 服务器的基础命令如下:
claude mcp add --transport stdio my-local-server -- npx server-package
这里面,--(双横杠)是个非常关键的角色。它起的是分隔符的作用,告诉 Claude Code:双横杠之前的内容(比如 --transport stdio)是 claude 命令本身的配置;双横杠之后的内容(比如 npx server-package)才是启动 MCP 服务器需要的具体指令。这能防止 Claude 的参数跟 MCP 服务器自带的参数打架。
如果要在安装时设置环境变量,比如为 Airtable 提供 API 密钥,可以用 --env 参数:
claude mcp add --transport stdio airtable --env AIRTABLE_API_KEY=YOUR_KEY -- npx -y airtable-mcp-server
对于用 Python 写的本地服务器,命令结构也同样清晰:
claude mcp add --transport stdio python-server -- python3 /path/to/server.py --port 8080
Windows 用户在原生环境下(非 WSL)安装使用 npx 的本地服务器时,得特别留心。因为 Windows 没法像 Linux 或 macOS 那样直接执行 npx,必须用 cmd /c 来包装指令,不然会出现连接关闭的错误:
claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package
选择合适的安装作用域
安装 MCP 服务器时,还得决定配置文件存哪儿,这直接决定了工具的可见范围。Claude Code 提供了三个层级的 Scope(作用域):Local、Project 和 User。
Local(本地作用域)是默认选项。在这种作用域下,配置信息会存在家(Home)目录下的 ~/.claude.json 里,但它会跟当前的文件夹路径绑定。也就是说,只有当你在这个特定的目录下运行 Claude Code 时,这个 MCP 工具才可用。非常适合那些只针对某个特定项目的私有工具。
Project(项目作用域)则是团队协作的神器。配置会被写入当前项目根目录下的 .mcp.json 文件中。这个文件可以提交到 Git 仓库,这样团队里的其他成员拉取代码后,一运行 Claude Code,就能自动获得相同的工具支持。
User(用户作用域)则将配置存在全局位置,让它在所有项目中都可用。适用于你个人常用的通用工具,比如个人笔记搜索,或者全局 GitHub 助手。
claude mcp add --transport http stripe --scope local https://mcp.stripe.com
添加一个团队共享的项目级服务器:
claude mcp add --transport http shared-tool --scope project https://api.team.com/mcp
添加一个全局可用的用户级服务器:
claude mcp add --transport http global-tool --scope user https://api.personal.com/mcp
对于项目级作用域生成的 .mcp.json 文件,它的内部结构非常规范。开发者甚至可以手动编辑这个文件来做更复杂的配置,比如设置备用环境变量或自定义启动参数:
{"mcpServers": {"api-server": {"type": "http","url": "${API_BASE_URL:-https://api.example.com}/mcp","headers": {"Authorization": "Bearer ${API_KEY}"}}}}
注意上面的示例里用到了 ${VAR:-default} 这个语法。Claude Code 支持在配置文件中进行环境变量扩展,如果系统环境里定义了 API_KEY,它会自动填充到配置中。
身份验证与交互式管理
很多云端 MCP 服务器(比如 Sentry 或 GitHub)不光要安装,还得进行 OAuth 2.0 授权。安装完这些服务器后,需要在进入 Claude Code 的交互界面运行 /mcp 命令。
运行 /mcp 后,终端会显示一个交互菜单。选择对应的服务器并点击“Authenticate”(身份验证),系统会自动弹出浏览器引导登录。这样一来,敏感的访问令牌能被安全地存储并自动刷新。

管理已安装的服务器也很直观。想查看当前已启用的所有服务器及其状态的话,在终端执行:
claude mcp list
如果需要获取某个特定服务器的详细配置参数:
claude mcp get github
当某个工具不再需要,或者配置出错需要重置时,用移除命令:
claude mcp remove github
如果你之前在 Claude Desktop(桌面版)里已经配置过大量的 MCP 服务器,没必要手动重新输入一遍。Claude Code 提供了一个一键导入的功能(目前仅限 macOS 和 WSL):
claude mcp add-from-claude-desktop
这个命令会读取桌面版的配置文件,并通过交互式菜单让你勾选需要同步到命令行工具中的服务器。
使用 MCP 资源与指令
安装并连接成功后,MCP 提供的能力会以两种形式出现:资源(Resources)和提示词(Prompts)。
资源可以通过 @ 符号来引用,就像引用本地文件一样。你可以直接对 Claude 说:“请分析一下 @github:issue://123 并给出修复方案。” 这时候 Claude Code 会调用 GitHub MCP 服务器,获取那个 Issue 的实时内容。
提示词则会转化成特殊的斜杠命令。如果你安装的 MCP 服务器定义了一个叫 list_prs 的 Prompt,你直接在对话框输入 /mcp__github__list_prs 就能快速触发。
为了防止 MCP 工具产生的内容太多,导致 Token 浪费或者上下文溢出,Claude Code 设定了默认的输出限制。单次 MCP 工具调用的默认上限通常是 25,000 个 Token。如果你在处理大型数据库查询时遇到了输出被截断的情况,可以通过设置环境变量来提升这个阈值:
export MAX_MCP_OUTPUT_TOKENS=50000claude
按照以上流程,从协议选择到命令安装,再到作用域管理与身份验证,一套完整的 MCP 环境就能搭建起来了。这种插件化的扩展机制,让 Claude Code 真正超越了传统 AI 的边界,成为一个全能工程助手。
