6.3 配置与管理 MCP 服务器

MCP 配置存在哪里
用 claude mcp add 命令添加的 MCP Server,配置会自动写入:
~/.claude/settings.json ← 用户级(所有项目共享)
.claude/settings.json ← 项目级(只对当前项目生效)打开看看里面长什么样:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
}
},
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://user:pass@localhost:5432/mydb"
]
},
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx",
"SLACK_TEAM_ID": "TXXXXXXXX"
}
}
}
}你可以直接编辑这个 JSON 文件,效果和用命令行一样。
三种传输协议
添加 MCP Server 时需要指定传输协议(--transport),有三种:
Stdio(进程标准输入输出)
claude mcp add myserver --transport stdio -- npx -y some-mcp-packageClaude Code 会在本地启动一个进程,通过标准输入输出通信。
适合: 本地运行的服务,比如数据库客户端、文件系统工具 特点: 低延迟,进程跟随 Claude Code 会话启动和退出
HTTP(Streamable HTTP)
claude mcp add myserver --transport http https://your-mcp-server.com/mcp连接到远程运行的 HTTP 服务。
适合: 云端服务,比如 Figma、第三方 SaaS 集成 特点: 服务器独立运行,连接稳定性依赖网络
SSE(Server-Sent Events)
claude mcp add myserver --transport sse https://your-mcp-server.com/sse一种特殊的 HTTP 长连接,服务器可以主动推送事件。
适合: 需要实时更新的场景 特点: 比 Stdio 延迟稍高,但比轮询高效
用户级 vs 项目级
用户级配置(~/.claude/settings.json)
添加时不加任何项目路径标志,就写入用户级:
claude mcp add github --transport stdio ...所有项目都能用这个配置。适合:GitHub、Slack 这类和项目无关的通用服务。
项目级配置(.claude/settings.json)
添加时加 --scope project 标志:
claude mcp add postgres --scope project --transport stdio ...只对当前项目生效。适合:数据库连接(每个项目数据库不同)、项目特定的 API。
💡 项目级的
.claude/settings.json可以 check in 到 git,但不要把含有密钥的配置提交——用环境变量替代明文写在文件里。
用环境变量管理密钥
不要把 token 直接写进配置文件,用环境变量:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}然后在你的 shell 配置文件(~/.zshrc 或 ~/.bashrc)里设置环境变量:
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"这样配置文件可以安全地进入版本控制,密钥不会泄露。
常用管理命令
# 列出所有已配置的 MCP Server
claude mcp list
# 查看某个 Server 的配置详情
claude mcp get github
# 删除一个 MCP Server
claude mcp remove github
# 重置(删除所有)MCP 配置
claude mcp reset-project-choice安全注意事项
MCP 是个强大的能力,也是个潜在的攻击面。几条必须记住的原则:
1. 只安装你信任的 MCP Server
第三方 MCP Server 的代码在你的机器上运行,能访问你授权给它的所有资源。安装前查看源码或确认来源可靠。
2. 最小权限原则
给 MCP Server 的权限要最小化:
- 数据库 MCP 用只读账号
- GitHub MCP 只给需要的 scope(能不给
write就不给) - Slack MCP 只给需要的频道权限
3. 项目配置谨慎提交
项目级的 .claude/settings.json 如果包含服务地址,可以提交;但绝对不要把 token 明文提交。在 .gitignore 里加一个保险:
# .gitignore
.claude/settings.local.json ← 这个文件放本地密钥,不进 git4. 定期轮换 Token
给 MCP 用的 API Token 定期换新,并且和你个人用的 Token 分开管理。
下一节,如果现成的 MCP Server 都不满足你的需求,我们来看看怎么自己写一个。
