Claude Code MCP:让 AI 连接 GitHub、数据库等一切工具
什么是 /mcp
用 Claude Code 写代码的时候,你可能遇到过这样的情况:
- 想让 Claude Code 直接查数据库,但它访问不了
- 想让它帮你操作 GitHub issue,但它只能用
gh命令行 - 想让它读取 Confluence 或 Notion 里的文档,但它够不着
Claude Code 本身的能力是有边界的——它能读写本地文件、执行 shell 命令,但对于外部服务和数据源,它就束手无策了。
这就是 /mcp 命令的用武之地。
/mcp 是 Claude Code 的一个斜杠命令,用来管理 MCP(Model Context Protocol)服务器。MCP 服务器就像”插件”,能让 Claude Code 连接到各种外部工具和数据源,获得原本不具备的能力。
先搞懂 MCP 是什么
MCP 全称是 Model Context Protocol(模型上下文协议),是 Anthropic 推出的一个开放标准。
你可以把它理解为 AI 的 USB 接口——一个统一的协议,让 AI 模型能够连接各种外部工具和数据源。有了 MCP,Claude Code 就不再局限于本地文件和 shell 命令,而是可以和数据库、API、云服务等各种系统对话。
一个 MCP 服务器本质上就是一个小程序,它:
- 实现了 MCP 协议
- 提供了一组特定的工具(比如”查询数据库”、“创建 GitHub issue”)
- Claude Code 通过协议调用这些工具,就像调用自己内置的工具一样
怎么用
查看已配置的 MCP 服务器
在 Claude Code 交互模式下输入:
/mcp
会列出当前所有已配置的 MCP 服务器及其状态。
添加 MCP 服务器(命令行)
在终端中使用 claude mcp add 命令:
claude mcp add <名称> <启动命令> [参数...]
比如,添加一个文件系统 MCP 服务器:
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem /path/to/dir
用 JSON 添加(更灵活)
如果需要配置环境变量等复杂选项,可以用 add-json:
claude mcp add-json github-server '{
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your-token-here"
}
}'
删除 MCP 服务器
claude mcp remove <名称>
列出所有服务器
claude mcp list
配置作用域
MCP 服务器的配置可以存在不同的位置,影响范围不同:
| 作用域 | 存储位置 | 影响范围 | 参数 |
|---|---|---|---|
| project | 项目根目录 .mcp.json | 仅当前项目,可提交到 git 共享 | --scope project |
| user | ~/.claude/.mcp.json | 所有项目 | --scope user |
项目级配置(推荐团队使用)
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem ./data --scope project
这会写入项目根目录的 .mcp.json 文件。提交到 git 后,团队里每个人用 Claude Code 时都能自动连接这些 MCP 服务器。
用户级配置(个人使用)
claude mcp add my-db npx -y @modelcontextprotocol/server-postgres postgres://localhost/mydb --scope user
这会写入 ~/.claude/.mcp.json,只对你自己生效,所有项目都能用。
有哪些实用的 MCP 服务器
MCP 生态正在快速发展,这里列几个常用的:
| MCP 服务器 | 用途 | 安装命令 |
|---|---|---|
| Filesystem | 受控的文件读写 | @modelcontextprotocol/server-filesystem |
| GitHub | 操作 GitHub 仓库、issue、PR | @modelcontextprotocol/server-github |
| PostgreSQL | 查询 PostgreSQL 数据库 | @modelcontextprotocol/server-postgres |
| SQLite | 查询 SQLite 数据库 | @modelcontextprotocol/server-sqlite |
| Brave Search | 网络搜索 | @modelcontextprotocol/server-brave-search |
| Puppeteer | 浏览器自动化 | @modelcontextprotocol/server-puppeteer |
| Memory | 基于知识图谱的持久化记忆 | @modelcontextprotocol/server-memory |
| Slack | 读取和发送 Slack 消息 | @modelcontextprotocol/server-slack |
更多 MCP 服务器可以在 GitHub 上搜索 awesome-mcp-servers,社区维护了不少精选列表。
实际使用场景
场景一:连接数据库做数据分析
添加 PostgreSQL MCP 服务器后,你可以直接跟 Claude Code 说:
帮我查一下 users 表里过去 7 天注册的用户数量,按天分组
Claude Code 会通过 MCP 服务器直接查询数据库,返回结果。不需要你自己写 SQL,也不需要复制粘贴查询结果。
场景二:让 Claude Code 管理 GitHub
添加 GitHub MCP 服务器后,Claude Code 能做的事情更多了:
- 创建和关闭 issue
- 查看 PR 的详细信息和评论
- 搜索仓库中的代码
- 读取其他仓库的文件
场景三:连接知识库
如果你的团队文档在 Notion 或 Confluence 里,通过对应的 MCP 服务器,Claude Code 可以直接查阅文档内容,而不是你手动复制粘贴给它。
实际使用技巧
技巧一:项目级配置提交到 git
把 .mcp.json 提交到仓库,团队成员 clone 下来就能用。但注意——不要把 API key 和密码写在 .mcp.json 里。敏感信息应该通过环境变量传入,或者放在用户级配置中。
技巧二:用环境变量管理密钥
claude mcp add-json my-api '{
"command": "npx",
"args": ["-y", "some-mcp-server"],
"env": {
"API_KEY": "${MY_API_KEY}"
}
}'
把实际的密钥放在 .env 或 shell 配置里,.mcp.json 中只引用变量名。
技巧三:按需添加,不要贪多
每个 MCP 服务器都会占用 Claude Code 的上下文空间(因为需要描述可用的工具)。添加太多不常用的服务器会浪费 token。建议只添加你当前项目确实需要的。
技巧四:用 /mcp 排查问题
如果某个 MCP 服务器没有正常工作,在交互模式下输入 /mcp 查看状态。它会显示每个服务器是否成功连接、提供了哪些工具。连接失败的服务器会有明显的错误提示。
.mcp.json 长什么样
一个典型的项目级 .mcp.json 文件:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "./docs"]
},
"database": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "${DATABASE_URL}"
}
}
}
}
结构很简单:mcpServers 对象下面,每个 key 是服务器名称,value 是启动配置——包括启动命令、参数和环境变量。
/mcp vs 手动配置
| /mcp + CLI 命令 | 手动编辑 .mcp.json | |
|---|---|---|
| 易用性 | 命令行交互,不容易出错 | 需要手写 JSON,可能格式出错 |
| 速度 | 一行命令搞定 | 需要找到文件、编辑、保存 |
| 灵活性 | 覆盖常见场景 | 可以写任意配置 |
| 适用场景 | 日常添加/删除服务器 | 批量配置、复杂场景 |
两种方式最终写入的是同一个配置文件,选哪个都行。日常使用推荐 CLI 命令,批量配置或者需要精细调整时直接编辑文件。
写在最后
/mcp 是 Claude Code 里一个扩展性极强的命令。它解决的问题很本质:让 Claude Code 不再局限于本地文件和终端命令,而是能连接到你的整个开发生态。
数据库、GitHub、文档系统、云服务——只要有对应的 MCP 服务器,Claude Code 就能直接操作。这把 AI 编程助手从”只能看代码”升级到了”能接触到你工作中的方方面面”。
下次遇到”要是 Claude Code 能直接查数据库就好了”这样的念头时,想想 MCP——很可能已经有现成的服务器可以用了。
更多同类文章
- 我做了个机器人,让团队在飞书里用 Claude Code
- Claude Code /fast:同样的 Opus,两倍速——值不值?
- Claude Code /init:10 秒自动生成 CLAUDE.md
- Claude Code /model:Opus、Sonnet、Haiku 怎么选?
- Claude Code 使用指南:从安装到实战,一篇就够(2026)
- Claude 全家桶:从聊天到写代码到自动办公,一文讲清楚
- CCBot - 研发提效 24 倍
- 震惊!程序员用这个工具,4分钟干完95分钟的活!效率暴涨24倍
- Claude Code /add-dir:被低估的 Monorepo 神器
- Claude Code /compact:释放上下文,不丢进度
- Claude Code /btw 命令详解:不打扰主线的快问快答
- Claude Code /stats:看看 AI 到底帮你写了多少代码
- Claude Code /status 命令详解:一眼看清会话全貌
- AI-first 创业公司,为什么只需要一种编程语言?
- Claude Code 引用外部知识的最佳实践:GitHub MCP + Context7
- Claude Code 省 Token 小技巧:感叹号的妙用
- Claude Code /resume 命令详解:别让对话白聊
- Claude Code /usage 命令详解:你的额度还剩多少
- Claude Code /tasks 命令详解:后台任务尽在掌控
- Claude Code Skills 详解:打造你的专属命令库
- Claude Code /plan 详解:先想清楚再动手
- Claude Code /memory 详解:让 AI 真正记住你的项目
- cc-ping:一行命令 Ping 所有 Claude Code 配置