Handbook · 第 7 章

工具调用与 MCP:Agent 的手脚

从 Function Calling 到 MCP,让 Agent 与真实世界连接

章节大纲

7.1 为什么 Agent 需要工具

  • LLM 是纯文本生成器,无法操作外部世界
  • 工具 = Agent 的“手脚”
  • 有工具的 Agent 才叫 Agent

7.2 Function Calling

  • OpenAI 首创,各家跟进
  • JSON Schema 描述工具
  • 模型输出结构化调用意图
  • 应用层执行并返回结果

7.3 Function Calling 的最佳实践

  • 工具描述要精准(Agent 靠这个选工具)
  • 参数用 enum 而非自由字符串
  • 返回结果控制大小
  • 错误信息给 Agent 看得懂的

7.4 MCP:Model Context Protocol

  • Anthropic 2024 年底提出
  • 统一“工具”和“资源”的协议
  • 类比:USB-C 之于电子设备
  • 一次开发,多端复用

7.5 MCP 的架构

  • MCP Server:提供工具/资源
  • MCP Client:Agent 一侧
  • Transport:stdio / SSE / HTTP
  • 官方 SDK:Python / TypeScript

7.6 主流 Agent 平台的 MCP 支持

  • Claude Desktop:官方
  • Cursor:一线支持
  • OpenClaw:Skills 生态
  • Codex CLI

7.7 实操:写一个自己的 MCP Server

  • 场景:查询个人 Notion 笔记
  • 从 stdio 到 HTTP 的选择
  • 权限设计
  • 调试技巧

7.8 MCP vs Function Calling vs 传统 API

  • 三者的边界
  • 什么时候用哪个
  • 未来演进方向

本章为大纲版本,正文待补充。