MCP(外部服务连接器):给 Claude 接上外部工具
📍 Claude Code 进阶

那个让洁柔受不了的复制粘贴时刻
Section titled “那个让洁柔受不了的复制粘贴时刻”5 月某天,洁柔正在改 niuxue.org 的某一篇文章。
她跟我说「等下,我看一下 GitHub 上那个 issue 的描述,顺便看看 Slack 里同事是怎么说的」——她切到浏览器,手动打开 GitHub、复制 issue 描述、回来贴给我;然后切到 Slack 找那条消息、复制、再贴。
3 次切窗口 + 3 次复制粘贴下来,她有点烦:
「为什么我每次都要当人形复制粘贴机?Claude Code 自己不能直接读 GitHub 跟 Slack 吗?」
我说:「能,这叫 MCP——给 Claude 装一个『外部服务连接器』,它直接通过 API 读 Slack / GitHub / 数据库 / Drive,你完全不用复制粘贴。」
她半信半疑配了一下,5 分钟后她说:
「这才是 AI 该有的样子嘛。」
这一篇讲的就是 MCP——Claude Code 跟外部服务之间的「通用接口」。
MCP 是什么:AI 工具圈的「USB-C」
Section titled “MCP 是什么:AI 工具圈的「USB-C」”
MCP 全称 Model Context Protocol(模型上下文协议)——由 Anthropic 在 2024 年底发起,2025 年 12 月捐给 Linux 基金会旗下新成立的 Agentic AI Foundation(AAIF,智能体 AI 基金会)托管,是一个开放标准,用来连接 AI 跟各种外部工具。
类比:
- 以前每个手机充电口都不一样(Lightning / Micro USB / Type-C / 各种乱七八糟),换设备就要换线
- 后来大家统一了 USB-C,一根线全设备通用
MCP 就是 AI 工具圈的 USB-C —— 一个统一标准,Claude Code / Cursor / ChatGPT / 任何支持 MCP 的 AI 都能用同一个 MCP 服务器。
给 Claude Code 装一个 MCP 服务器,效果:
- ✅ Claude 直接读 GitHub issue / PR 内容
- ✅ Claude 查 Slack 群里有谁说过什么
- ✅ Claude 直接 SELECT 你的 PostgreSQL 数据库
- ✅ Claude 读 Figma 设计 / 调 Notion 文档 / 拉 Sentry 错误日志
- ✅ 你完全不用复制粘贴
4 个真实场景(看完你就想装)
Section titled “4 个真实场景(看完你就想装)”
🎯 场景 1:实现 JIRA 票子 + 自动提 PR
Section titled “🎯 场景 1:实现 JIRA 票子 + 自动提 PR”「把 JIRA 票号 ENG-4521 描述的功能实现,然后在 GitHub 上提一个 PR。」
Claude 自己:
- 通过 JIRA MCP 读 ENG-4521 的需求描述
- 在你本地仓库改对应代码
- 通过 GitHub MCP 创建 PR,自动写描述
你做的事:打一句话,然后审 PR。
📊 场景 2:分析监控数据
Section titled “📊 场景 2:分析监控数据”「查一下 Sentry 跟 Statsig,看用户对 ENG-4521 这个功能用的怎么样。」
Claude 自己:
- Sentry MCP 拉错误日志
- Statsig MCP 拉 A/B 测试数据
- 汇总给你一个判断「功能稳不稳 / 用户接受度高不高」
🗄️ 场景 3:查公司数据库
Section titled “🗄️ 场景 3:查公司数据库”「找 10 个最近用过 ENG-4521 功能的用户邮箱,从我们的 PostgreSQL 里。」
Claude 直接:
- PostgreSQL MCP 跑一个 SELECT 查询
- 返回 10 个邮箱给你
你不用打开 DBeaver / 不用写 SQL——直接说人话。
📧 场景 4:Slack + Gmail 联动
Section titled “📧 场景 4:Slack + Gmail 联动”「把上面那 10 个用户拉一个反馈访谈,用 Gmail 给他们发邀请邮件。」
Claude:
- 直接调 Gmail MCP 生成邮件草稿
- 你确认后一键发出
这就是 AI 真正「替你干活」的样子——不是聊一聊,是真的把跨工具的工作流串起来。
怎么装一个 MCP 服务器
Section titled “怎么装一个 MCP 服务器”
claude mcp add 支持 3 种传输方式(transport),对应不同的服务器类型(另有一种 WebSocket 长连接方式,只能手写 JSON 格式的配置,新手用不到)。
🌐 方式 1:HTTP 远程服务器(最常用)
Section titled “🌐 方式 1:HTTP 远程服务器(最常用)”云端服务一般都走 HTTP。比如装 Notion 的 MCP:
claude mcp add --transport http notion https://mcp.notion.com/mcp带 Bearer Token 鉴权:
claude mcp add --transport http secure-api https://api.example.com/mcp \ --header "Authorization: Bearer 你的-token"💻 方式 2:本地 stdio 服务器(直跑本地脚本)
Section titled “💻 方式 2:本地 stdio 服务器(直跑本地脚本)”如果服务器是个本地脚本 / 命令行工具,用 stdio:
claude mcp add --transport stdio airtable --env AIRTABLE_API_KEY=你的key \ -- npx -y airtable-mcp-server说明:
--env传环境变量给服务器(API key 这类)--双横线之后是要跑的命令 + 参数- ⚠️ 顺序别写反:
--env和--header都能一次接好几个值,服务器名如果紧跟在它们后面,会被当成又一个值吞掉,命令直接失败,报错Invalid environment variable format: airtable或missing required argument 'name'。最稳的写法是把服务器名写在--env、--header前面,像上面这样。
📡 方式 3:SSE 远程服务器(已弃用,了解即可)
Section titled “📡 方式 3:SSE 远程服务器(已弃用,了解即可)”SSE(Server-Sent Events,服务器推送事件)是早期的远程传输方式。MCP 规范 2025-03-26 版起用 Streamable HTTP(就是方式 1 的 http)取代了它,2026-07-28 版正式列为弃用,大多数服务已经迁到 HTTP。
Claude Code v2.1.265 起,用 --transport http 去连只支持 SSE 的老服务器,会自动改走 SSE,所以一般不用手写 sse。版本更老,或者服务商明确只给了 SSE 地址时,才这样装:
claude mcp add --transport sse 名字 https://example.com/sse以前这里举的例子是 Asana 的 https://mcp.asana.com/sse,那是它的测试版地址,Asana 已宣布 2026-05-11 停用。新地址 https://mcp.asana.com/v2/mcp 走 HTTP,但要先在 Asana 注册一个 MCP 应用,拿到 client ID 和 client secret(应用的 OAuth 凭据)再装,接法见 Asana 官方说明(英文)。
装完之后管理服务器
Section titled “装完之后管理服务器”下面三条各管一件事,用哪条跑哪条。
列出所有装的服务器:
claude mcp list看 github 服务器的详细配置:
claude mcp get github删掉 github 服务器:
claude mcp remove github在 Claude Code 里看实时状态:
/mcp会弹一个面板,显示每个服务器的连接状态、提供了多少工具、有没有需要登录(OAuth)。
3 种安装范围(scope)
Section titled “3 种安装范围(scope)”
装的时候可以选这个 MCP 服务器对哪些项目生效——--scope 参数:
| Scope | 范围 | 存哪 |
|---|---|---|
| local(默认) | 只这个项目,只你自己 | ~/.claude.json |
| project | 这个项目,团队共享 | 项目根/.mcp.json |
| user | 你所有项目都生效 | ~/.claude.json |
怎么选:
- 装一个 GitHub MCP,所有项目都要用 →
userscope - 装一个 公司内部数据库 MCP,只这个项目用且团队共用 →
projectscope(.mcp.json推到 git 里,队友拉代码就有,第一次启动时要确认批准) - 装一个 个人 token 的服务器,不想推给团队 →
localscope
例子:装 GitHub MCP,所有项目都能用(命令里的「你的PAT」换成你的 GitHub 个人访问令牌):
claude mcp add --transport http --scope user github https://api.githubcopilot.com/mcp/ \ --header "Authorization: Bearer 你的PAT"GitHub 的远程 MCP 服务器靠 PAT(Personal Access Token,GitHub 个人访问令牌)鉴权,令牌放在请求头里。PAT 在 github.com/settings/personal-access-tokens 生成,选细粒度令牌(fine-grained),只给需要让 Claude 碰的仓库。claude mcp add 不检查令牌对不对,漏了或写错也能加进去,要到 /mcp 里看到连接失败才发现。
安全:装之前看 3 件事
Section titled “安全:装之前看 3 件事”
MCP 服务器能调你账号下的 API(读 GitHub / 改 Notion / SELECT 数据库)——装错一个就可能泄露数据。装之前必看 3 件事:
✅ 1. 看是不是官方源 / Anthropic 目录验证过
Section titled “✅ 1. 看是不是官方源 / Anthropic 目录验证过”Anthropic Connector 目录 里收录的 MCP 服务器都经过审核——优先用目录里有的。
✅ 2. 看权限范围
Section titled “✅ 2. 看权限范围”很多 MCP 服务器要 OAuth 授权——看清楚它要哪些权限:
- 「Read GitHub repos」 → 合理,装
- 「Read & write all your GitHub repos including private」 → 看清楚再装
- 「Read your entire Gmail inbox」 → 重要场景慎装
✅ 3. 看是不是开源 + 有人在维护
Section titled “✅ 3. 看是不是开源 + 有人在维护”第三方 MCP 服务器优先选:
- ✅ GitHub 仓库开源
- ✅ 最近 3 个月有更新
- ✅ 装机量 1000+ / star 100+
新作者 + 闭源 + 少人用 + 要敏感权限 —— 直接拒绝。
几个值得装的 MCP 服务器(2026-09 核对)
Section titled “几个值得装的 MCP 服务器(2026-09 核对)”| 服务器 | 装什么 | 用途 |
|---|---|---|
| GitHub | claude mcp add --transport http github https://api.githubcopilot.com/mcp/ --header "Authorization: Bearer 你的PAT" | 读 / 改 GitHub issue / PR / repo |
| Notion | claude mcp add --transport http notion https://mcp.notion.com/mcp | 读 / 改 Notion 页面 |
| 数据库(DBHub) | claude mcp add --transport stdio db -- npx -y @bytebase/dbhub --dsn "postgresql://readonly:pass@host:5432/db" | 用只读账号跑 SQL 查询;PostgreSQL 之外也能连 MySQL、SQLite 等 |
| Slack | 在 claude.ai/customize/connectors 添加并授权,用 claude.ai 订阅登录的 Claude Code 会自动同步过来 | 读 / 发消息 |
| Figma | claude mcp add --transport http figma https://mcp.figma.com/mcp(装完在 /mcp 里登录) | 读设计文件 |
| Sentry | claude mcp add --transport http sentry https://mcp.sentry.dev/mcp(装完在 /mcp 里登录) | 读错误日志 |
几点说明:
- 数据库那行换成了 DBHub,这也是 Claude Code 官方文档现在的示例。原来常见的官方参考包
@modelcontextprotocol/server-postgres已停止维护、在 npm 上标了弃用,还有能绕过只读限制的 SQL 注入漏洞,别再装。连接串里一定用只读账号,Claude 跑的查询就改不了数据。 - 表里没放 Filesystem(文件系统)服务器:Claude Code 自带读写文件的工具,要访问项目外的目录,启动时加
--add-dir 路径,或在会话里用/add-dir就行;这个服务器主要给没有文件工具的客户端用。 - claude.ai 上添加的连接器(比如 Slack)只在你用 claude.ai 订阅登录 Claude Code 时才会同步过来;用 API key 或接 DeepSeek 时不会加载。
全清单:到 Anthropic 目录(claude.ai/directory)浏览经过审核的连接器。
3 个新手最容易踩的坑
Section titled “3 个新手最容易踩的坑”❌ 坑 1:装一堆 MCP 但用不上
Section titled “❌ 坑 1:装一堆 MCP 但用不上”新手第一周容易一口气装 10 个 MCP 服务器。后果分两种情况:
- 用 Claude 账号登录(官方订阅或 API):Claude Code 默认开着「工具搜索」,启动时只加载工具名,用到时才加载完整说明,多装几个对上下文影响不大。但每个服务器都是一个能动你账号的入口,装多了更难管。
- 接 DeepSeek 等第三方地址(设了自定义的
ANTHROPIC_BASE_URL):工具搜索会自动关闭,所有工具的完整说明一启动就全塞进上下文。装得越多,每轮对话越贵,模型也越容易被无关工具干扰。
修正:先装 2-3 个你真的每天用的(比如 GitHub、一个数据库),其他用到再装。用不上的用 claude mcp remove 名字 删掉,或者在 /mcp 面板里对当前项目关掉(配置还留着)。
❌ 坑 2:以为装完就能用,其实还没登录
Section titled “❌ 坑 2:以为装完就能用,其实还没登录”很多远程 MCP 要 OAuth 授权(在浏览器里登录并点「同意」)。claude mcp add 只把配置写进去,不会帮你登录,这时服务器状态是 ! Needs authentication(需要登录)。
修正:装完进 Claude Code 打 /mcp,选中这个服务器,按提示在浏览器里登录;也可以直接在终端跑 claude mcp login 名字。状态变成 ✔ Connected(已连接)才算装好。其他常见状态:
✘ Failed to connect(连不上):先查地址和令牌,像 GitHub 那种令牌写在请求头里的,令牌错了也显示这个⏸ Pending approval(等待批准):项目.mcp.json里还没批准的服务器,在这个项目里启动claude,按提示批准就行
❌ 坑 3:MCP 工具输出太大
Section titled “❌ 坑 3:MCP 工具输出太大”MCP 工具的返回值有上限(2.1.283 默认 25,000 token,超过 10,000 token 会先给警告)。超过上限时,Claude Code 会把完整结果存成文件,对话里只留文件路径,Claude 要用时再去读。如果你查的内容大(比如大表查询),就得多花几步读文件。
修正:用 MAX_MCP_OUTPUT_TOKENS=50000 claude 启动,把上限调高(Windows PowerShell 先运行 $env:MAX_MCP_OUTPUT_TOKENS=50000,再运行 claude)。或者在 prompt 里限定返回大小(「只返回前 10 行」)。
MCP 跟 Plugin 跟 Hook 的区别
Section titled “MCP 跟 Plugin 跟 Hook 的区别”新手常搞混,一表对齐:
| Hook | MCP | Plugin | |
|---|---|---|---|
| 本质 | 在生命周期挂一个 shell 命令 | 给 Claude 加一组新工具 | 打包好的功能集合(可含 Skill + Tool + Hook + MCP) |
| 典型用法 | 自动 format / 自动 git add / 桌面通知 | 让 Claude 直接调 GitHub / Slack API | 装一套现成的代码 review 工作流 |
| 配置 | settings.json hooks 段 | claude mcp add,或手写项目根目录的 .mcp.json | /plugin install <名字> |
| 跨工具用 | ❌ 仅 Claude Code | ✅ 任何支持 MCP 的 AI(Claude / Cursor / ChatGPT) | ❌ 仅 Claude Code |
记住一句话:
- MCP = 给 Claude 加「新感官」(让它能看 GitHub / 听 Slack)
- Hook = 给 Claude 加「反射动作」(它一改文件你的脚本就跑)
- Plugin = 别人打好的「套餐」
读完这一篇你应该会:
- 用 USB-C 类比理解 MCP 是什么
- 用
claude mcp add装第一个 MCP 服务器 - 知道 4 个真实场景 + 3 种 transport + 3 种 scope
- 安全把关 装之前看 3 件事
想懂 MCP 的协议原理、怎么自己写一个 server?→ MCP 协议详解(Agent 通用知识板块的深入版)
接下来「Claude Code 进阶」板块还有:
→ 自定义 Slash Command:把团队规范变成 /xxx
→ Subagents(子智能体):多个 Claude 并行干活
→ Git Worktree:多个 Claude 各改各的不打架
想及时看到更新,可以收藏 niuxue.org 主页。