第 9 章 / 共 12 章
接入外部世界:MCP 与插件
9.1 什么时候需要往外接
到第 8 章为止,Claude Code 的能力都局限在你的文件系统和 shell 里。但真实工作里,很多信息不在仓库中:工单在 Jira,日志在监控平台,数据在数据库,设计稿在设计工具里。
MCP(Model Context Protocol)就是把这些外部系统接进来的标准接口。接进来之后,它可以直接查工单、读日志、执行只读 SQL,而不需要你手工复制粘贴。

9.2 接入三步
第一步:添加服务器。 远程 HTTP 服务器:
claude mcp add --transport http notion https://mcp.notion.com/mcp
本地进程(stdio):
claude mcp add --transport stdio my-db -- npx -y some-database-mcp
带鉴权头:
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer $GITHUB_TOKEN"
第二步:选作用域。 三种:
| 作用域 | 存在哪 | 适用 |
|---|---|---|
| local(默认) | 你的本地配置 | 只有你、只在这个项目用 |
| project | 项目里的 .mcp.json | 团队共享,进版本库 |
| user | 你的全局配置 | 你所有项目都用 |
团队共享的写法:
claude mcp add --transport http stripe --scope project https://mcp.stripe.com
对应的 .mcp.json:
{
"mcpServers": {
"stripe": {
"type": "http",
"url": "https://mcp.stripe.com"
},
"internal-db": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@acme/db-mcp"],
"env": {
"DATABASE_URL": "${READONLY_DATABASE_URL}"
}
}
}
}
注意 ${READONLY_DATABASE_URL} 这种环境变量展开——永远不要把密钥直接写进会提交的 .mcp.json。
第三步:验证。
claude mcp list
会话里用 /mcp 查看连接状态、完成 OAuth 登录、或临时禁用某个服务器。
9.3 一个重要的取舍:MCP 不总是最优解
官方成本文档里有一条容易被忽略的建议:能用 CLI 工具解决的,优先用 CLI 工具,而不是 MCP 服务器。
理由是上下文成本。一个 MCP 服务器会把它的全部工具定义放进上下文,哪怕这次任务一个都用不上。而 gh、aws、kubectl 这类命令行工具,Claude Code 本来就能通过 Bash 调用,成本接近于零。
一个实际的判断顺序:
- 这件事有成熟的 CLI 吗?有就用 CLI(
gh pr list、aws s3 ls); - 没有 CLI,但有官方 MCP 服务器?接 MCP;
- 都没有?考虑写个小脚本,比接一个第三方 MCP 更可控。
9.4 插件:把一整套配置打包分发
插件可以把技能、子代理、钩子、MCP 配置打成一个包,一次安装。首次交互式启动时,官方市场会自动加入;社区市场需要手动添加:
/plugin marketplace add anthropics/claude-plugins-community
然后浏览和安装:
/plugin
插件详情页会显示一个很有用的信息:上下文成本估算。装之前看一眼,你就知道这个插件会吃掉多少预算。
已安装列表里还有一个”最近未使用”分组(按一定时间和会话数统计),这是官方专门为裁剪上下文成本设计的入口。定期去这个分组里清理,是一个见效很快的习惯。
有一类插件对静态类型语言特别值得装:代码智能(LSP)插件。装上对应语言的 LSP 后,它编辑完能立刻拿到类型诊断,也能直接跳转定义,而不必”grep 一下再读五个文件”。需要注意的是,LSP 插件依赖本机安装对应的语言服务器。
9.5 信任:这一节请不要跳过
官方文档对插件的措辞非常直接:
插件和市场是高度可信的组件,能以你的用户权限在你的机器上执行任意代码。
MCP 服务器同理,官方的说法是:连接前先确认你信任这个服务器;会抓取外部内容的服务器会带来提示注入风险。Anthropic 会按上架标准审核目录里的连接器,但不对任何 MCP 服务器做安全审计或托管。
一份实用的接入前检查清单:
- 这个服务器是官方发布的,还是第三方的?
- 它需要哪些凭据?能不能给一个只读的、最小权限的?
- 它会不会把我的代码或数据发到外部?
- 它抓取的内容会不会进入我的上下文?(如果会,那些内容就是不可信输入)
- 团队共享的
.mcp.json里有没有硬编码的密钥?
关于最后两条,第 12 章会展开讲提示注入的具体形态。
9.6 社区生态:怎么看待那些高星仓库
社区里有大量围绕 Claude Code 的项目:配置模板集合、子代理合集、钩子示例、使用量统计工具、甚至把 Claude Code 指向其他模型供应商的路由器。它们的星标数往往很高。
几条务实的建议:
- 索引类项目(各种 awesome 清单)适合用来找灵感,但里面的链接质量参差,也不经 Anthropic 审核;
- 大规模注入型框架(一次性给你几十个命令和代理)恰恰是官方警告的上下文膨胀来源。它们宣称的”节省 token”多数没有独立验证;
- 模型路由类项目把 Claude Code 指向非 Anthropic 模型,这超出官方支持范围,也可能触及服务条款,不建议初学者碰;
- 看维护状态而不是星标数。有些被广泛引用的钩子示例仓库已经半年没有更新,而钩子的字段在此期间已经变过。
判断一个社区项目值不值得用,比看星标有效的三个信号是:最近一次提交时间、issue 是否有人回、以及它有没有明确的许可证。
9.7 常见坑
9.8 本章练习与检查点
你现在的成果:你的 Claude Code 现在能看到仓库以外的世界了,而且你知道每接一样东西的代价和风险各是什么。