ARTICLE · 1232638
只会改本地文件的 AI 程序员,终于长出手了——Claude Code MCP 接入实战手册
说实话,这不是它笨。AI 编程助手的瓶颈从来不在"脑子"——模型能读懂代码、能写代码,但默认状态下它的活动范围只有你电脑上的文件和终端。GitHub、数据库、Notion、浏览器,全是它够不着的地方。MCP(Model Context Protocol)就是给它接手脚的协议。
一句话讲清 MCP:它是 Anthropic 定的一个开放协议,规定"外部工具该怎么把自己介绍给 AI"。Claude Code 通过 MCP 连上各种服务器,就能像调本地工具一样调用外部服务。你可以把它理解成 AI 界的 USB-C 接口——以前每个外设要配一根专用线,现在一套协议全通吃。

图1:左边是没有 MCP 的能力圈,右边是接上 MCP 之后能摸到的东西。
一、MCP 到底解决什么问题
先看没有 MCP 的 Claude Code。它其实已经很强了:读本地文件、编辑代码、跑命令、用 Bash 工具,这几件事干得利索。但它也有明确的边界——GitHub 上的 Issues 它看不见,云数据库连不上,外部 API 调不了,实时数据(天气、行情)更是无从谈起。上一篇文章里那个邮箱校验 Bug 是纯本地问题,所以它能搞定;一旦需求里带一句"顺便在 GitHub 上开个 Issue",它就熄火了。
接上 MCP 之后,这个边界就没了。查 GitHub Issues、开 PR、查 SQLite 和 PostgreSQL、读写 Notion、Slack、浏览器自动化、实时天气地图……原来的能力一样不少,外接能力随接随用。而且这些能力不是写死的:MCP 服务器是独立进程或独立服务,开发者写一个,所有支持 MCP 的 AI 工具都能用。
二、十分钟接上第一个 MCP
配置文件只有两个位置,认准这张表:
~/.claude.json | ||
.claude/mcp.json |
推荐项目级。原因后面讲最佳实践的时候细说,先记住一件事:不同项目用不同的服务集合,互不污染。
配置的过程比想象中简单得多——你根本不用手写 JSON,直接说人话:
帮我添加 GitHub MCP 服务器,我的 token 是 ghp_xxx
它自己会把配置写进 .claude/mcp.json。SQLite 也一样:
添加一个 SQLite 数据库服务器,数据库文件在 ./data/app.db
配完之后问一句"现在有哪些可用的 MCP 服务器?",它会列出清单。更硬核的验证方式是敲诊断命令 /doctor,它会做一次全身检查:Claude Code 版本、Node 版本、每个 MCP 服务器的连接状态和工具数量,连不上的直接标 ✗ 并给出原因。
配置生效之后,用起来就是一句自然语言的事:
帮我在 GitHub 上创建一个 Issue
它会问你要仓库地址、标题、描述,然后动手。
三、三种传输方式怎么选
MCP 服务器有三种接法,区别在"服务器跑在哪":
STDIO 是主流。大多数官方服务器都是 npm 包,Claude Code 用 npx 直接把进程拉起来,进程之间走标准输入输出通信,简单可靠。HTTP 和 SSE 适合你自己部署的远程服务——团队共用一个 MCP 服务器时,改一处配置全员生效,比每人本地跑一份强。
四、拿 GitHub 开刀:第一个实战
GitHub 服务器是上手 MCP 最经典的选择,配置长这样:
{”mcpServers”: {”github”: {”command”: ”npx”,”args”: [”-y”, ”@modelcontextprotocol/server-github”],”env”: {”GITHUB_PERSONAL_ACCESS_TOKEN”: ”your-token”}}}}
Token 在 github.com/settings/tokens 申请,权限按需勾选。
配置好之后试个完整流程:
帮我把当前的修改推送到 GitHub,然后创建一个 PR,标题是”添加新功能”
它会自己检查 git 状态、建分支、提交、推送、调 MCP 工具创建 PR,最后把 PR 链接甩给你。一条指令走完平时半小时的活儿。
数据库也是高频场景。接上 SQLite 服务器之后:
查询数据库中最近注册的 10 个用户
它连库、执行查询、格式化结果一气呵成。SELECT、连表、排查数据问题,都变成对话了。常用的还有 filesystem(指定目录的文件访问)、puppeteer(浏览器自动化,能打开网页截图分析页面设计)、brave-search(联网搜索)。
五、四个最佳实践
项目级配置优先。前端项目接浏览器测试,后端项目接数据库,各用各的 .claude/mcp.json。更重要的是它能提交到 Git——团队成员克隆项目后直接用同一套服务,新人零配置。全局配置堆得多了,迟早乱。
密钥环境变量化。这条是红线:token 永远不要硬编码进配置文件。配置一旦提交到 Git,密钥就等于公开了。正确姿势是配置文件里只写引用:
{”env”: {”GITHUB_TOKEN”: ”$GITHUB_TOKEN”}}
版本锁定。npx -y 默认永远拉最新版 MCP 服务器,新版本可能引入不兼容改动,服务器也可能突然改名或下架。在包名后加 @版本号,锁定经过验证的版本:
{”args”: [”-y”, ”@modelcontextprotocol/server-github@1.2.3”]}
文档化配置。项目里 MCP 服务器多了之后,在 .claude/ 下放一个 README.md,写清每个服务器的用途、需要的 token、去哪申请。新成员上手的沟通成本能砍掉一大半。
六、坏了怎么查
MCP 出问题有个方便之处:诊断这件事本身也可以交给它。
我的 MCP 服务器连接不上了,帮我检查一下
它会自动查配置文件格式、验证环境变量、测试服务器连接、给出修复建议。GitHub 工具调用失败、sqlite 一直显示连接中,都能这样问。
常见的坑集中在四类:
自查利器还是 /doctor。输出一目了然:哪个服务器连上了、暴露了多少个工具、哪个失败了、失败原因是什么,末尾还附建议。它甚至能区分"12 个工具正常"和"连不上,数据库文件路径不对"这两种状态——别自己瞎猜,先跑 /doctor。
七、Claude Code vs Claude Desktop
很多人是从 Claude Desktop(桌面版聊天应用)认识 MCP 的。两个都支持 MCP,但对开发者来说差异很大:
/doctor | ||
一句话:写代码选 Claude Code,MCP 的管理体验完全不在一个量级;Desktop 的 MCP 适合非开发场景。
八、该不该接:一张决策表
最后一句话:上一篇文章说 Claude Code 是"坐在终端里等你下指令的工程师";接上 MCP 之后,这个工程师算是拿到了公司所有系统的工牌。















































































