AI知识分享AI知识分享
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 数学基础
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Agentic AI
  • Transformer
  • PyTorch
  • HuggingFace
  • LangChain
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • Cursor
  • 概念
  • 意图识别
  • 工具
  • 学习路线
  • PyTorch 资料
  • 公式学习
  • PyTorch 基础练习
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 数学基础
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Agentic AI
  • Transformer
  • PyTorch
  • HuggingFace
  • LangChain
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • Cursor
  • 概念
  • 意图识别
  • 工具
  • 学习路线
  • PyTorch 资料
  • 公式学习
  • PyTorch 基础练习
  • AI For Everyone

    • 什么是AI
    • 构建 AI 项目
    • 在公司内构建AI
    • AI与社会
  • AIGC_2024大会

    • 大模型下的软件工程:进展与挑战
    • 大语言模型智能体高效协作框架
    • 生成式人工智能的数学与统计学基础
    • 脑认知启发的人工智能
    • LLM Reasoning and Generalization
  • AIGC_2025大会

    • 构建人工智能安全的微基准测试
    • 大语言模型与软件自动化的变革与趋势
    • 基于大模型的代码生成和摘要技术
  • Agentic AI

    • 智能体工作流

      • 什么是智能体 AI?
      • 自主程度
      • 智能体 AI 的优势
      • 智能体 AI 的应用
      • 为什么需要任务分解?
      • 评估智能体 AI
      • 智能体设计模式
    • 反思设计模式

      • 反思如何改进任务输出
      • 为什么不一次直接生成?
      • 图表生成工作流程
      • 评估反思的影响
      • 使用外部反馈
    • 工具使用

      • 什么是工具
      • 创建工具
      • 工具调用语法
      • 代码执行
      • MCP
    • 构建智能体 AI 的实用技巧

      • 评估(Evals)
      • 错误分析与优先级
      • 更多错误分析示例
      • 组件级评估
      • 如何解决问题
      • 延迟与成本优化
      • 开发流程总结
    • 高度自主智能体模式

      • 规划工作流
      • 创建并执行 LLM 计划
      • 基于代码执行的规划
      • 多智能体工作流
      • 多智能体通信模式
      • 总结

工具使用

定义:MCP(Model Context Protocol,模型上下文协议)是由 Entropy 提出的一个标准,旨在为大型语言模型(LLM)提供一种标准化的方式来访问外部工具和数据源。 目的:解决开发者在构建智能体式应用时,需要为每个应用重复编写代码来集成不同工具(如 Slack, GitHub, Google Drive 等)的痛点。 现状:该协议已被许多公司和开发者广泛采用,形成了一个活跃的生态系统。


一、问题与解决方案

传统开发模式的问题

重复造轮子:- 开发者 A 构建 App 1,需要集成 Slack、Google Drive、GitHub 和 PostgreSQL。- 开发者 B 构建 App 2,同样需要集成这些工具。- 每个应用都必须独立编写封装代码来调用各个工具的 API。- 如果有 m 个应用和 n 个工具,整个社区的工作量是 m × n,效率低下且浪费资源。

MCP 的解决方案

  • 引入共享服务器:MCP 提出了一种标准,允许应用程序通过一个共享的 MCP 服务器来访问工具和数据源。
  • 工作量优化:
    • 不再是每个应用都创建自己的工具封装。
    • 只需要开发 n 个 MCP 服务器(每个对应一个工具),然后让 m 个应用去连接这些服务器。
    • 整个社区的工作量从 m × n 降低到 m + n,实现了巨大的效率提升。

alt text

MCP 的核心组件

1. 客户端 (Clients)

  • 角色:希望访问外部工具或数据的应用程序。
  • 示例:Cursor, Claude Desktop, Windsurf。
  • 功能:向 MCP 服务器发送请求,获取数据或执行操作。

2. 服务器 (Servers)

  • 角色:提供工具和数据源的软件服务。
  • 示例:Slack, Google Drive, GitHub, PostgreSQL。
  • 功能:作为“包装器”,接收来自客户端的请求,并将其转换为对原始工具 API 的调用,然后将结果返回给客户端。
  • 来源:部分服务器由服务提供商开发,但也有大量第三方开发者贡献。

alt text

MCP 的能力范围

  • 初始设计:侧重于为 LLM 提供更多上下文,最初的工具主要是用于“获取数据”(fetch data)。
  • 当前发展:MCP 的能力已扩展,不仅能访问数据,还能调用更通用的功能和执行操作。在 MCP 文档中,这些统称为“资源”(resources)。

实际演示:Claude Desktop 使用 GitHub MCP 服务器

  1. 场景:用户在 Claude Desktop 中输入查询:“总结该 GitHub 仓库的 README 文件内容”,并附上 URL。
  2. 流程:
    • Claude Desktop 作为 MCP 客户端,识别到这是一个需要访问 GitHub 的请求。
    • 它向已连接的 GitHub MCP 服务器发送一个请求,参数包含文件路径 (README.md)、仓库名 (aisuite) 和所有者 (andrewng)。
    • GitHub MCP 服务器执行请求,从仓库下载文件内容。
    • 服务器将长文本响应返回给 Claude Desktop。
    • Claude Desktop 将接收到的内容反馈给 LLM,LLM 生成一份简洁、格式良好的摘要。
  3. 第二次查询:用户询问“有哪些最新的 Pull Request?”。
    • 同样,客户端向服务器发送“List pull requests”的请求。
    • 服务器返回 JSON 格式的拉取请求列表。
    • LLM 将其整理成清晰易读的列表,包括标题、状态、作者和描述等信息。
最近更新: 2026/6/27 21:49
Contributors: klc407073648
Prev
代码执行