在 Claude Code 中设置 MCP 服务器(技术总结)

原文出处:Reddit - Setting up MCP Servers in Claude Code: a Tech Ritual for the Silently Desperate

🧩 一、什么是 MCP 服务器?

  • MCP(Model Context Protocol) 是一种让 Claude 获得"外部能力"的机制。

  • 它相当于 Claude 的"数字假肢",赋予它访问文件系统、浏览器、网页抓取、搜索等功能。

  • 常见 MCP 工具:

工具 功能 是否需 API Key
Sequential Thinking 链式推理,减少幻觉
Filesystem 访问本地目录
Playwright 多浏览器自动化
Puppeteer Chrome 自动化(已弃用)
Fetch HTTP 请求 / 抓取网页
Browser Tools DevTools 控制 / 截图 / 日志
Brave Search 网络搜索能力
Firecrawl 高级网页抓取

# 基本 MCP 服务器 (单独安装)

顺序思考

bash 复制代码
claude mcp add sequential-thinking -s user \ -- npx -y @modelcontextprotocol/server-sequential-thinking

让 Claude 真正思考问题,而不是自信地胡编乱造。

文件系统访问(根据需要更新路径)

bash 复制代码
claude mcp add filesystem -s user \ -- npx -y @modelcontextprotocol/server-filesystem \ ~/Documents ~/Desktop ~/Downloads ~/Projects

让 Claude 访问你的文件。

Playwright(多浏览器自动化)

bash 复制代码
claude mcp add playwright -s user \ -- npx -y @playwright/mcp

Puppeteer(已弃用,但仍然有效)

bash 复制代码
claude mcp add puppeteer -s user \ -- npx -y @modelcontextprotocol/server-puppeteer

看着你的浏览器自己操作,陷入存在主义的恐惧。

Web Fetching(Web 获取)

bash 复制代码
claude mcp add fetch -s user \ -- npx -y @kazuph/mcp-fetch

从网站抓取内容。

浏览器工具

让 Claude 访问你浏览器的控制台日志、网络流量,并能够运行性能/可访问性审核。

步骤 1:安装 Chrome 扩展程序 --- 从发布页面下载并将其加载到 Chrome 的扩展管理器中。

步骤 2:启动中间件服务器(保持此终端打开):

bash 复制代码
npx -y @agentdeskai/browser-tools-server@1.2.1

步骤 3:将 MCP 服务器添加到 Claude Code(在单独的终端中):

bash 复制代码
claude mcp add browser-tools -s user \ -- npx -y @agentdeskai/browser-tools-mcp@1.2.1

步骤 4:打开 Chrome DevTools (F12) 并找到 BrowserTools 标签。

★ Brave Search(需要 API 密钥)

复制代码
# 将 YOUR_API_KEY_HERE 替换为你的实际 Brave Search API 密钥 claude mcp add brave-search -s user \ -- env BRAVE_API_KEY=YOUR_API_KEY_HERE \ npx -y @modelcontextprotocol/server-brave-search 

让 Claude 搜索网络并带回结果。

★ Firecrawl(高级网页抓取 --- 需要 API 密钥)

# 将 fc-YOUR_API_KEY 替换为你的实际 Firecrawl API 密钥 claude mcp add firecrawl -s user \ -- env FIRECRAWL_API_KEY=fc-YOUR_API_KEY \ npx -y firecrawl-mcp

当你需要以工业级效率抓取网站,并且对 robots.txt 没啥敬意的时候。

⚙️ 二、一键安装脚本(macOS / Linux)

可批量安装多个常用 MCP 工具:

bash 复制代码
bash <<'EOF'
echo " 正在安装 Claude MCP 服务器..."
claude mcp add sequential-thinking -s user \
  -- npx -y @modelcontextprotocol/server-sequential-thinking || true
claude mcp add filesystem -s user \
  -- npx -y @modelcontextprotocol/server-filesystem \
     ~/Documents ~/Desktop ~/Downloads ~/Projects || true
claude mcp add playwright -s user \
  -- npx -y @playwright/mcp-server || true
claude mcp add puppeteer -s user \
  -- npx -y @modelcontextprotocol/server-puppeteer || true
claude mcp add fetch -s user \
  -- npx -y @kazuph/mcp-fetch || true
claude mcp add browser-tools -s user \
  -- npx -y @agentdeskai/browser-tools-mcp || true
echo "--------------------------------------------------"
echo "✅ MCP 注册完成。"
echo ""
echo "要启用浏览器工具,请在第二个终端中运行并保持打开:"
echo "  npx -y @agentdeskai/browser-tools-server"
echo "--------------------------------------------------"
claude mcp list
EOF

💡 Windows 用户 :可将上述命令改写为 .bat 文件或在命令前加上 cmd /c

🧭 三、安装范围说明

参数 含义 配置文件位置
-s user 全局安装 ~/.claude.json
-s local 项目内安装 当前项目目录下的 .claude.json

macOS 特殊说明:

  • Claude Desktop 配置文件:~/Library/Application Support/Claude/claude_desktop_config.json

  • Claude Code 配置文件:~/.claude.json

  • 两者的 MCP 配置是分开的。


🧰 四、常见问题与解决方案

问题 可能原因 解决方式
MCP 显示连接但无响应 路径配置或通信异常 检查 claude mcp list 输出和日志
超时错误 执行时间过短 设置环境变量:export MCP_TIMEOUT=10000
Windows 命令执行失败 CMD 兼容问题 在命令前添加 cmd /c
Docker/WSL 无法通信 网络隔离 使用 host.docker.internal 作为主机地址
Puppeteer 失效 工具已弃用 推荐改用 Playwright MCP

示例 .claude.json 配置:

"mcpServers": { "browser-tools": { "type": "stdio", "command": "npx", "args": ["-y", "@agentdeskai/browser-tools-mcp@1.2.0"], "env": { "BROWSERTOOLS_SERVER_HOST": "host.docker.internal", "BROWSERTOOLS_SERVER_PORT": "3025" } } }


💡 五、提示工程建议(Prompt Engineering)

  • Claude 可能不会主动使用 MCP 工具,需在提示中显式说明使用哪个 MCP

  • 作者推荐的做法:

    • 将项目说明拆分为多层 README(如主层、模块层、任务层)。

    • 通过结构化提示,让 Claude 依据层级调用相应 MCP。

  • 此方式能减少 Claude 误调用、提升推理一致性。


🗣️ 六、评论精选

用户 内容摘要
itsbyrobin 指出 MCP 列表在 ~/.claude.json 顶层。
rowild 解释 Desktop 与 Code 配置文件区别。
macoha 在 Windows+WSL 失败,改用 Ubuntu Docker 成功。
ph30nix01 测试脚本成功运行,感谢分享。
fullstack_ML_guy 分享 Windows 命令兼容方案。
useforbeta 建议在命令中用 @ 替代被转义的 u/

✅ 七、总结与建议

  • MCP 是让 Claude Code 拥有"外部能力"的核心机制。

  • 通过脚本可快速启用常用工具,增强 Claude 的实用性。

  • 注意区分:

    • 全局 vs 局部配置;

    • 不同系统路径差异;

    • Puppeteer 弃用、Playwright 替代;

    • WSL / Docker 通信问题。

相关推荐
yaocheng的ai分身9 小时前
管理 Claude code上下文:实用手册
claude
win4r1 天前
🚀 程序员必看让AI编程100%可控!从1到N的开发神器OpenSpec规范驱动开发完整实战指南!支持Cursor、Claude Code、Codex!比Sp
ai编程·claude·vibecoding
小溪彼岸1 天前
Claude Code颠覆编程风格的Output Styles
aigc·claude
小溪彼岸1 天前
Hooks才是Claude Code CLI 的革命性更新
aigc·claude
小溪彼岸1 天前
深入了解Claude Code CLI子代理Subagent
aigc·claude
yaocheng的ai分身1 天前
【Claude官方文章】使用 Agent Skills 为现实世界配备 agents
claude
关关长语2 天前
(一) Dotnet使用MCP的Csharp SDK
网络·.net·mcp
中等生2 天前
深入理解 MCP 的三种传输方式
aigc·mcp
货拉拉技术2 天前
网关 MCP 转换技术:从实现到平台落地
java·架构·mcp