一文搞懂 MCP:让 AI 不止会聊天,还能帮你干活
从零开始,手把手带你玩转 MCP(Model Context Protocol)
开篇:你有没有这种困惑?
用 ChatGPT、Claude 这些 AI 助手的时候,是不是经常遇到这样的尴尬:
-
"帮我看看今天茅台涨了还是跌了?" → AI 说数据只到去年
-
"把我 GitHub 上的 issue 整理一下。" → AI 说它访问不了
-
"这个网页里写了什么?" → AI 让你自己复制粘贴
AI 脑子确实聪明,但它的眼睛看不到外面,手也伸不出去——它是一个困在聊天框里的天才。
MCP 就是给这个天才装上了眼睛和双手。
一、MCP 到底是个啥?
一句话解释
MCP(Model Context Protocol,模型上下文协议)是一种标准协议,让 AI 助手能够调用外部工具、访问实时数据。
打个比方:
| 比喻 | 对应 | 说明 |
|---|---|---|
| 🧠 AI 模型本身 | 大脑 | 能思考、能推理、能计算 |
| 🔌 MCP 协议 | 神经系统 | 把大脑的指令传给手脚 |
| 🛠️ MCP 服务器 | 手和眼睛 | 具体干活的东西 |
没有 MCP 的 AI:你问"今天天气怎么样?",它说"我的数据截止到去年……"
有了 MCP 的 AI:你问"今天天气怎么样?",它真的去查了天气接口,然后告诉你现在的温度。
MCP 能做什么?
举几个真实例子(这些就是本文作者实际在用的):
-
📈 查股票:实时行情、K线数据、财务报表、技术指标,对话中就能完成完整分析
-
🗓️ 查黄历/排八字:输入生日,直接排出八字命盘
-
🌐 读网页:给一个链接,AI 直接抓取内容然后总结给你
-
🐙 管 GitHub:创建 Issue、查看 PR、管理仓库
-
🗄️ 操作数据库:AI 直接写 SQL 查数据、分析报表
-
🌍 浏览器自动化:打开网页、截图、填表单、自动化测试
一句话:你能想到的需要"联网"或"操作外部系统"的事,MCP 基本都能搞定。
二、MCP 是怎么工作的?
两种连接方式
MCP 服务器有两种存在形式:
方式一:远程服务(HTTP 模式)
你的电脑 → 互联网 → 远程 MCP 服务器(别人搭好的)
就像调用一个 API,配好地址就能用。比如 GitHub 的 MCP 服务就托管在 GitHub 的服务器上。
方式二:本地进程(命令行模式)
Claude Code → 启动一个本地程序 → 这个程序提供工具
MCP 服务器直接跑在你电脑上,Claude 跟它通信。比如 Playwright MCP 会在你本地启动浏览器。
一个完整的调用流程
你:帮我看看平安银行今天行情怎么样?
↓
Claude:(需要查股票数据 → 找可用的 MCP 工具 → 发现 china-stock-mcp 有 get_realtime_data)
↓
Claude → 调用 get_realtime_data("000001")
↓
MCP 服务器 → 获取实时行情 → 返回数据
↓
Claude → 解读数据 → 用自然语言回复你
↓
你看到:今天平安银行报收 XX.XX 元,涨跌幅 +X.XX%...
全程你不需要知道工具名叫啥,你只负责说人话就行。
三、怎么配置 MCP?
配置文件放在哪?
MCP 用 JSON 文件配置,有三个级别:
| 配置文件 | 位置 | 谁能用 | 建不建议提交 Git |
|---|---|---|---|
.mcp.json |
项目根目录 | 该项目所有人 | ✅ 推荐提交 |
~/.claude.json |
用户个人目录 | 仅你自己 | ❌ 不提交 |
| 插件自带 | 插件目录 | 安装插件的用户 | 随插件分发 |
远程服务的配置(HTTP 模式)
比如连接一个 GitHub MCP:
{
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
}
}
注意 Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN} 这一行——密钥用环境变量,不要硬编码在文件里。
本地进程的配置(命令行模式)
比如在项目里配一个 PostgreSQL 数据库的 MCP:
{
"postgres": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-postgres", "postgresql://localhost/mydb"]
}
}
command 是启动程序(npx、python、node、docker 都可以),args 是参数。保存文件后重启对话,工具就生效了。
团队协作的最佳实践
把 .mcp.json 签入项目 git 仓库,团队成员 pull 下来就能用同一套工具。比如你们公司内部有个数据查询接口,配置好 MCP 后,全团队跟 AI 对话都能直接查数据,不用每个人都去学 SQL。
四、在对话里怎么用?(重点)
你不需要记任何工具名。
这是 MCP 最大的设计亮点——你只管用自然语言提需求,AI 自己会选择合适的工具。
以下是你跟 Claude 说话,它底层自动调用的对应关系:
| 你说的话 | Claude 默默做的事 |
|---|---|
| "今天大盘怎么样?" | 调用行业板块分析、查看涨跌家数 |
| "帮我分析 000001" | 拉行情数据、财务指标、技术图形 |
| "有哪些半导体股票在涨?" | 热门行业排行 + 连涨选股 |
| "算一下 2000 年正月十五出生的八字" | 调 Bazi-MCP 排盘 |
| "把这篇文章翻译一下" | fetch 网页 → 翻译 |
你用 MCP 的时候跟在用普通 AI 完全一样——唯一区别是,它能真正帮你"干活"了。
五、常见问题 FAQ
Q1:我怎么知道当前有哪些 MCP 工具?
在 Claude Code 里输入 /mcp 就能看到所有已连接的 MCP 服务。或者在对话里直接问"你有哪些工具?"。
Q2:工具调用失败了怎么办?
最常见三种原因:
-
本地进程没装依赖 → 检查 Node.js、Python 环境
-
API Key 过期 → HTTP 模式的常见问题,重新配一下
-
网络不通 → 少见,检查防火墙和代理
排错命令:claude --mcp-debug,会显示详细的 MCP 调用日志。
Q3:配了 MCP 会不会泄露隐私?
-
本地进程模式:数据不出电脑,隐私最安全
-
HTTP 模式:数据会发送到远程服务器,确保你信任那个服务
不管哪种,别把密钥硬编码在 JSON 文件里,用环境变量 ${VAR} 引用。
Q4:MCP 和传统的 API 调用有什么区别?
传统方式:你要自己写代码调 API、解析 JSON、格式化输出; MCP 方式:你说一句话,AI 完成上面所有步骤,给你整理好的结果。
MCP 是把"API 调用"这件事对普通用户透明化了。
六、手把手实战:以 GitHub MCP 为例
上面的内容比较概念化。接下来用一个真实案例——安装 GitHub MCP 插件并打通——让你看看整个过程有多简单,以及遇到问题该怎么排错。
6.1 第一步:安装插件
在 Claude Code 里输入一条命令:
/plugin install github
系统输出:
✓ Installed github. Run /reload-plugins to apply.
装好了。但这时工具还不能用——因为它需要你证明你有访问 GitHub 的权限。
6.2 第二步:重载插件(第一次尝试)
按提示执行:
/reload-plugins
再去 /mcp 面板里看:
Failed to reconnect to plugin:github:github.
连不上。 这是新手最容易遇到的坑。别慌,看看插件配置文件就明白了。
6.3 第三步:看配置,找问题
插件的 .mcp.json 长这样:
{
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
}
}
注意 Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN} 这行——它在引用一个叫 GITHUB_PERSONAL_ACCESS_TOKEN 的环境变量,而当前系统里没设这个变量。GitHub 服务器收到空的 Token,直接拒绝了连接。
问题根因:缺 GitHub 访问令牌。
6.4 第四步:创建 GitHub Token
-
打开浏览器,登录 GitHub → Settings → Developer settings → Personal access tokens
-
点 "Generate new token (classic)"
-
勾选
repo、read:user这些基本权限 -
点生成,立刻复制 Token(关掉页面就看不到了)
生成出来的 Token 类似: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
6.5 第五步:写入环境变量
打开 ~/.claude/settings.json,在 env 字段里加上:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-xxxxxxxx",
"ANTHROPIC_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro",
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
},
"enabledPlugins": {
"github@claude-plugins-official": true
}
}
⚠️ 注意:Token 存配置文件里有泄露风险。实际使用时建议 Token 权限收窄到只勾
public_repo和read:user,够用就行。
6.6 第六步:重载,验证
再次执行 /reload-plugins:
Reloaded: 1 plugin · 0 skills · 5 agents · 0 hooks · 1 plugin MCP server
1 plugin MCP server——这次带上了!
6.7 第七步:真正使用
在对话里说一句:
"看看我有哪些 GitHub 仓库"
Claude 自动调用了 get_me 工具获取你的 GitHub 身份:
登录名: xxx 公开仓库: 1 个
然后自动调用 search_repositories,返回:
| 仓库名 | 描述 | 链接 |
|---|---|---|
| skills-introduction-to-github | My clone repository | github.com/xxx/skills-introduction-to-github |
全程你就说了 9 个字。 没有手写 API 调用,没有解析 JSON,没有拼接 URL。
6.8 GitHub MCP 还能做什么?
安装这个插件后,Claude 获得了 30+ 个 GitHub 操作工具,包括:
| 分类 | 可以做的事 |
|---|---|
| 📂 仓库管理 | 查看仓库、列目录、读文件、创建/修改文件 |
| 📝 Issue | 创建 Issue、查看、修改状态、添加评论 |
| 🔀 Pull Request | 创建 PR、查看 diff、review、合并 |
| 📊 搜索 | 搜代码、搜仓库、搜 Issue、搜用户 |
| 🏷️ 标签与发布 | 管理标签、创建 Release |
| 🌿 分支 | 查看分支、创建新分支 |
常用的对话场景:
| 你说的话 | Claude 做的事 |
|---|---|
| "帮我创建一个 Issue:登录页样式炸了" | Issue 创建完成,返回链接 |
| "这个 PR 改了什么?" | 拉 diff、总结变更 |
| "把最近的 commit 整理成周报" | 查 commit 历史 → 归纳汇总 |
| "这个 bug 在代码里哪里出现的?" | GitHub 搜索代码 → 定位文件 |
| "帮我 Review 一下 #42 这个 PR" | 读代码变更 → 逐条给出建议 |
七、入门路线总结
-
先体验 → 按上面的教程装 GitHub MCP 插件,10 分钟搞定,感受 MCP 能做什么
-
再扩展 → 在项目里写
.mcp.json,配跟你工作直接相关的服务(前端配 Playwright,后端配 Postgres) -
进阶 → 自己开发 MCP 服务器,封装团队特有的工具。不难,一小时能搞出原型
结尾
MCP 并不是什么高深的技术,它本质上就是给 AI 接上外部世界的插头。
配置好了之后你会发现:AI 从一个"只能陪你聊天"的工具,变成了一个真正能帮你完成工作的助手。
如果你还在观望,不妨现在就装上第一个 MCP 插件,试一下——我敢说试完之后,你就回不去纯聊天模式了 😄
所有评论(0)