当前位置: 首页 > news >正文

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

http://www.dtcms.com/a/486169.html

相关文章:

  • 网站上传根目录如何制作线上投票
  • 移动端网站建设的请示东莞科技网站建设
  • EtherCAT转CCLKIE工业通讯网关突破:三菱PLC实时调度EtherCAT伺服完成精密加工
  • 深度学习实验一之图像特征提取和深度学习训练数据标注
  • 基于Matlab的深度堆叠自编码器(SAE)实现与分类应用
  • @Scope失效问题
  • Service 网络原理
  • 数据复制问题及其解决方案
  • Java-Spring入门指南(二十五)Android 的历史,认识移动应用和Android 基础知识
  • WPF依赖属性(Dependency Property)详解
  • 深度学习进阶(三)——生成模型的崛起:从自回归到扩散
  • 三门峡网站开发ict网站建设
  • 神经网络之链式法则
  • C#设计模式源码讲解
  • 性能测试单场景测试时,是设置并发读多个文件,还是设置不同的用户读不同的文件?
  • Qt初识(对象树,乱码问题,小结)
  • 基于Home Assistant的机器人低延迟通信项目详细调研报告
  • 深圳网站做的好的公司婚庆网站开发目的
  • 中小企业网站制作是什么宁德网站建设51yunsou
  • 代理模式 vs AOP:支付服务中的日志增强实践(含执行顺序详解)
  • linux系统运维教程,linux系统运维攻略
  • string字符集
  • Linux 命令:fsck
  • 如何提升生物科技研发辅助的效率?
  • ECEF坐标转换库
  • 企业商务网被公司优化掉是什么意思
  • 网站虚拟主机购买教程专业网站设计工作室
  • 数据库管理-第376期 Oracle AI DB 23.26新特性一览(20251016)
  • 【Nature高分思路速递】 物理驱动的机器学习
  • word文档转pdf开源免费,可自定义水印