完整教程:在 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多浏览器自动化
PuppeteerChrome 自动化(已弃用)
FetchHTTP 请求 / 抓取网页
Browser ToolsDevTools 控制 / 截图 / 日志
Brave Search网络搜索能力
Firecrawl高级网页抓取

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

顺序思考

claude mcp add sequential-thinking -s user \ -- npx -y @modelcontextprotocol/server-sequential-thinking

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

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

claude mcp add filesystem -s user \ -- npx -y @modelcontextprotocol/server-filesystem \ ~/Documents ~/Desktop ~/Downloads ~/Projects

让 Claude 访问你的文件。

Playwright(多浏览器自动化)

claude mcp add playwright -s user \ -- npx -y @playwright/mcp

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

claude mcp add puppeteer -s user \ -- npx -y @modelcontextprotocol/server-puppeteer

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

Web Fetching(Web 获取)

claude mcp add fetch -s user \ -- npx -y @kazuph/mcp-fetch

从网站抓取内容。

浏览器工具

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

步骤 1:安装 Chrome 扩展程序 — 从发布页面下载并将其加载到 Chrome 的扩展管理器中。
步骤 2:启动中间件服务器(保持此终端打开):

npx -y @agentdeskai/browser-tools-server@1.2.1

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

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 <<'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 通信问题。

posted @ 2025-11-11 15:35  gccbuaa  阅读(32)  评论(0)    收藏  举报