- ✅ 理解 MCP (Model Context Protocol) 的概念和价值
- ✅ 学会配置和使用 MCP 服务器
- ✅ 掌握 Sub-Agents 的使用场景
- ✅ 实现复杂任务的智能分解与协调
MCP 是一个开放协议,让 AI 应用(如 Claude Code)能够与外部工具和服务交互。
类比:
- USB 协议 → 连接各种硬件设备
- MCP 协议 → 连接各种软件服务
没有 MCP:
Claude Code → 只能操作本地文件
❌ 不能访问 GitHub
❌ 不能查询数据库
❌ 不能搜索网络
有了 MCP:
Claude Code + MCP → 连接一切
✅ GitHub 仓库管理
✅ 数据库查询
✅ 网络搜索
✅ Google Drive 访问
✅ 任何自定义服务
MCP Server 是一个独立程序,提供特定功能:
┌─────────────────┐
│ Claude Code │
└────────┬────────┘
│ MCP Protocol
┌────┴────┬────────┬────────┐
│ │ │ │
┌───▼──┐ ┌──▼──┐ ┌──▼──┐ ┌──▼──┐
│GitHub│ │ DB │ │File │ │自定义│
│ MCP │ │ MCP │ │ MCP │ │ MCP │
└──────┘ └─────┘ └─────┘ └──────┘
官方 MCP 服务器:
@modelcontextprotocol/server-github- GitHub 集成@modelcontextprotocol/server-filesystem- 文件系统访问@modelcontextprotocol/server-brave-search- 网络搜索@modelcontextprotocol/server-postgres- PostgreSQL@modelcontextprotocol/server-sqlite- SQLite
社区 MCP 服务器:
- Google Drive, Gmail, Slack, Notion...
- 查看完整列表:https://github.com/modelcontextprotocol/servers
位置:~/.config/claude/settings.json 或 .claude/settings.json
基本格式:
{
"mcpServers": {
"server-name": {
"command": "command-to-run",
"args": ["arg1", "arg2"],
"env": {
"ENV_VAR": "value"
}
}
}
}步骤:
-
获取 GitHub Token
- 访问:https://github.com/settings/tokens
- 创建 Personal Access Token
- 权限:repo, read:org, read:user
-
配置 MCP
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
}
}
}- 使用
"在 GitHub 上搜索 React 相关的仓库"
"创建一个 issue 到 my-repo"
"列出我所有仓库的 PR"
"查看 repo/name 的最新提交"
用途:安全地访问特定目录
配置:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/allowed/directory"
]
}
}
}使用:
"读取 /allowed/directory/file.txt"
"列出目录中的所有文件"
PostgreSQL:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://user:pass@localhost:5432/dbname"
]
}
}
}使用:
"查询 users 表中的所有数据"
"统计每个类别的商品数量"
"执行复杂的 JOIN 查询"
Sub-Agents 是 Claude Code 的任务委派系统,可以启动专门的 AI 助手处理特定任务。
类比:
你(项目经理)
├── 委派任务 A → 开发工程师
├── 委派任务 B → 测试工程师
└── 委派任务 C → 文档工程师
Claude Code(主 Agent)
├── 委派搜索 → general-purpose agent
├── 委派分析 → 专用 agent
└── 委派重构 → 专用 agent
1. general-purpose agent
- 用途:通用任务、搜索、分析
- 工具:所有工具(Read, Write, Bash, Glob, Grep...)
- 场景:复杂搜索、多文件分析
2. 专用 agents(根据配置)
- code-reviewer
- test-generator
- documentation-writer
- 等...
✅ 适合使用:
- 大型代码库搜索(50+ 文件)
- 需要多次迭代的任务
- 独立的子任务
- 需要并行处理的任务
❌ 不适合使用:
- 简单的单文件操作
- 已知具体位置的操作
- 需要立即结果的操作
场景:在 100+ 文件中搜索特定功能
提示词:
使用 Sub-Agent 在整个代码库中搜索用户认证相关的代码。
要求:
1. 找到所有认证逻辑
2. 识别认证流程
3. 列出所有相关文件
4. 总结认证机制
过程:
主 Agent 接收任务
↓
启动 general-purpose sub-agent
↓
sub-agent 执行:
- Glob 搜索相关文件
- Grep 搜索关键词
- Read 分析文件
- 总结结果
↓
返回给主 Agent
↓
主 Agent 呈现给用户
场景:同时分析多个模块
提示词:
并行分析以下三个模块:
1. src/auth - 认证模块
2. src/api - API 模块
3. src/database - 数据库模块
为每个模块生成:
- 功能概述
- 依赖关系
- 潜在问题
- 改进建议
Claude Code 会:
- 启动 3 个 sub-agents
- 并行分析各模块
- 汇总所有结果
场景:重构影响多个文件的功能
提示词:
使用 Sub-Agent 重构用户权限系统:
当前问题:
- 权限逻辑分散在 20+ 文件中
- 没有统一的权限检查机制
目标:
1. 找到所有权限检查代码
2. 设计统一的权限系统
3. 创建中央权限管理器
4. 更新所有文件使用新系统
5. 添加测试
提示词:
使用 GitHub MCP 和 Sub-Agents 完成:
1. 搜索我的仓库中所有开放的 issues
2. 分析每个 issue 的复杂度
3. 对于简单的 issues:
- 创建功能分支
- 实现功能
- 提交代码
- 创建 PR
4. 生成工作报告
执行流程:
主 Agent 使用 GitHub MCP → 获取 issues
↓
启动 sub-agent → 分析每个 issue
↓
对于每个简单 issue:
启动 sub-agent → 实现功能
使用 GitHub MCP → 创建 PR
↓
汇总所有结果 → 生成报告
任务:
- 获取 GitHub Token
- 配置 GitHub MCP
- 测试 MCP 功能
测试提示词:
# 测试 1:搜索仓库
"在 GitHub 上搜索 claude-code 相关仓库"
# 测试 2:查看 issues
"列出我的仓库 [repo-name] 的所有 issues"
# 测试 3:创建 issue
"在仓库 [repo-name] 创建一个 issue:标题是'测试MCP',内容是'这是一个测试issue'"
验证清单:
- MCP 配置正确
- 能搜索仓库
- 能查看 issues
- 能创建 issue
任务:使用 Sub-Agent 分析大型项目
步骤:
- 选择一个开源项目(50+ 文件)
- 使用 Sub-Agent 分析项目结构
- 生成项目文档
提示词模板:
使用 Sub-Agent 分析项目 [项目路径]:
请:
1. 扫描所有源代码文件
2. 识别主要模块和功能
3. 分析文件依赖关系
4. 生成项目结构文档
5. 列出潜在的改进点
验证清单:
- Sub-Agent 正确启动
- 能处理大量文件
- 分析结果准确
- 文档完整清晰
项目:自动化代码审查系统
要求:
- 使用 GitHub MCP 获取 PR
- 使用 Sub-Agent 审查代码
- 使用 GitHub MCP 提交审查意见
完整流程:
1. 列出所有待审查的 PR
2. 对每个 PR:
a. 获取变更文件
b. 启动 Sub-Agent 审查
c. 生成审查报告
d. 提交审查意见
3. 生成总结报告
- 正确配置至少 2 个 MCP 服务器
- MCP 能正常工作
- 理解 MCP 的工作原理
- 能排查 MCP 问题
- 能正确使用 Sub-Agents
- 理解何时使用 Sub-Agents
- 能有效分解复杂任务
- MCP + Sub-Agents 组合使用
- 实现实际工作流自动化
- 提高工作效率
总分 100,60分及格
检查:
- npx 命令可用:
which npx - Token 正确配置
- 网络连接正常
- 查看错误日志
# 手动运行 MCP 服务器
npx -y @modelcontextprotocol/server-github
# 检查环境变量
echo $GITHUB_PERSONAL_ACCESS_TOKEN决策树:
需要操作多个文件(>10)? → Yes → 使用 Sub-Agent
需要复杂搜索和分析? → Yes → 使用 Sub-Agent
任务独立且耗时? → Yes → 使用 Sub-Agent
简单的单文件操作? → No → 直接操作
- 检查任务描述是否清晰
- 简化任务范围
- 手动分解任务
- 查看 Agent 输出的错误信息
完成本模块后,继续学习:
将所有学到的技能应用到实际项目中!
记住:
- MCP → 连接外部世界
- Sub-Agents → 处理复杂任务
- 组合使用 → 无限可能