MCP(Model Context Protocol)是一套让 AI 助手连接外部工具与数据源的标准协议,在 Claude Code 里用一条 claude mcp add 命令就能挂上一个「服务器」,之后 AI 就能调用它暴露的工具——读数据库、查网页、开浏览器、跑 Git 操作。 接入分两种传输:stdio(本地进程,通过标准输入输出通信)和 HTTP/SSE(连远程服务)。配置有三种作用域:local(仅当前项目、私有)、project(写进 .mcp.json、可提交共享)、user(全局、所有项目可用)。我把自己常用的 filesystem、fetch、playwright 三个 server 挂进 Claude Code,全程十几分钟。
上面这段就是全文的结论块,可以直接拿走。下面是接入方式、逐步命令和排错。

stdio 和 HTTP,两种传输怎么选?
结论:本地跑得动的工具用 stdio,远程共享或云端服务用 HTTP。
| 传输 | 形态 | 典型场景 | 配置位置 |
|---|---|---|---|
| stdio | 本地子进程,走 stdin/stdout | filesystem、sqlite、git、playwright | 本机命令行或 .mcp.json |
| HTTP/SSE | 连远程 MCP 服务端点 | 云端 SaaS 提供的 MCP、团队共享服务 | URL + 认证头 |
一句话:需要在你自己机器上操作文件/本地资源的,用 stdio;别人已经托管好的服务,用 HTTP。 两者在 Claude Code 里可以混用,一个会话接多个 server 也没问题。
配置步骤速览

第一步:确认版本,认识 mcp 子命令

$ claude --version
# 需要较新版本才支持完整的 mcp 子命令
$ claude mcp --help
$ claude mcp list # 查看当前已接入的 server
Claude Code 管理 MCP 的入口就是 claude mcp,配套子命令有 add / list / get / remove。别去手改配置文件起步——先用命令加,看它写进了哪个文件,再理解结构。
第二步:加一个 stdio server

# 语法:claude mcp add <名字> [选项] -- <启动命令> <参数...>
$ claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/projects
-- 是分界线:它之前是给 claude mcp add 自己的参数,之后是启动这个 server 的真实命令。漏了 --,参数就会被 Claude Code 吞掉,server 起不来。
常用的几个本地 server:
# 网页抓取(给 AI「上网」的能力)
$ claude mcp add fetch -- npx -y @modelcontextprotocol/server-fetch
# 浏览器自动化(能开页面、点击、截图)
$ claude mcp add playwright -- npx -y @playwright/mcp@latest
# SQLite 数据库(让 AI 直接查表)
$ claude mcp add sqlite -- npx -y @modelcontextprotocol/server-sqlite ~/data/app.db
第三步:加一个 HTTP server

# 远程托管的 MCP 服务
$ claude mcp add --transport http notion https://mcp.example.com/mcp
# 需要认证的,用 --header 带令牌
$ claude mcp add --transport http mysvc https://mcp.example.com/mcp \
--header "Authorization: Bearer sk-你自己的令牌"
--transport http 明确告诉 Claude Code 走 HTTP 而不是 stdio。远程 server 要填对端点路径(有的以 /mcp 结尾,有的以 /sse 结尾),填错的表现是连接失败但没有明确报错。
第四步:管好作用域与密钥

# 三种作用域
$ claude mcp add -s local ... # 仅本项目、仅本机、不共享(默认)
$ claude mcp add -s project ... # 写进项目根的 .mcp.json,可提交给团队
$ claude mcp add -s user ... # 全局,所有项目可用
# 给 stdio server 传环境变量(密钥)
$ claude mcp add -s user github --env GITHUB_TOKEN=ghp_你的令牌 -- \
npx -y @modelcontextprotocol/server-github
关键判断:-s project 会把配置写进 .mcp.json 并随仓库分发——所以只放「不含密钥」的 server。 需要令牌的,用 -s user 或 -s local,并把密钥通过 --env 传入,别硬编码进 .mcp.json。
第五步:验证连接并真正调用

在 Claude Code 会话里输入:
/mcp
会列出所有 server 及连接状态。看到 connected 还不够,要实际让它调一次工具:
帮我用 filesystem 工具列出 ~/projects 目录下的文件
帮我用 fetch 工具抓取 https://example.com 的标题
只有工具真的返回了结果,才算接入成功。 只看 /mcp 里的绿色状态,可能掩盖「工具能连但调用报错」的中间态。
四个真会踩的坑
- Windows 下
npx要用cmd /c包一层。 在 Windows 上直接claude mcp add x -- npx -y ...经常起不来,因为npx是.cmd脚本、不是可执行文件。改成-- cmd /c npx -y ...即可。这是 Windows 用户接入 MCP 最高频的失败原因。 - stdio server 的日志不能写到 stdout。 stdio 传输靠 stdout 传输协议消息,server 往 stdout 打任何非协议内容都会破坏通信,表现为「连上了但工具调用全部失败」。自己打包 server 时,日志一律写 stderr 或文件。
npx首次运行要联网下载。 第一次加一个npx -y的 server 会现下载包,网络慢时看起来像「卡死」或超时。国内网络建议先npm i -g装好,再把启动命令换成全局包名(如-- mcp-server-filesystem ~/projects)。- MCP 工具是有真实副作用的能力。 filesystem 能改文件、sqlite 能执行 SQL、playwright 能操作浏览器——接进来的 server 等于给 AI 交了钥匙。只装来源可信的 server,敏感目录别 scope 到
~,令牌用最小权限申请。这一点和给 第三方网关配 key 时是同一个原则:能力越大,越要收紧边界。
Claude Code MCP 常见问题(2026)
Q:MCP 是什么,和插件有什么区别?
A:MCP 是 Anthropic 于 2024 年 11 月开源的「模型连接外部工具」的协议标准,其他厂商与工具也在跟进。插件/扩展通常是某个编辑器私有的,MCP 是跨工具的协议——同一个 server,Claude Code、Codex、其他支持 MCP 的客户端都能用。
Q:.mcp.json 能提交到 Git 吗?
A:能,但要确认里面没有密钥。项目级配置是给团队共享 server 定义用的;任何含 token 的 server 都应放在 user/local 作用域,密钥通过环境变量注入。提交前 git diff 看一遍。
Q:加了 server 但 /mcp 显示连接失败怎么办?
A:按顺序查——① 启动命令能否在终端里手动跑通(先脱离 Claude Code 验证);② Windows 是否漏了 cmd /c;③ npx 包是否下载完成;④ HTTP server 端点路径与认证头是否正确。手动跑通是排除法里最有效的一步。
Q:一次接太多 server 会不会拖慢或混乱?
A:会。每个 server 的工具都会进模型的可用工具列表,接得越多,模型选择工具的负担越重、也越容易误用。建议按需接:先接 2–3 个真正常用的(比如 filesystem + fetch),跑顺了再按场景加(提到浏览器才加 playwright)。
Q:用的不是官方 Claude Code,能接 MCP 吗?
A:MCP 是开放协议,任何实现了 MCP 客户端的工具都能接,配置方式因工具而异。若你在用 第三方网关接国产模型,注意模型能力本身要支持工具调用,否则 server 挂上了模型也不会用。
一句总结
MCP 把 AI 编辑器从「会聊天的文本助手」升级成「能动手的操作者」。接入的关键不在命令有多长,而在三件小事做对:-- 分界线、作用域(别把密钥写进项目)、Windows 的 cmd /c。接好之后,你该关心的就不是「它能不能做」,而是「该给它多少权限」——这才是 2026 年用 AI 编程真正要练的功夫。