前言

Claude Code 不是一个孤立的命令行工具——它通过 MCP、Skills 和 Agent 三层机制,可以接入外部数据源、复用工作流程、编排多智能体协作。

这篇文章从概念到配置,把这三种机制说清楚。


一、MCP(Model Context Protocol,模型上下文协议)

MCP 是什么

MCP 是 Anthropic 提出的一套开放协议,让 AI 模型能安全地访问外部工具和数据源。你可以把它理解为”AI 的 USB 接口”——只要实现了 MCP 协议,任何工具和数据源都能被 Claude 调用。

在没有 MCP 之前,让 AI 查数据库或调 API 需要自己写代码封装 Function Calling。有了 MCP,第三方直接提供现成的 MCP Server,配置一下就能用。

MCP 的架构

1
2
3
4
5
6
Claude Code(客户端)

├── MCP Server A ── 连接数据库,执行 SQL 查询
├── MCP Server B ── 连接 GitHub API,管理 Issue 和 PR
├── MCP Server C ── 连接文件系统,读取项目文档
└── MCP Server D ── 连接 Jira,查询任务状态

每个 MCP Server 是一个独立进程,暴露特定的工具(Tool)、资源(Resource)和提示模板(Prompt)。Claude 需要时调用对应的 Server,用完就断开,Server 挂了也不影响 Claude 主进程。

配置 MCP Server

在 Claude Code 中,配置 MCP 拥有全局用户级项目级两种范围作用域:

  1. 用户全局范围 (User Scope):推荐的全局配置文件路径是 ~/.claude.json
    • 注:为了方便过渡,Claude Code 在启动时也会自动读取和导入 Claude Desktop 的 ~/.claude/claude_desktop_config.json 中的配置。
  2. 项目级范围 (Project Scope):配置文件为项目根目录下的 .mcp.json
    • ⚠️ 重要安全提示:由于项目级配置会随 Git 提交,所以 .mcp.json 必须存放在项目的根目录中(切忌放在 .claude/ 子目录下)。在首次启动带有项目配置的 claude 时,系统出于安全考量会主动向你发起授权确认。

方式一:使用内置的 CLI 命令进行增删(推荐,极简快捷)

Claude Code 提供了极为好用的命令行工具来管理 MCP 插件,它会自动为你写好上述的 JSON 配置文件,完全无需手动编辑:

1
2
3
4
5
6
7
8
9
10
11
# 1. 交互式添加一个全局 MCP 插件 (会在 ~/.claude.json 中创建)
claude mcp add --scope user sqlite -- uvx mcp-server-sqlite --db-path /path/to/db.sqlite

# 2. 为当前项目单独添加 MCP 插件 (会在项目根目录生成 .mcp.json,可随 Git 提交共享给团队)
claude mcp add --scope project github -- npx @anthropic/mcp-server-github --env GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxx

# 3. 列出当前已加载并激活的所有 MCP 服务
claude mcp list

# 4. 删除某个已配置的 MCP 服务
claude mcp remove <server-name>

方式二:手动编辑 JSON 配置文件

你也可以手动新建或修改 ~/.claude.json (全局) 或项目根目录下的 .mcp.json (项目级),其结构是一致的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"mcpServers": {
"sqlite": {
"command": "uvx",
"args": ["mcp-server-sqlite", "--db-path", "/path/to/db.sqlite"]
},
"github": {
"command": "npx",
"args": ["@anthropic/mcp-server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxx"
}
},
"filesystem": {
"command": "npx",
"args": ["@anthropic/mcp-server-filesystem", "/path/to/allowed/dir"]
}
}
}

配置完成后,Claude 就会获得相应工具的超能力。你可以直接在交互窗口中要求它调用:

1
2
3
# 进入交互模式后,直接让 Claude 执行相关任务
# 或者使用非交互模式单次调用:
claude -p "用 sqlite 查询 users 表里有多少用户"

常用 MCP Server

MCP Server 用途
mcp-server-sqlite 操作 SQLite 数据库
mcp-server-postgres 操作 PostgreSQL
mcp-server-github GitHub Issue/PR/仓库管理
mcp-server-filesystem 文件系统读写(限定目录)
mcp-server-jira Jira 任务查询和创建
mcp-server-slack Slack 消息发送
mcp-server-puppeteer 浏览器自动化
mcp-server-brave-search Brave 搜索引擎

MCP 和其他方案的区别

MCP Function Calling LangChain Tools
标准化 开放协议,多模型通用 OpenAI 私有格式 LangChain 生态内
部署方式 独立进程,和新模型隔离 嵌入在请求中 嵌入在代码中
跨模型 Claude/GPT 都能用 主要在 OpenAI 用 看封装
复用性 一次开发到处用 需要适配不同模型 只在 LangChain 内

MCP 最大的优势是标准化和跨模型。写一个 MCP Server 就能给 Claude、GPT、开源模型一起用。Function Calling 则绑定了 OpenAI 的 API 格式,跨模型需要适配。

而现在 GPT 也已宣布支持 MCP 协议,这意味着 MCP 正在成为 AI 工具接入的事实标准。


二、Skills(技能)

Skills 是什么

Skills 是可复用的任务模板——把”怎么做某件事”写成配置文件,Claude Code 收到相关任务时自动加载对应的 Skill,不需要每次都写一遍长长的 Prompt。

简单说,Skill 就是你给 Claude Code 写的”操作手册”。比如”部署到生产环境”这个任务很复杂,你可以把它写成一个 Skill,以后只需要说一句”部署”,Claude 就知道该怎么做。

内置 Skills

Claude Code 内置了一些常用 Skills,如代码审查、安全审查、PR 审查等。可以通过 / 命令触发:

1
2
3
4
5
6
# 交互模式下
/code-review # 审查当前变更
/security-review # 安全审查
/review # PR 审查
/simplify # 简化/优化代码
/init # 初始化 CLAUDE.md

自定义 Skill

Skill 文件放在项目的 .claude/skills/ 目录下,是一个 Markdown 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
---
name: deploy-to-production
description: 将项目部署到生产环境的完整流程
trigger: deploy|部署|上线
---

## 部署前检查
1. 运行 `npm run test` 确保所有测试通过
2. 运行 `npm run build` 确认构建成功
3. 检查 `.env.production` 中的环境变量是否已更新

## 部署步骤
1. `git push origin main`
2. 等待 CI 流水线通过
3. SSH 到生产服务器: `ssh user@prod-server`
4. `cd /var/www/myapp && git pull && docker compose up -d --build`
5. 运行冒烟测试: `curl -f https://example.com/health`

## 部署后验证
1. 检查日志: `docker compose logs -f --tail=50`
2. 验证首页加载: `curl -I https://example.com`
3. 如果有异常,执行回滚: `docker compose up -d --rollback`

使用方式:

1
2
3
4
5
6
# 触发自定义 Skill
claude "部署到生产环境"
# Claude 会自动加载 deploy-to-production skill 并按步骤执行

# 或者直接指定
claude --skill deploy-to-production

Skills 的特点

  • 可复用:写一次,团队共用
  • 可组合:一个 Skill 可以调用另一个 Skill
  • 版本控制:Skill 文件放在项目 Git 仓库里,随代码一起管理
  • 上下文自动加载:匹配到关键词自动注入到对话上下文中

三、Agent 模式(子智能体)

Agent 是什么

Claude Code 的 Agent 模式允许主对话派出子 Agent 去执行独立任务。子 Agent 有自己的上下文窗口,完成后把结果返回给主对话。

这带来几个好处:

  • 并行处理:多个子 Agent 同时干活
  • 上下文隔离:子 Agent 不会污染主对话的上下文
  • 专业分工:每个子 Agent 可以有独立的系统提示和工具权限

Agent 的典型工作流

1
2
3
4
5
6
7
8
主对话(项目经理)

├── Agent 1: 审查前端代码的安全性 → 返回报告
├── Agent 2: 审查后端 API 代码的安全性 → 返回报告
├── Agent 3: 检查 Docker 配置的安全问题 → 返回报告
└── Agent 4: 检查依赖库的已知漏洞 → 返回报告

主对话合并所有报告,生成最终审查文档

配置 Agent

Agent 配置在 CLAUDE.md 或对话中定义:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## Agents

### security-auditor
- **Description**: 专门做安全审查的子 Agent
- **Model**: sonnet
- **Tools**: Read, Grep, Bash, WebSearch
- **Prompt**: 你是安全审查专家。重点检查 SQL 注入、XSS、CSRF、敏感信息泄露。
对每个发现的问题给出严重级别(高/中/低)和修复建议。

### test-writer
- **Description**: 专门写测试的子 Agent
- **Model**: haiku
- **Tools**: Read, Write, Bash
- **Prompt**: 你是测试专家。给指定模块编写全面的单元测试,覆盖正常路径、
边界条件和异常处理。使用项目的测试框架(Jest/Vitest/pytest)。

在对话中启动 Agent

1
2
3
4
5
用户: "对整个项目做一次安全审查"

Claude: "这个任务比较大,我派几个 Agent 分别审查不同部分。
Agent 1 审查前端代码,Agent 2 审查后端代码,
Agent 3 检查配置文件和依赖。审查完汇总成报告。"

四、三种机制怎么组合

实际使用中,MCP、Skills、Agent 是互相配合的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌────────────────────────────────────────┐
│ Claude Code │
│ │
│ Skills: "安全审查"任务模板 │
│ │ │
│ ├── Agent 1: 审查前端 │
│ │ └── MCP: npm audit │
│ │ │
│ ├── Agent 2: 审查后端 │
│ │ └── MCP: 查询 CVE 数据库 │
│ │ │
│ └── Agent 3: 审查数据库 │
│ └── MCP: PostgreSQL 连接 │
└────────────────────────────────────────┘

一个完整的例子——“帮我写一份部署前检查报告”:

  1. Skill pre-deploy-check 定义了完整的检查流程
  2. Agent 1 用 MCP 连接 GitHub,检查是否有未合并的 PR
  3. Agent 2 用 MCP 连接数据库,检查是否有待执行的 migration
  4. Agent 3 读取 CHANGELOG,检查是否有 breaking changes
  5. 主对话汇总三个 Agent 的结果,生成检查报告

五、和 LangChain Agent 的对比

Claude Code Agent LangChain Agent
定位 AI 编程助手的扩展 通用 Agent 开发框架
写代码 原生能力 需要自己写
学习成本 低(写配置文件) 高(写代码 + 理解框架)
灵活度 受限于 Claude Code 生态 完全自定义
适用 开发任务、代码审查 自定义业务场景

如果你的需求是加速开发过程、做代码审查、写文档——直接用 Claude Code 的 Agent。如果你需要构建一个定制化的 AI 业务流程(如客服机器人、数据分析流水线),用 LangChain 或直接调 API 更灵活。


MCP 负责连接外部世界,Skills 负责沉淀可复用的流程,Agent 负责并行处理复杂任务。三者加在一起,Claude Code 就从一个”聊天窗口”变成了一个能真正干活的自动化平台。