如果说 LLM 是大脑,那 MCP (Model Context Protocol) 就是手脚。
没有 MCP 的 Claude Code,充其量也就是个在 Terminal 里跑的高级聊天机器人。它能给你写代码,但不能改文件;它能告诉你怎么做,但不能帮你做。
MCP 的出现,本质上是把 AI 从“沙盒”里放了出来,通过标准化的协议(JSON-RPC),让 AI 能够直接调用系统级的 API。这才是 AI 辅助编程该有的样子——不是在旁边指指点点,而是直接下场干活。
废话不多说,Show me the code。
30秒极速上手:先跑通再通过
对于工程师来说,没有什么比跑通第一个 “Hello World” 更重要的了。如果你只想最快速度让 Claude 能读写你的文件,直接跑这一行:
# 一行命令赋予文件读写权限(Local 作用域)
claude mcp add filesystem -s user -- npx -y @modelcontextprotocol/server-filesystem ~/Documents ~/Desktop
# 检查是否挂载成功
claude mcp list
如果这就报错了(特别是国内网络环境),别急,后面有专门的“填坑指南”。
工程化配置:三种姿势
仅仅会用 CLI 添加是远远不够的。在实际的工程实践中,我们需要根据场景选择不同的配置方式。
1. 命令行一把梭 (CLI)
适合:快速验证、临时测试
语法很简单:claude mcp add <名称> <命令> [参数...]。
但要注意,如果是带环境变量的复杂服务,命令行很容易敲错:
# 这种带 Token 的,命令行敲错一个字符就得重来
claude mcp add github -s user -e GITHUB_TOKEN=your-token -- npx -y @modelcontextprotocol/server-github
2. 配置文件即代码 (Config as Code)
适合:Power User、持久化配置
这才是正经的配置方式。与其在命令行里跟转义字符搏斗,不如直接改 JSON。
配置文件路径(记下来,很有用):
- macOS/Linux:
~/.claude.json - Windows:
%USERPROFILE%\.claude.json
打开它,你会发现结构非常清晰。你可以像写代码一样管理你的工具:
{
"mcpServers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/hao/Documents"],
"env": {}
},
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "这里填你的Token"
}
}
}
}
改完配置,重启 Claude Code 即可。这种方式清晰、可控、易于备份。
3. 项目级隔离 (Project Scope)
适合:团队协作、特定项目的工具链
有些工具(比如某个项目专用的数据库连接),你并不希望全局生效。这时候可以用项目级配置。
# 关键在于 -s project 参数
claude mcp add shared-tools -s project -- npx -y @your-team/mcp-tools
这会在项目根目录生成一个 .mcp.json。把这个文件提交到 Git,你的队友 git pull 下来,Claude Code 就能拥有同样的工具集。这就是工程化的一致性。
真正值得装的 10 个 Server
MCP Server 现在还在爆发期,质量参差不齐。我筛选了 10 个真正能提升生产力的,附带直接配置命令:
1. Filesystem (必装) 没有它,Claude 就是个残废。
claude mcp add filesystem -s user -- npx -y @modelcontextprotocol/server-filesystem ~/Documents ~/Projects
2. GitHub 集成 让 AI 帮你读 Issue,Review PR,甚至直接由它来维护 Changelog。
claude mcp add github -s user -e GITHUB_TOKEN=your-token -- npx -y @modelcontextprotocol/server-github
3. PostgreSQL 数据库 直接连库查询,查数据不用再手写 SQL,自然语言即可。
claude mcp add postgres -s user -e DATABASE_URL=postgres://user:pass@localhost:5432/db -- npx -y @modelcontextprotocol/server-postgres
4. Brave Search (搜索引擎) 现在的知识更新太快,模型训练数据永远是过时的。给它联网能力。
claude mcp add search -s user -e BRAVE_API_KEY=your-key -- npx -y @modelcontextprotocol/server-brave-search
5. Puppeteer (浏览器控制) 用来做端到端测试(E2E)或者简单的爬虫。
claude mcp add puppeteer -s user -- npx -y @modelcontextprotocol/server-puppeteer
6. Fetch (API 调试)
让 Claude 具备 curl 的能力,调试 API 神器。
claude mcp add fetch -s user -- npx -y @kazuph/mcp-fetch
7. Sequential Thinking (思维链 - 强推) 这是一个思维链工具,强制 Claude 在解决复杂问题时,显式地分步骤思考。对于 Debug 复杂 Bug 奇效。
claude mcp add thinking -s user -- npx -y @modelcontextprotocol/server-sequential-thinking
8. Slack 运维报警、消息通知。
claude mcp add slack -s user -e SLACK_TOKEN=your-token -- npx -y @modelcontextprotocol/server-slack
9. Memory 给 Claude 一个外挂的“海马体”,跨会话记住你的偏好。
claude mcp add memory -s user -- npx -y @modelcontextprotocol/server-memory
10. Time 别笑,大模型对时间计算经常犯晕,这个工具能保证时间处理的准确性。
claude mcp add time -s user -- npx -y @modelcontextprotocol/server-time
填坑指南 (Troubleshooting)
在配置过程中,你肯定会遇到问题。这里总结了几个典型的“坑”和解决方案:
坑 1:国内网络与 Npm 镜像
npx 拉取包超时?这是国内开发者的基本痛点。
解决方案: 不要硬抗,直接指定淘宝源。
# 临时指定镜像(推荐)
claude mcp add fs -- npx -y --registry=[https://registry.npmmirror.com](https://registry.npmmirror.com) @modelcontextprotocol/server-filesystem ...
# 或者全局设置代理
npm config set proxy [http://127.0.0.1:7890](http://127.0.0.1:7890)
npm config set https-proxy [http://127.0.0.1:7890](http://127.0.0.1:7890)
坑 2:命名规范太严 (Error 400)
报错 tools.11.custom.name: String should match pattern...?
MCP 对 Server 的名字有严格的正则校验:^[a-zA-Z0-9_-]{1,64}。
解决方案: 别搞什么空格、中文、特殊符号。KISS (Keep It Simple, Stupid)。
坑 3:Windows 的路径地狱
报错 Cannot find module...?Windows 的反斜杠 \ 永远是开发者的噩梦。
解决方案: 使用正斜杠 / 或双反斜杠 \\。
# ❌ 错误
C:\Users\admin\Documents
# ✅ 正确
C:/Users/admin/Documents
# 或
C:\\Users\\admin\\Documents
坑 4:中文路径问题
解决方案: 尽量避免在路径中使用中文字符。虽然理论上支持,但在 Node.js 环境下经常会有编码问题。把 ~/文档 改成 ~/Documents 是最稳妥的工程实践。
坑 5:找不到 MCP 服务器
解决方案: 90% 是作用域(Scope)搞混了。
- Local: 只在当前目录生效。
- User: 全局生效(推荐大多数工具用这个)。
- Project: 跟着
.mcp.json走。 运行/mcp命令查看当前挂载状态。
进阶:如果不够用,就自己造
作为程序员,现成的工具不顺手,自己写一个是基本修养。MCP 的 SDK 非常简单。
这是一个最小化的 MCP Server 示例(Node.js):
// my-mcp-server.js
import { Server } from '@modelcontextprotocol/sdk';
const server = new Server({
name: 'my-custom-tool',
version: '1.0.0',
});
// 定义工具
server.setRequestHandler('tools/list', async () => {
return {
tools: [{
name: 'hello_world',
description: '打印一条日志',
inputSchema: {
type: 'object',
properties: {
msg: { type: 'string' }
}
}
}]
};
});
server.start();
写完后,用 claude mcp add my-tool -- node my-mcp-server.js 挂载即可。
终极偷懒:批量配置脚本
如果你经常换电脑,或者需要给团队新人配置环境,不要让他们一步步敲命令。写个 Shell 脚本:
#!/bin/bash
# setup-mcp.sh
echo "正在初始化 MCP 生产力环境..."
# 1. 设置 npm 镜像,保证国内下载速度
npm config set registry [https://registry.npmmirror.com](https://registry.npmmirror.com)
# 2. 挂载基础文件系统
claude mcp add filesystem -s user -- npx -y @modelcontextprotocol/server-filesystem ~/Documents ~/Projects
# 3. 挂载 GitHub (交互式输入 Token)
read -p "请输入 GitHub Token: " github_token
if [ -n "$github_token" ]; then
claude mcp add github -s user -e GITHUB_TOKEN=$github_token -- npx -y @modelcontextprotocol/server-github
fi
# 4. 挂载思维链工具
claude mcp add thinking -s user -- npx -y @modelcontextprotocol/server-sequential-thinking
echo "配置完成!输入 /mcp 检查状态。"
总结
MCP 正在重塑开发者与 IDE 的关系。它不是魔法,它是一套标准的 I/O 接口。
- 配置:首选 Config 文件,清晰可控。
- 网络:国内环境记得用镜像源。
- 安全:给了 Filesystem 权限,理论上它就能
rm -rf /,所以永远不要把根目录丢给它。
掌握了 MCP,你就不再是在操作一个聊天机器人,而是在编排一个能够感知环境、执行任务的智能 Agent。