主题
MCP 数据连接器
MCP(Model Context Protocol)是一个开放协议,用来给 AI 客户端接外部数据源和工具:数据库、GitHub、浏览器、内部 API……
装一个 MCP server,模型就多一组工具可用。
各客户端的配置位置
| 客户端 | 配置文件 |
|---|---|
| Claude Code | ~/.claude.json / 项目 .mcp.json,或 claude mcp add |
| Codex CLI | ~/.codex/config.toml 的 [mcp_servers.*] |
| Cline | VS Code 里 Cline 面板 → MCP Servers |
| Cursor | .cursor/mcp.json |
Claude Code
命令行添加(推荐)
bash
# 文件系统访问
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/projects
# GitHub
claude mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxx \
-- npx -y @modelcontextprotocol/server-github
# 查看已装的
claude mcp list
# 删除
claude mcp remove github项目级 .mcp.json
放在项目根目录,可以提交到 Git 让团队共用:
json
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}不要把密码写进 .mcp.json 再提交
连接串里带密码的,改用环境变量:
json
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": { "DATABASE_URL": "${DATABASE_URL}" }
}
}
}Codex CLI
toml
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_PERSONAL_ACCESS_TOKEN = "ghp_xxx" }常用的 MCP Server
| Server | 能干什么 |
|---|---|
@modelcontextprotocol/server-filesystem | 读写指定目录(沙箱外的文件) |
@modelcontextprotocol/server-github | 读 issue / PR、发评论、建分支 |
@modelcontextprotocol/server-postgres | 查数据库 schema 和数据 |
@modelcontextprotocol/server-sqlite | 同上,SQLite |
@playwright/mcp | 驱动浏览器,截图、点击、填表 |
@modelcontextprotocol/server-fetch | 抓网页并转 Markdown |
@modelcontextprotocol/server-memory | 跨会话的持久记忆 |
更多在 MCP 官方 server 列表。
验证
Claude Code 里:
/mcp会列出已连接的 server 和它们提供的工具。状态是 failed 的话,用 claude --debug 看具体报错。
或者直接问:
用 postgres mcp 查一下 users 表有哪些字段对成本的影响
MCP 工具定义会占上下文,而且是每一轮都占
每个 MCP server 会把它的全部工具定义(名称、描述、参数 schema)注入到每次请求里。
一个 server 提供 20 个工具,工具定义可能就有 3000+ token。装 5 个 server,你每问一句话都在为一万多 token 付费——即使这一轮根本没用到任何 MCP 工具。
实用建议:
- 只装当前项目真正需要的,用完
claude mcp remove - 用项目级
.mcp.json而不是全局配置,避免在每个项目里都背着所有 server - 工具特别多的 server(如某些全家桶型 server),考虑换成功能更窄的替代品
- 用
/cost观察:装 MCP 前后,同样一句话的输入 token 差多少
好消息:MCP 工具定义能命中缓存
工具定义在会话中是稳定不变的内容,会被 Prompt Cache 覆盖。 Claude 系模型的缓存倍率是 0.1,也就是说命中后这部分按十分之一计费。
所以真正要避免的是「装了一堆 server 又频繁切换配置」——那会让缓存反复失效。
安全提醒
MCP server 是本机运行的程序
它们以你的权限跑,能读你的文件、连你的数据库、用你的 token 调 API。
- 只装来源可信的 server
- 给 filesystem server 指定具体目录,不要给
/或~ - 数据库 server 尽量用只读账号
- 团队共享的
.mcp.json提交前 review 一遍
