Skip to content

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.*]
ClineVS 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 工具。

实用建议:

  1. 只装当前项目真正需要的,用完 claude mcp remove
  2. 用项目级 .mcp.json 而不是全局配置,避免在每个项目里都背着所有 server
  3. 工具特别多的 server(如某些全家桶型 server),考虑换成功能更窄的替代品
  4. /cost 观察:装 MCP 前后,同样一句话的输入 token 差多少

好消息:MCP 工具定义能命中缓存

工具定义在会话中是稳定不变的内容,会被 Prompt Cache 覆盖。 Claude 系模型的缓存倍率是 0.1,也就是说命中后这部分按十分之一计费。

所以真正要避免的是「装了一堆 server 又频繁切换配置」——那会让缓存反复失效。

安全提醒

MCP server 是本机运行的程序

它们以你的权限跑,能读你的文件、连你的数据库、用你的 token 调 API。

  • 只装来源可信的 server
  • 给 filesystem server 指定具体目录,不要给 /~
  • 数据库 server 尽量用只读账号
  • 团队共享的 .mcp.json 提交前 review 一遍

配套阅读

文档持续更新 · 以 站内价格页 与控制台实际配置为准