本文是「OpenClaw & Claude Code 学习系列」第二课。上一课我们学习了配置系统,这一课深入理解 MCP 和 Skills 的本质区别与组合使用策略。


前言:核心困惑

很多人在使用 Claude Code 时会发现:

  • MCP 可以调用外部工具
  • Skills 也可以封装工具调用
  • 那到底什么时候用 MCP,什么时候用 Skills?

一句话说清楚

MCP 负责"把 Claude 接到外部世界"(数据库、GitHub、SaaS 等),Skills 负责"教 Claude 用什么步骤、什么风格去完成任务"——在简单场景下看起来都能"完成同一件事",但底层职责完全不一样。


一、用直觉理解两者

1.1 MCP = USB-C 接口

可以把 MCP 想成 USB-C 接口

  • 标准化定义「Claude 能连哪些外部系统、能调用哪些工具」
  • 没有 MCP,Claude 就根本"摸不到"那些系统的数据或操作能力

架构

Claude Code ←→ MCP Server ←→ 外部服务
   (主进程)    (独立进程)    (GitHub/DB/API)

1.2 Skills = 工作说明书

可以把 Skills 想成"工作说明书 + 小型插件包"

  • 告诉 Claude「当要做 X 类任务时,你要按这种流程、用这些脚本/模板、遵守这些规则」
  • 没有 Skill,Claude 还是能用 MCP/工具,但会比较"随性",不一定按你理想的流程办事

官方总结

“MCP 管连通,Skills 管方法”


二、MCP 深入理解

2.1 MCP 是什么?

MCP(Model Context Protocol)的定位:给任何 AI 应用提供一个标准协议,用来连各种外部服务和数据源。

关键特征

  • 客户端–服务端模式:Host(Claude Code) ↔ MCP Server
  • 暴露三种原语:
    • 工具(tools):如 get_issues, query_orders
    • 资源(resources):如文档、数据
    • 提示模板(prompts):预定义的提示词
  • 需要部署/运行 MCP 服务器

2.2 MCP 管理命令

安装 MCP Server
# 添加 MCP Server
claude mcp add <server-name> -- <command>

# 示例:添加 GitHub MCP
claude mcp add github -- npx -y @modelcontextprotocol/server-github

# 添加 Context7(实时文档)
claude mcp add context7 -- npx -y @upstash/context7-mcp@latest

# 添加 PostgreSQL
claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres
管理命令
# 查看已安装的 MCP Server
claude mcp list

# 删除 MCP Server
claude mcp remove <server-name>

# 示例:删除 GitHub MCP
claude mcp remove github

# 查看 MCP Server 详情
claude mcp info <server-name>
配置文件

MCP Server 配置存储在:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

配置示例

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "your-token-here"
      }
    }
  }
}

2.3 推荐 MCP Server

核心开发
Server 用途 安装命令
Context7 实时文档(必装) claude mcp add context7 -- npx -y @upstash/context7-mcp@latest
GitHub PR、Issues、CI/CD claude mcp add github -- npx -y @modelcontextprotocol/server-github
Filesystem 高级文件操作 claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem
数据库
Server 用途 安装命令
PostgreSQL 查询 Postgres claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres
MongoDB MongoDB 操作 claude mcp add mongodb -- npx -y mongodb-mcp-server
DBHub 通用数据库 claude mcp add db -- npx -y @bytebase/dbhub
浏览器与测试
Server 用途 安装命令
Playwright E2E 测试 claude mcp add playwright -- npx -y @anthropic-ai/playwright-mcp
Brave Search 网络搜索 claude mcp add brave -- npx -y @anthropic-ai/brave-search-mcp
云服务
Server 用途 安装命令
AWS AWS 服务 claude mcp add aws -- uvx awslabs.aws-api-mcp-server@latest
Cloudflare Workers/KV/R2 claude mcp add cloudflare -- npx -y @cloudflare/mcp-server

2.4 MCP Server 发现渠道

  1. 官方目录

  2. 社区资源

2.5 OpenClaw 中的 MCP 使用

OpenClaw 借鉴了 MCP 的设计理念,但实现方式有所不同。

OpenClaw 的 MCP 支持

OpenClaw 通过 mcporter 技能支持 MCP 协议:

# 查看可用的 MCP 服务器
openclaw mcporter list

# 调用 MCP 工具
openclaw mcporter call <server-name> <tool-name> <params>

# 配置 MCP 服务器
# 编辑 ~/.openclaw/openclaw.json
配置示例

~/.openclaw/openclaw.json 中配置 MCP:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-github"],
        "env": {
          "GITHUB_TOKEN": "your-token-here"
        }
      }
    }
  }
}
OpenClaw 特有的"工具"概念

OpenClaw 除了 MCP,还有自己的工具系统

// OpenClaw 工具配置
{
  "tools": {
    "profile": "full",  // 或 "messaging"
    "allow": ["exec", "read", "write", "browser"],
    "deny": []
  }
}

对比

特性 Claude Code MCP OpenClaw 工具
协议 标准 MCP OpenClaw 内置
配置 claude_desktop_config.json openclaw.json
管理 claude mcp openclaw config
扩展 MCP Server Skills + 插件
实战示例
# OpenClaw 调用 GitHub(通过 MCP)
openclaw mcporter call github get_issues --repo="owner/repo"

# OpenClaw 调用内置工具
# 在对话中直接使用,无需额外配置
你:"帮我读取 package.json"
OpenClaw:*使用内置 read 工具* → 返回内容

三、Skills 深入理解

3.1 Skills 是什么?

Skills 是一个包含 SKILL.md + 若干资源/脚本的能力包,让 Claude 在特定任务上表现得像一个已经被"入职培训"过的专家。

典型结构

~/.claude/skills/code-review/
├── SKILL.md              # 核心说明
├── checklist.md          # 检查清单
└── templates/            # 模板文件
    └── report.md

SKILL.md 格式

---
name: code-review
description: 代码审查流程
tags: [review, security, quality]
---

# Code Review Skill

## 审查步骤
1. 检查安全漏洞
2. 检查性能问题
3. 验证错误处理
4. 检查测试覆盖

## 输出格式
- 问题列表
- 严重程度
- 修复建议

3.2 Skills 管理命令

创建 Skill
# 方法 1:手动创建
mkdir -p ~/.claude/skills/my-skill
touch ~/.claude/skills/my-skill/SKILL.md

# 方法 2:用 Claude 生成
# 在 Claude Code 中输入:
/skill create my-skill "描述你的技能"
管理命令
# 列出所有 Skills
/skills list

# 使用 Skill
/my-skill

# 查看 Skill 详情
/skill info my-skill

# 编辑 Skill
# 直接编辑 ~/.claude/skills/my-skill/SKILL.md
Skill 目录结构

全局 Skills

  • macOS/Linux: ~/.claude/skills/
  • Windows: %USERPROFILE%\.claude\skills\

项目 Skills

  • .claude/skills/ (项目根目录)

3.3 推荐 Skills

代码质量
---
name: code-review
description: 代码审查标准流程
---

# Code Review Skill
审查代码时:
1. 安全检查(SQL 注入、XSS)
2. 性能检查(N+1 查询、内存泄漏)
3. 测试覆盖(> 80%)
4. 代码风格(ESLint/Prettier)
重构
---
name: refactor
description: 安全重构流程
---

# Refactor Skill
重构前:
1. 确保测试覆盖 > 80%
2. 列出影响范围
3. 给出重构计划

重构中:
1. 小步提交
2. 每步跑测试

重构后:
1. 验证测试通过
2. 更新文档
API 设计
---
name: api-design
description: RESTful API 设计规范
---

# API Design Skill
设计 API 时:
1. RESTful 风格
2. 统一错误码
3. 分页用 limit/offset
4. 认证用 JWT
5. 版本化(/v1/)

3.4 Skills 发现渠道

  1. 官方资源

  2. 社区分享

  3. 自己创建

    • 把重复的工作流程写成 SKILL.md
    • 在团队内分享

3.5 OpenClaw 中的 Skills 使用

OpenClaw 的 Skills 系统与 Claude Code 高度相似,但有一些 OpenClaw 特有的增强。

OpenClaw Skills 目录结构
~/.openclaw/skills/
├── skill-name/
│   ├── SKILL.md          # 核心说明(必需)
│   ├── references/       # 参考文档
│   ├── scripts/          # 脚本文件
│   └── assets/           # 资源文件
管理命令

OpenClaw 通过 clawhub CLI 管理 Skills:

# 搜索 Skills
clawhub search <keyword>

# 安装 Skill
clawhub install <skill-name>

# 列出已安装的 Skills
clawhub list

# 更新 Skill
clawhub update <skill-name>

# 发布自己的 Skill
clawhub publish <skill-path>
SKILL.md 格式(OpenClaw 增强)
---
name: my-skill
description: 技能描述
version: 1.0.0
author: your-name
tags: [tag1, tag2]
dependencies:
  - other-skill
---

# My Skill

## 使用方法
...

## 配置
...

## 示例
...
OpenClaw 特有功能

1. Skills 可以调用其他 Skills

---
name: deploy-workflow
dependencies:
  - code-review
  - test-runner
---

# Deploy Workflow
部署前:
1. 调用 code-review Skill
2. 调用 test-runner Skill
3. 确认通过后部署

2. Skills 可以访问 OpenClaw 工具

---
name: github-pr-review
---

# GitHub PR Review
1. 用 browser 工具打开 PR 页面
2. 用 read 工具读取代码
3. 用 exec 工具运行测试
4. 用 message 工具发送审查结果

3. Skills 可以设置 Cron 定时任务

# 在 Skill 中定义定时任务
openclaw cron add \
  --name "daily-review" \
  --cron "0 9 * * *" \
  --session isolated \
  --agent main \
  --message "运行 code-review Skill"
OpenClaw Skills 市场

OpenClaw 有自己的 Skills 市场:

  1. ClawHub

    • 官方 Skills 市场:https://clawhub.com
    • 社区贡献的 Skills
    • 一键安装
  2. 本地 Skills

    • 存放在 ~/.openclaw/skills/
    • 可以版本控制
    • 团队共享
实战示例
# 安装一个 Skill
clawhub install feishu-doc

# 使用 Skill(在对话中)
你:"用 feishu-doc Skill 读取这个飞书文档"
OpenClaw:*加载 Skill* → 执行流程 → 返回结果

# 查看 Skill 详情
clawhub info feishu-doc
OpenClaw vs Claude Code Skills 对比
特性 Claude Code OpenClaw
目录结构 ~/.claude/skills/ ~/.openclaw/skills/
管理工具 /skill 命令 clawhub CLI
市场 Claude Market ClawHub
依赖管理 支持
定时任务 支持(Cron)
工具调用 有限 完整(exec/read/write/browser 等)

四、为什么会感觉"功能一致"?

4.1 完整业务链路

需求:分析最近一周 CI 失败情况,总结原因并提优化建议

单用 MCP

# 安装 CI MCP Server
claude mcp add ci -- npx -y @company/ci-mcp-server

# 使用
你:"查看最近一周 CI 失败情况"
Claude:*调用 MCP* → 返回数据 → 自由发挥分析
  • ✅ 能拿到数据
  • ❌ 分析流程不稳定
  • ❌ 输出格式不统一

单用 Skills

---
name: ci-analyzer
---
分析 CI 失败:
1. 按时间聚类
2. 按错误类型归类
3. 输出固定格式报告
  • ✅ 流程稳定
  • ❌ 拿不到实时数据(需要手动贴)

MCP + Skills 组合

---
name: ci-analyzer
---
分析 CI 失败:
1. 用 CI MCP 获取最近一周数据
2. 按时间聚类
3. 按错误类型归类
4. 输出固定格式报告(表格+根因+建议)
  • ✅ 能拿到实时数据
  • ✅ 流程稳定
  • ✅ 输出格式统一

4.2 职责划分

职责 MCP Skills
连接外部系统
获取实时数据
固定流程
统一风格
可复用模板

五、决策树:何时用谁?

需要调用外部服务?
├─ 是 → 考虑 MCP
│   ├─ 重复使用?
│   │   ├─ 是 → 装 MCP Server
│   │   └─ 否 → 用 CLI 命令
│   └─ 需要实时数据?
│       └─ 是 → 装 MCP Server
│
└─ 否 → 考虑 Skills
    ├─ 封装思考流程?
    │   └─ 是 → 创建 Skill
    ├─ 项目特定规范?
    │   └─ 是 → 创建 Skill
    └─ 代码模板?
        └─ 是 → 创建 Skill

5.1 典型场景对照表

场景 推荐方案 原因
查询 GitHub Issues MCP 外部 API 调用
代码审查流程 Skills 固定流程
查询数据库 MCP 外部服务
API 设计规范 Skills 项目规范
部署流程 Skills + MCP 组合使用
实时文档查询 MCP (Context7) 实时数据
重构流程 Skills 固定步骤

六、组合使用策略(推荐)

6.1 最佳实践

原则

MCP 把数据/工具送到 Claude 身边,Skills 规定 Claude 拿到这些东西之后具体要做什么。

示例:完整的部署流程

---
name: deploy
description: 标准部署流程
---

# Deploy Skill

## 部署前检查
1. 用 GitHub MCP 检查 CI 状态
2. 确保所有测试通过
3. 用 Kubernetes MCP 检查集群状态

## 部署执行
1. 用 Docker MCP 构建镜像
2. 用 Kubernetes MCP 更新部署
3. 用 Slack MCP 发送通知

## 部署后验证
1. 验证健康检查
2. 监控错误日志
3. 回滚准备

6.2 组合模式

模式 MCP 职责 Skills 职责
数据分析 获取数据 分析流程 + 报告格式
代码审查 获取 PR 信息 审查标准 + 输出模板
部署流程 调用云服务 API 部署步骤 + 验证规则
文档生成 获取代码结构 文档风格 + 模板

七、新手上路指南

第一阶段:只用 MCP(第 1-2 周)

先装这几个必备 MCP:

# 实时文档(必装)
claude mcp add context7 -- npx -y @upstash/context7-mcp@latest

# GitHub 操作
claude mcp add github -- npx -y @modelcontextprotocol/server-github

# 文件系统
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem

第二阶段:加入 Skills(第 3-4 周)

当你发现某些流程重复时,写成 Skills:

mkdir -p ~/.claude/skills/my-workflow

创建 ~/.claude/skills/my-workflow/SKILL.md

---
name: my-workflow
description: 我的工作流程
---

# My Workflow
我的工作流程...

第三阶段:组合使用(第 5+ 周)

MCP 负责外部调用,Skills 负责流程编排:

---
name: pr-review
---
PR 审查流程:
1. 用 GitHub MCP 获取 PR 信息
2. 检查代码风格
3. 检查测试覆盖
4. 生成审查报告

八、常见问题

Q1: MCP 和 Skills 能互相替代吗?

不能。职责完全不同:

  • MCP = 连接外部世界
  • Skills = 规定工作流程

Q2: 一定要组合使用吗?

不一定

  • 简单场景:只用 MCP 或只用 Skills
  • 复杂场景:组合使用效果最好

Q3: 如何选择?

简单判断

  • 需要外部数据 → MCP
  • 需要固定流程 → Skills
  • 两者都需要 → 组合使用

Q4: 性能影响?

  • MCP:每次调用消耗 tokens(传输上下文)
  • Skills:渐进式加载,只在需要时读取

总结

核心要点

  1. MCP = 外部服务的桥梁

    • 连接数据库、API、SaaS
    • 标准化协议
    • 跨项目复用
  2. Skills = 思考流程的模板

    • 固定工作流程
    • 统一输出风格
    • 项目特定规范
  3. 组合使用是最佳实践

    • MCP 负责"拿数据"
    • Skills 负责"怎么用"

附录:快速参考

MCP 常用命令

claude mcp add <name> -- <command>    # 添加
claude mcp list                       # 列出
claude mcp remove <name>              # 删除
claude mcp info <name>                # 详情

Skills 常用命令

/skills list                          # 列出
/skill-name                           # 使用
/skill info <name>                    # 详情

推荐资源


Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐