MCP vs Skills vs Slash Commands
Claude Code 扩展能力的三种方式对比
概念定义
MCP (Model Context Protocol)
通过开源的 MCP 标准连接外部工具、数据库和 API。Claude 可以调用远程服务或本地程序,访问外部数据源。
传输方式:
- HTTP/SSE(远程服务)
- Stdio(本地进程)
- 插件提供
Skills
打包化的专业知识,存储为目录结构(SKILL.md + 支持文件)。Claude 自动发现并根据问题内容自主决定是否使用。
特点:
- 可包含脚本、模板、参考文档
- 支持工具权限限制(
allowed-tools) - 自动检测和激活
Slash Commands
用户显式调用的快速提示词,以 Markdown 文件存储。需要明确输入 /command-name 触发。
特点:
- 单个
.md文件 - 支持参数、bash 执行、文件引用
- 简洁高效
对比表
| 维度 | MCP Servers | Skills | Slash Commands |
|---|---|---|---|
| 目的 | 连接外部工具/数据源 | 打包专业知识和工作流 | 快速常用提示词 |
| 触发方式 | Claude 自动调用可用工具 | 自动发现(基于描述) | 显式调用(/command) |
| 结构 | 独立服务(HTTP/Stdio) | 目录结构(SKILL.md + 资源) | 单个 .md 文件 |
| 复杂度 | 中等(需配置认证、权限) | 高(多文件、脚本、流程) | 低(简单提示词) |
| 共享方式 | .mcp.json 配置文件 | Git 检入(项目/个人) | Git 检入(项目/个人) |
| 权限控制 | 工具权限设置 | allowed-tools 限制 | 工具权限设置 |
使用场景
何时用 MCP Servers
- 需要访问外部服务:GitHub、Sentry、Jira、Notion、PostgreSQL 等
- 需要实时数据:监控系统、错误追踪、任务管理
- 集成第三方工具:Slack、Gmail、Stripe 等
# 添加 MCP 示例
claude mcp add --scope user --transport http context7 https://mcp.context7.com/mcp
claude mcp add --scope user --transport http github https://api.githubcopilot.com/mcp/何时用 Skills
- 复杂工作流需要多个步骤和文件
- 团队需要标准化的处理流程
- 需要脚本辅助(如 PDF 处理、数据分析)
- 希望 Claude 自动识别并使用(无需显式调用)
示例场景:
- PDF 表单填充(包含脚本 + 参考文档)
- Excel 数据分析(含示例和验证)
- 代码审查工作流
何时用 Slash Commands
- 常见的快速操作:
/review、/optimize、/explain - 需要明确控制何时执行
- 单个文件可以搞定的提示词
- 团队协作的 git hooks(如
/commit、/pr-comments)
MCP 配置
作用域
| 作用域 | 存储位置 | 说明 |
|---|---|---|
user (全局) | ~/.claude.json | 对所有项目生效 |
project | 项目根目录 .mcp.json | 团队共享,可提交到 git |
local (默认) | ~/.claude.json (按项目路径) | 仅当前项目生效 |
常用命令
# 添加全局 MCP
claude mcp add --scope user --transport http <name> <url>
# 查看所有 MCP
claude mcp list
# 移除 MCP
claude mcp remove <name>推荐的 MCP Servers
| MCP Server | 用途 | 添加命令 |
|---|---|---|
| Context7 | 实时查询最新文档 | claude mcp add --scope user --transport http context7 https://mcp.context7.com/mcp |
| GitHub | PR 管理、代码审查 | claude mcp add --scope user --transport http github https://api.githubcopilot.com/mcp/ |
| Sentry | 错误监控和调试 | claude mcp add --scope user --transport http sentry https://mcp.sentry.dev/mcp |
| Playwright | 浏览器自动化测试 | 需本地安装 |
| PostgreSQL | 数据库查询 | 需本地配置 |
| Notion | 知识库访问 | 需 OAuth 认证 |
决策流程
用户问题 → 选择什么?
"我想连接 Sentry 查看错误日志"
→ MCP Servers
"我需要一个智能 PDF 处理工具"
→ Skills
"我经常需要审查代码"
→ Slash Command (/review)
"我想用数据库查询"
→ MCP Servers
"Claude 应该自动帮我做某事"
→ Skills(自动发现)
总结
- MCP = 接口(连接外部工具)
- Skills = 能力(自动发现、复杂流程)
- Slash Commands = 快捷键(显式调用、简单操作)
官方推荐组合使用:用 MCP 连接外部服务,用 Skills 封装复杂工作流,用 Slash Commands 实现快速操作。