MCP server 2026 教程:安装、配置、运行
- MCP(Model Context Protocol)是一项开放标准,让 Claude Code 通过统一的 JSON-RPC 接口调用外部工具 —— 数据库、浏览器、API 等。Server 在本地以进程形式运行,Claude 通过 stdio 与之通信。
- 配置存放在
.claude/settings.json(项目级)或~/.claude/settings.json(全局)。每个 server 条目至少需要一个命令、若干参数,以及承载凭据所需的环境变量。 - 值得优先安装的五个 server:Filesystem、Memory、GitHub、Playwright 与 Fetch。各自填补一个 Claude Code 原生无法覆盖的能力空缺。
MCP 到底是什么
Model Context Protocol 是 Anthropic 于 2024 年 11 月发布的一项规范。它定义了一种标准方式 —— 让语言模型调用外部工具,也让外部工具向模型暴露自身能力。在 MCP 出现之前,每一项 AI 工具集成都是定制的;MCP 让集成可组合。
它的架构比名字朴素得多。一个 MCP server 就是在你机器上运行的一个进程(远端托管的 server 也支持)。Claude Code 启动时会拉起每个已配置的 MCP server,接收该 server 提供的工具列表,随后在会话中按名调用这些工具。所有通信走 stdin/stdout,基于 JSON-RPC 2.0。本地 server 不需要 HTTP、不需要端口、也无需任何网络配置。
更系统的概念解读见 MCP 是什么 入门篇。本文聚焦在落地配置上。
配置文件放在哪里
MCP server 配置存放在一个 settings.json 文件中。位置有两个:
~/.claude/settings.json—— 全局配置;对本机上所有 Claude Code 会话生效.claude/settings.json(项目目录内)—— 项目级配置;仅在 Claude Code 在该目录内运行时生效,并对同名键覆盖全局配置
项目级文件适合放项目专属的 server(例如绑定某个项目数据库连接串的 server)。全局文件适合放你希望在每个项目都能用到的 server(例如 Fetch 与 GitHub)。
项目目录中的 .claude/settings.json 若包含凭据,必须加入 .gitignore。CVE-2026-21852 披露的事故,正是凭据通过 npm 包随 settings.json 一起对外泄露。详见 凭据泄露防护指南。
基础配置结构
settings.json 中的 mcpServers 键是一个映射:从 server 名称到 server 配置。每条配置说明该 server 进程如何启动。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/allowed/directory"
]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_your_fine_grained_token_here"
}
},
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
关于这套结构,有几点值得说明:
- npx 上的
-y参数会在缺包时自动安装。配置阶段很方便,但首次启动会稍慢。可以通过固定版本规避:@modelcontextprotocol/server-filesystem@0.6.0。 - 凭据放在
env对象中,不要作为命令行参数。参数会被记录;环境变量默认不会。 - Server 名(键)随你定 —— 仅用于错误信息和 Claude 看到的工具描述。
值得优先安装的五个 server
给 Claude Code 对指定目录的读写权限。没有它,Claude Code 只能读你显式粘贴进会话的文件、或工作目录已有的文件。装上它,Claude 可以遍历你的目录树、按路径读取任意文件,以及向磁盘写入。
包名后跟的路径参数即"允许根"。项目内安装就传项目根目录;只有当你确实需要 Claude 跨目录浏览时,才考虑传 home 目录 —— 而且要事先理解其安全后果。
提供一个跨会话持久化的本地知识图谱。Claude 可以存事实、关系与观察 —— 后续会话无需重新读源码即可调取。默认以 JSON 形式存放在 ~/.claude-memory/。
Memory server 是 Claude Code 最接近"记得你的项目"的能力。它不是自动的 —— Claude 必须显式存观察 —— 但配好以后,把项目搁置一段时间再回来时,可以显著降低重新探索的成本。
给 Claude 访问 GitHub API 的能力:读 issue 与 PR、搜索代码、创建 issue、发评论、管理分支。需要一把范围限定在你想授权的仓库的细粒度个人访问令牌(PAT)。
{
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "github_pat_..."
}
}
}
把 PAT 的范围控制到最小仓库集合。一把对账户内所有仓库具备写权限的 PAT 是相当重要的凭据 —— 应当像对待部署密钥一样对待它。
通过 Playwright 给 Claude 一个真正的浏览器。它可以打开页面、点击、填表单、截屏、抽取页面结构。这与 Fetch server 不同 —— Playwright 会渲染 JavaScript,Fetch 不会。
{
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
浏览器按需启动,Claude Code 会话结束时关闭。默认无界面运行 —— 想看着它运行,在 args 里加 "--headed"。
抓取网页内容并转成 Markdown。不需要 JavaScript 渲染的页面 —— 文档站、GitHub README、博客文章 —— 用它比 Playwright 更轻。它属于 Anthropic 官方参考实现集。
{
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
本 server 需要 uvx(Astral 出品的 Python 包运行器)。用 pip install uv 安装,或参照 Astral 官方安装说明。如果你只想留在 Node 生态中,社区有 npm 封装版本,但官方版本是 Python。
Septim Vault —— 29 美元买断制
一份预置的 MCP 配置包:8 套 server 配置,可直接粘进你的 settings.json,附带凭据模板、路径白名单建议,以及每个 server 的验证清单。免去你逐个 server 翻文档的麻烦。
购买 Septim Vault —— 29 美元 → 或试用 Septim Tether(19 美元)极简 MCP 配置工具集 →验证 server 是否跑起来
修改完 settings.json 后,启动一个新的 Claude Code 会话。在提示符里直接问 Claude 它能用哪些工具:
What MCP tools do you have access to?
Claude 应该会列出你配置过的 server 与各自提供的工具。如果某个 server 缺席,故障通常是这三种之一:
- 包没装上。npx 上的
-y会自动装,但首次运行可能因 npm 镜像缓慢或网络防火墙而失败。在终端里手动跑一遍 npx 命令,看具体报错。 - 路径不对。Filesystem server 接收的是绝对路径。相对路径或拼写错误的路径会导致启动失败。Claude Code 把 MCP server 错误日志记在
~/.claude/logs/—— 先去那里查。 - 凭据无效。如果 server 起来了、但调用工具时报错,最常见的原因是 API key 过期或配置不当。先在 curl 或厂商 API playground 中直接验证凭据,再去排查 MCP 这一层。
项目级 vs 全局配置
Septim 内部的常见做法:全局配置放 Fetch、Memory、Playwright —— 这些在任何项目里都用得上。项目级配置放 Filesystem(允许根设为项目根)、该项目的数据库 server,以及范围限定到本项目仓库的 GitHub server。
这种组织方式让你切到任意项目目录,Claude Code 都会自动加载正确的 server 集合,无需手动切换配置。同名 server 上,项目级文件覆盖全局文件,因此你可以为不同项目配不同的数据库连接,互不冲突。
远端 MCP server
Anthropic 在 2026 年初新增了对远端 MCP server 的支持(走 SSE 而非 stdio)。配置使用 url 键替代 command 与 args:
{
"mcpServers": {
"stripe": {
"url": "https://mcp.stripe.com",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}
对于自身维护托管 MCP 端点的服务(Stripe 等已有此能力),远端 server 很方便。代价是每次工具调用多一次网络往返,凭据走线上 —— 务必只用 HTTPS 远端,把 Authorization header 像保护环境变量中的 API key 一样对待。
添加更多 server 之前要做的安全考量
每多装一个 server,就给你的 Claude Code 会话多一份攻击面。MCP server 漏洞清单提供 24 项评估框架。教程层面的简版:
- 只装活跃组织维护或有公司背书的 server
- 安装前阅读源码中的工具描述 —— 嵌在工具元数据里的恶意指令是已记录在案的攻击向量(arXiv 2603.22489)
- 使用最小权限凭据 —— 只读单仓库的 GitHub token 不应该具备对所有仓库的写权限
.claude/settings.json若含凭据,绝不入 git
带安全注意事项的完整精选 server 清单在 2026 年最佳 MCP server一文中。
Septim Vault —— 29 美元 · 8 套预置 MCP 配置
8 套 server 配置、凭据模板、路径白名单建议,以及一份验证清单。还附带 CVE-2026-21852 一文中的 settings.json 安全加固指南。买断制。
购买 Septim Vault —— 29 美元 → Septim Tether(19 美元)—— 极简 MCP 配置工具集 →