Claude Code MCP 服务器配置实战指南
Claude Code MCP 服务器配置实战指南
从零开始配置 Exa、Context7、Playwright、MarkItDown 四个 MCP 服务器
前言
MCP (Model Context Protocol) 是 Anthropic 推出的模型上下文协议,让 Claude Code 能够连接外部工具和服务。本文记录了我在 Claude Code 中配置 4 个实用 MCP 服务器的完整过程,包括踩坑和解决方案。
目标 MCP 服务器
| MCP Server | 功能 | 用途 |
|---|---|---|
| Exa | AI 搜索引擎 | 高质量网页搜索、代码示例查找 |
| Context7 | 实时文档 | 获取最新的库/框架文档 |
| Playwright | 浏览器自动化 | E2E 测试、网页抓取、截图 |
| MarkItDown | 文档转换 | 将 PDF、Word、Excel 等转换为 Markdown |
一、Exa MCP 配置(HTTP 模式)
Exa 提供了 HTTP 端点,配置最简单:
claude mcp add --transport http exa https://mcp.exa.ai/mcp
优点:无需安装 npm 包,直接通过 HTTP 连接,响应速度快。
二、Context7 MCP 配置
Context7 是 Upstash 开发的实时文档搜索工具,可以获取最新版本的库文档。
查找正确的包名
# 错误的包名(不存在)
npx @anthropic-ai/mcp-server-context7 # ❌
# 正确的包名
npx @upstash/context7-mcp # ✅
安装命令
# 全局安装(推荐,避免每次 npx 下载)
npm install -g @upstash/context7-mcp
# 添加到 Claude Code
claude mcp add context7 -- npx -y @upstash/context7-mcp
三、Playwright MCP 配置
Playwright MCP 是微软官方的浏览器自动化服务器。
安装步骤
# 1. 安装 npm 包
npm install -g @playwright/mcp
# 2. 安装 Chromium 浏览器(必需)
npm install -g @playwright/test
npx playwright install chromium
# 3. 添加到 Claude Code
claude mcp add playwright -- npx -y @playwright/mcp
踩坑记录
问题:首次运行时显示 Failed to connect
原因:Playwright MCP 需要浏览器才能工作,默认不安装浏览器
解决:执行 npx playwright install chromium
可用工具
安装成功后,Playwright MCP 提供以下工具:
| 工具 | 功能 |
|---|---|
browser_navigate |
导航到 URL |
browser_click |
点击元素 |
browser_snapshot |
获取页面快照 |
browser_take_screenshot |
截图 |
browser_type |
输入文本 |
browser_evaluate |
执行 JavaScript |
四、MarkItDown MCP 配置
MarkItDown 是微软开发的文档转换工具,支持 29+ 种文件格式。
选择正确的实现
我最初尝试了 markdownify-mcp,但发现:
- 需要本地构建
- Windows 兼容性问题
- 配置复杂
最终选择了微软官方的 markitdown-mcp-npx,这是一个 NPX 包装器,自动处理 Python 环境。
安装步骤
# 添加到 Claude Code
claude mcp add markitdown -- npx -y markitdown-mcp-npx
首次运行
首次运行时,NPX 包装器会自动:
- 检测 Python 3.10+ 环境
- 创建虚拟环境
- 安装
markitdown-mcp及所有依赖
这个过程可能需要 2-3 分钟,请耐心等待。
权限问题解决
问题:Permission denied: '...\venv\Scripts\python.exe'
解决:删除临时目录重新安装
# Windows
rmdir /s /q "%TEMP%\markitdown-mcp-npx"
# 重新运行
npx -y markitdown-mcp-npx
支持的文件格式
| 类别 | 格式 |
|---|---|
| 文档 | PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx) |
| 图片 | JPG, PNG, GIF(含 OCR) |
| 音频 | MP3, WAV(含转录,需 FFmpeg) |
| 网页 | HTTP/HTTPS URLs, YouTube |
| 数据 | CSV, JSON, XML |
| 其他 | ZIP, EPub |
五、配置作用域:全局 vs 项目级
这是很多人容易踩坑的地方!Claude Code 的 MCP 配置有多个层级:
配置层级说明
| 配置文件 | 路径 | 作用范围 | 特点 |
|---|---|---|---|
mcp.json |
C:\Users\{用户名}\.claude\mcp.json |
所有项目 | 切换 Windows 用户会失效 |
.mcp.json |
项目根目录 | 当前项目 | 跟着项目走,换机器也有效 |
claude.json |
C:\Users\{用户名}\.claude.json |
用户级别 | 存储在每个项目配置中 |
推荐配置方式
使用 --scope user 确保在任何目录下都能使用:
# 添加到用户级别(推荐)
claude mcp add context7 --scope user -- npx -y @upstash/context7-mcp
claude mcp add playwright --scope user -- npx -y @playwright/mcp
claude mcp add markitdown --scope user -- npx -y markitdown-mcp-npx
claude mcp add --transport http exa --scope user -- https://mcp.exa.ai/mcp
踩坑记录
问题:在 C:\Users\{用户名} 目录下运行 claude mcp list,某些 MCP 不显示
原因:每个目录都有独立的项目配置,可能没有继承全局配置
解决:使用 --scope user 显式添加到用户配置中
查看当前配置
# 查看用户级别配置文件
cat C:\Users\86177\.claude.json | grep -A 20 '"mcpServers"'
mcp.json 文件示例
手动编辑 C:\Users\{用户名}\.claude\mcp.json:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp"]
},
"markitdown": {
"command": "npx",
"args": ["-y", "markitdown-mcp-npx"]
}
}
}
六、验证配置
claude mcp list
预期输出:
Checking MCP server health...
plugin:episodic-memory:episodic-memory - ✓ Connected
markitdown: npx -y markitdown-mcp-npx - ✓ Connected
context7: npx -y @upstash/context7-mcp - ✓ Connected
playwright: npx -y @playwright/mcp - ✓ Connected
exa: https://mcp.exa.ai/mcp (HTTP) - ✓ Connected
七、常见问题排查
1. MCP 服务器显示 “Failed to connect”
可能原因:
- npm 包未安装或未下载完成
- Python 环境缺失(MarkItDown)
- 浏览器未安装(Playwright)
排查步骤:
# 1. 手动测试 MCP 服务器
npx @upstash/context7-mcp # 应该启动无报错
# 2. 检查 Python 版本
python --version # 需要 3.10+
# 3. 检查 Playwright 浏览器
npx playwright install chromium
2. npx 每次都重新下载
原因:npx 默认会检查最新版本
解决:全局安装
npm install -g @upstash/context7-mcp
然后修改配置使用全局命令。
3. MCP 工具不显示
MCP 工具需要首次调用才会加载到工具列表。可以运行:
/mcp
查看可用的 MCP 工具。
八、最佳实践
1. 使用 -y 标志
在非交互环境(如 Claude Desktop 配置)中,必须使用 -y 标志避免 npx 安装提示:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
2. HTTP vs STDIO
| 模式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| HTTP | 远程服务、需要持久化 | 快速、无需本地安装 | 需要 API Key |
| STDIO | 本地工具 | 完全本地、安全 | 首次启动慢 |
3. 包名对照表
很多 MCP 服务器有不同的包名,容易混淆:
| MCP | 官方包名 | 错误包名 |
|---|---|---|
| Context7 | @upstash/context7-mcp |
@anthropic-ai/mcp-server-context7 |
| Playwright | @playwright/mcp |
@anthropic-ai/mcp-server-playwright |
| MarkItDown | markitdown-mcp-npx |
markdownify-mcp |
九、使用示例
Exa 搜索
搜索最新的 React 19 特性介绍
Claude 会使用 web_search_exa 工具搜索。
Context7 文档查询
帮我查 Next.js 15 的 App Router 最新 API
Playwright 自动化
打开 https://example.com 并截图
MarkItDown 转换
把这个 PDF 文件转换成 Markdown
总结
配置 MCP 服务器的关键步骤:
- 找到正确的包名 - 这是最大的坑,很多教程使用过时的包名
- 安装依赖 - Python 环境、浏览器等
- 耐心等待首次启动 - npx 需要下载,Python 需要创建虚拟环境
- 验证连接 - 使用
claude mcp list检查状态
希望这篇博客能帮助你顺利配置 MCP 服务器,让 Claude Code 更加强大!
相关链接:
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)