教程概述
Model Context Protocol (MCP) 是 Anthropic 推出的开放标准,允许 Claude 与外部工具和数据源无缝集成。通过配置 MCP 服务器,你可以让 Claude Code 获得强大的扩展能力:
- Context7: 实时查询最新的库文档和API参考
- Sequential Thinking: 复杂问题的逐步思维分析
- Memory: 长期记忆和上下文保持
- Playwright: 浏览器自动化测试和UI交互
- Shrimp Task Manager: 智能任务规划和项目管理
本教程将手把手教你在 WSL 环境下完整配置这些 MCP 服务器,让你的开发效率提升一个档次!
前置条件检查
系统要求
- Windows 10/11 + WSL2
- Ubuntu 20.04+ (推荐 22.04)
- Node.js >= 18.0.0
- npm >= 8.0.0
- Claude Code 扩展已安装
环境验证
首先,验证你的环境是否满足要求:
# 检查 Node.js 和 npm 版本
node --version # 应该显示 >= 18.0.0
npm --version # 应该显示 >= 8.0.0
# 检查 Claude CLI 是否安装
which claude # 应该显示 Claude CLI 路径
claude --version # 应该显示版本信息
预期输出示例:
v22.17.0
11.4.2
/home/username/.npm-global/bin/claude
1.0.44 (Claude Code)
如果 Claude CLI 未安装,请先安装:
npm install -g @anthropic-ai/claude-code
核心配置步骤
第一步:检查当前 MCP 配置状态
# 查看当前配置的 MCP 服务器
claude mcp list
如果显示 “No MCP servers configured”,这是正常的,我们将从零开始配置。
第二步:安装 MCP 服务器包
我们需要全局安装所需的 MCP 服务器包:
# 安装 Context7 (文档查询)
npm install -g @upstash/context7-mcp
# 安装 Sequential Thinking (思维分析)
npm install -g @modelcontextprotocol/server-sequential-thinking
# 安装 Memory (记忆管理)
npm install -g @modelcontextprotocol/server-memory
# 安装 Playwright (浏览器自动化)
npm install -g @executeautomation/playwright-mcp-server
# 安装 Shrimp Task Manager (任务管理)
npm install -g mcp-shrimp-task-manager
验证安装:
# 检查已安装的 MCP 相关包
npm list -g | grep -E "(mcp|claude|playwright|memory|sequential|context|shrimp)"
第三步:查找可执行文件路径
这是关键步骤!我们需要找到每个 MCP 服务器的直接可执行文件路径:
# 查看全局 npm bin 目录中的 MCP 相关文件
ls -la ~/.npm-global/bin/ | grep -E "(context|mcp|playwright)"
预期输出:
lrwxrwxrwx 1 user user 55 Jul 10 08:42 context7-mcp -> ../lib/node_modules/@upstash/context7-mcp/dist/index.js
lrwxrwxrwx 1 user user 69 Jul 10 08:43 mcp-server-memory -> ../lib/node_modules/@modelcontextprotocol/server-memory/dist/index.js
lrwxrwxrwx 1 user user 82 Jul 10 08:43 mcp-server-sequential-thinking -> ../lib/node_modules/@modelcontextprotocol/server-sequential-thinking/dist/index.js
lrwxrwxrwx 1 user user 74 Jul 10 08:43 playwright-mcp-server -> ../lib/node_modules/@executeautomation/playwright-mcp-server/dist/index.js
lrwxrwxrwx 1 user user 57 Jul 10 09:22 mcp-shrimp-task-manager -> ../lib/node_modules/mcp-shrimp-task-manager/dist/index.js
第四步:配置 MCP 服务器到 Claude CLI
重要提示: 使用 --scope user 参数确保配置在所有项目中可用,使用直接的可执行文件路径而不是 npx 命令。
# 配置 Context7
claude mcp add context7 "/home/$(whoami)/.npm-global/bin/context7-mcp" --scope user
# 配置 Sequential Thinking
claude mcp add sequential-thinking "/home/$(whoami)/.npm-global/bin/mcp-server-sequential-thinking" --scope user
# 配置 Memory
claude mcp add memory "/home/$(whoami)/.npm-global/bin/mcp-server-memory" --scope user
# 配置 Playwright
claude mcp add playwright "/home/$(whoami)/.npm-global/bin/playwright-mcp-server" --scope user
# 配置 Shrimp Task Manager
claude mcp add shrimp-task-manager "/home/$(whoami)/.npm-global/bin/mcp-shrimp-task-manager" --scope user
验证配置:
claude mcp list
预期输出:
context7: /home/username/.npm-global/bin/context7-mcp
sequential-thinking: /home/username/.npm-global/bin/mcp-server-sequential-thinking
memory: /home/username/.npm-global/bin/mcp-server-memory
playwright: /home/username/.npm-global/bin/playwright-mcp-server
shrimp-task-manager: /home/username/.npm-global/bin/mcp-shrimp-task-manager
验证和测试
在 Claude Code 中测试
- 打开 Claude Code
- 在聊天界面输入
/mcp - 你应该看到类似这样的界面:
╭─────────────────────────────────────────────────────────────────╮
│ Manage MCP servers │
│ │
│ ❯ 1. context7 ✔ connected · Enter to view details │
│ 2. memory ✔ connected · Enter to view details │
│ 3. playwright ✔ connected · Enter to view details │
│ 4. sequential-thinking ✔ connected · Enter to view details │
│ 5. shrimp-task-manager ✔ connected · Enter to view details │
╰─────────────────────────────────────────────────────────────────╯
功能测试
测试每个 MCP 服务器的基本功能:
- Context7: 尝试查询一个库的文档
- Sequential Thinking: 请求分析一个复杂问题
- Memory: 保存和检索一些信息
- Playwright: 请求自动化测试建议
- Shrimp Task Manager: 创建一个简单的任务计划
常见问题和解决方案
问题1: “No MCP servers configured” 持续出现
原因: 配置作用域不正确或路径问题
解决方案:
# 清除所有配置重新开始
claude mcp remove context7 -s local
claude mcp remove context7 -s user
# 使用正确的作用域重新配置
claude mcp add context7 "/home/$(whoami)/.npm-global/bin/context7-mcp" --scope user
问题2: MCP 服务器显示 “✘ failed” 状态
原因: 使用了 npx 命令导致路径解析失败
错误配置示例:
# ❌ 错误:使用 npx 命令
claude mcp add context7 "npx @upstash/context7-mcp"
正确配置:
# ✅ 正确:使用直接可执行文件路径
claude mcp add context7 "/home/$(whoami)/.npm-global/bin/context7-mcp" --scope user
问题3: 权限问题
解决方案:
# 检查文件权限
ls -la ~/.npm-global/bin/context7-mcp
# 如果需要,添加执行权限
chmod +x ~/.npm-global/bin/context7-mcp
问题4: 查看详细错误日志
# 使用调试模式查看详细信息
claude --debug mcp list
# 查看日志文件
ls -la ~/.cache/claude-cli-nodejs/$(pwd | sed 's/\//-/g')/
cat ~/.cache/claude-cli-nodejs/$(pwd | sed 's/\//-/g')/mcp-logs-context7/*.txt
配置完成后的效果
配置成功后,你将获得以下强大功能:
Context7 - 实时文档查询
- 查询最新的 React、Next.js、TypeScript 等库文档
- 获取 API 参考和使用示例
- 实时获取最新版本信息
Sequential Thinking - 智能分析
- 复杂架构设计的分步分析
- 技术决策的逻辑推理
- 问题解决的结构化思考
Memory - 持久化记忆
- 保存项目相关的重要信息
- 跨会话的上下文保持
- 个人开发偏好记录
Playwright - 自动化测试
- 生成浏览器自动化脚本
- UI 测试用例设计
- 端到端测试建议
Shrimp Task Manager - 项目管理
- 智能任务分解
- 依赖关系管理
- 开发进度跟踪
进阶使用建议
1. 项目级配置
如果你想为特定项目配置不同的 MCP 服务器:
# 在项目根目录下
claude mcp add project-specific-server "command" --scope project
2. 环境变量配置
某些 MCP 服务器可能需要 API 密钥:
claude mcp add server-name "command" --scope user -e API_KEY=your_key_here
3. 性能优化
- 定期清理日志文件:
rm -rf ~/.cache/claude-cli-nodejs/*/mcp-logs-* - 监控服务器状态:定期运行
claude mcp list检查连接状态
维护和更新
更新 MCP 服务器
# 更新所有全局包
npm update -g
# 更新特定包
npm update -g @upstash/context7-mcp
npm update -g @modelcontextprotocol/server-sequential-thinking
npm update -g @modelcontextprotocol/server-memory
npm update -g @executeautomation/playwright-mcp-server
npm update -g mcp-shrimp-task-manager
备份和恢复配置
# 备份 Claude 配置
cp ~/.claude.json ~/.claude.json.backup
# 恢复配置(如果需要)
cp ~/.claude.json.backup ~/.claude.json
清理和重置
# 清理日志文件
rm -rf ~/.cache/claude-cli-nodejs/*/mcp-logs-*
# 完全重置 MCP 配置
claude mcp remove context7 -s user
claude mcp remove sequential-thinking -s user
claude mcp remove memory -s user
claude mcp remove playwright -s user
claude mcp remove shrimp-task-manager -s user
高级配置技巧
1. 自定义环境变量
某些 MCP 服务器支持环境变量配置:
# 为 Context7 设置 API 密钥(如果需要)
claude mcp add context7 "/home/$(whoami)/.npm-global/bin/context7-mcp" --scope user -e CONTEXT7_API_KEY=your_key
# 为 Memory 服务器设置存储路径
claude mcp add memory "/home/$(whoami)/.npm-global/bin/mcp-server-memory" --scope user -e MEMORY_STORAGE_PATH=/path/to/storage
2. 项目特定配置
在项目根目录创建 .mcp.json 文件进行项目级配置:
{
"mcpServers": {
"project-context7": {
"command": "/home/username/.npm-global/bin/context7-mcp",
"args": ["--project-mode"],
"env": {
"PROJECT_NAME": "my-nextjs-app"
}
}
}
}
3. 性能监控脚本
创建一个简单的监控脚本 check-mcp.sh:
#!/bin/bash
echo "=== MCP 服务器状态检查 ==="
claude mcp list
echo -e "\n=== 检查日志文件大小 ==="
du -sh ~/.cache/claude-cli-nodejs/*/mcp-logs-* 2>/dev/null || echo "无日志文件"
echo -e "\n=== 内存使用情况 ==="
ps aux | grep -E "(context7|mcp-server|playwright)" | grep -v grep
使用方法:
chmod +x check-mcp.sh
./check-mcp.sh
深度故障排除
调试模式详解
# 启用详细调试信息
export DEBUG=claude:*
claude --debug mcp list
# 查看特定服务器的启动日志
tail -f ~/.cache/claude-cli-nodejs/$(pwd | sed 's/\//-/g')/mcp-logs-context7/*.txt
网络问题排查
# 检查网络连接
curl -I https://registry.npmjs.org/
# 检查 npm 配置
npm config list
# 测试包下载
npm view @upstash/context7-mcp
权限问题深度排查
# 检查 npm 全局目录权限
ls -la ~/.npm-global/
# 检查可执行文件权限
ls -la ~/.npm-global/bin/ | grep mcp
# 修复权限(如果需要)
chmod +x ~/.npm-global/bin/*mcp*
性能优化建议
1. 内存使用优化
# 监控 MCP 服务器内存使用
ps aux | grep -E "(context7|mcp-server)" | awk '{print $2, $4, $11}' | sort -k2 -nr
# 设置内存限制(如果需要)
claude mcp add memory "/home/$(whoami)/.npm-global/bin/mcp-server-memory" --scope user -e NODE_OPTIONS="--max-old-space-size=512"
2. 启动速度优化
# 预热 MCP 服务器(可选)
echo '#!/bin/bash
for server in context7-mcp mcp-server-memory mcp-server-sequential-thinking playwright-mcp-server mcp-shrimp-task-manager; do
timeout 5s ~/.npm-global/bin/$server --help > /dev/null 2>&1 &
done
wait' > ~/.local/bin/warmup-mcp.sh
chmod +x ~/.local/bin/warmup-mcp.sh
3. 日志管理
# 创建日志轮转脚本
echo '#!/bin/bash
LOG_DIR=~/.cache/claude-cli-nodejs
find $LOG_DIR -name "*.txt" -mtime +7 -delete
find $LOG_DIR -type d -empty -delete' > ~/.local/bin/cleanup-mcp-logs.sh
chmod +x ~/.local/bin/cleanup-mcp-logs.sh
# 添加到 crontab(每周清理一次)
(crontab -l 2>/dev/null; echo "0 0 * * 0 ~/.local/bin/cleanup-mcp-logs.sh") | crontab -
实际使用案例
案例1:Next.js 项目开发工作流
1. 使用 Context7 查询 Next.js 15 新特性
2. 用 Sequential Thinking 分析项目架构
3. 通过 Memory 保存项目配置偏好
4. 用 Playwright 生成 E2E 测试
5. 用 Shrimp Task Manager 规划开发任务
案例2:TypeScript 类型定义优化
1. Context7 查询最新 TypeScript 语法
2. Sequential Thinking 分析复杂类型设计
3. Memory 记住项目特定的类型模式
4. Playwright 测试类型安全的 UI 组件
案例3:Supabase 集成开发
1. Context7 获取 Supabase 最新 API 文档
2. Sequential Thinking 设计数据库架构
3. Memory 保存数据库连接配置
4. Playwright 测试数据库操作的 UI 流程