一文讲清 CLAUDE.md、Skills、MCP、Hooks 的实战用法

人工智能2周前更新 geekmao
245 0 0

三、MCP:打通外部世界

3.1 为什么需要 MCP

前面讲的 CLAUDE.md 和 Skills 都是 ” 知识 “—— 本质是 Markdown 文本,Agent 读了之后更聪明,但它还是只能 ” 说 ” 不能 ” 做 “。

没有 MCP 之前:

  • Agent 只能操作本地文件
  • 想查数据库?手动复制粘贴
  • 想发 Slack 通知?自己写脚本
  • 想操作 GitHub PR?通过网页手动点

有了 MCP 之后:

  • Agent 直接查询数据库
  • Agent 直接发 Slack 消息
  • Agent 直接操作 GitHub PR
  • 统一协议,一次配置,处处可用

3.2 它是什么

MCP( Model Context Protocol )是一个标准化协议,让 Agent 能连接外部工具和数据源。

Anthropic 官方指南里有一个很好的比喻:MCP 是专业厨房,Skills 是菜谱。厨房里有各种工具、食材、设备( MCP 提供的能力 ),但光有厨房不够,你还需要菜谱告诉你怎么把这些东西组合成一道菜( Skills 定义的流程 )。

3.3 USB-C 比喻:统一接口

MCP 出现之前,每个 AI 工具要连接外部服务都得单独写适配器。假设有 N 个 Agent 和 M 个工具,就需要 N × M 种集成方式。

MCP 的思路跟 USB-C 一样——定义一个统一接口。每个工具只要实现 MCP 协议,任何支持 MCP 的 Agent 都能直接调用。N + M 就够了。

Markdown
没有 MCP:                    有了 MCP:
Agent A ──┬── Slack           Agent A ──┐
Agent A ──┼── GitHub                    │
Agent B ──┼── Slack           Agent B ──┼── MCP ──┬── Slack
Agent B ──┼── GitHub                    │         ├── GitHub
Agent C ──┼── Slack           Agent C ──┘         ├── DB
Agent C ──┘── GitHub                              └── Figma
( 6 种集成 )                  ( 3 + 4 = 7 个接口,但可任意组合 )

3.4 配置示例

Claude Code 中,通过 settings.json 配置连接 MCP Server:

JSON
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"]
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost:5432/mydb"]
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"]
    }
  }
}

配置之后,Agent 就能:

  • 通过 GitHub MCP 读取 PR、提交 Review Comments、创建 Issue
  • 通过 Postgres MCP 查询数据库、分析数据
  • 通过 Slack MCP 发送消息通知团队

你不需要写任何胶水代码。

3.5 常用 MCP Servers

MCP Server 功能 使用场景
github PR 操作、Issue 管理、代码搜索 自动化代码审查、项目管理
slack 发送消息、读取频道 团队通知、状态更新
postgres 数据库查询 数据分析、生成报告
filesystem 高级文件操作 批量文件处理
puppeteer 浏览器自动化 Web 抓取、UI 测试
google-drive 文件上传下载 文档管理
 

更多 MCP Servers:modelcontextprotocol.io

3.6 MCP vs Skill:互补关系

维度 MCP Skill
它是什么 连接外部服务的协议 知识、工作流和参考材料
提供 工具和数据访问 知识、工作流和参考材料
示例 Slack 集成、数据库查询 代码审查清单、部署工作流
 

它们解决不同的问题,可以很好地协同工作

  • MCP 给予 Claude 与外部系统交互的能力。没有 MCP,Claude 无法查询你的数据库或发布到 Slack。
  • Skill 给予 Claude 关于如何有效使用这些工具的知识。Skill 可能包括你团队的数据库架构和查询模式,或带有你团队消息格式规则的 /post-to-slack 工作流。

例子

  • MCP server 将 Claude 连接到你的数据库
  • Skill 教导 Claude 你的数据模型、常见查询模式以及用于不同任务的表

3.7 注意事项

✅ 按需接入,不要一次连 20 个 Server( 占用上下文 )

权限最小化,只给 Agent 必要的访问权限

✅ 优先使用官方或社区维护的 MCP Server

❌ 不要不用 MCP,直接让 Agent 跑 shell 命令操作外部服务( 不安全、不可控 )

检查连接状态/mcp

这个命令可以查看:

  • 哪些 MCP Servers 已连接
  • 每个 Server 的 token 成本
  • 连接状态是否正常

3.8 核心定位

MCP 是能力扩展层。

四者的关系可以这样理解:

  • CLAUDE.md 告诉 Agent  ” 这是什么项目 “( 上下文 )
  • Skills 告诉 Agent  ” 怎么做 “( 流程 )
  • MCP 让 Agent  ” 能动手 “( 能力 )
  • Hooks 让固定流程  ” 自动执行 “( 自动化 )

© 版权声明

相关文章

暂无评论

暂无评论...