当前位置: 首页 > news >正文

【翻译、转载】【译文】模型上下文协议(Model Context Protocol, MCP)简介

原文地址:

https://michaelwapp.medium.com/model-context-protocol-mcp-an-introduction-guide-25736f3dd672

在人工智能和 AI 驱动应用日新月异的格局中,一种与大型语言模型(LLM)交互的新方式正在兴起。随着 AI 智能体(Agent)的崛起带来了系统间高效交互的需求,高效的模型交互变得比以往任何时候都更加重要。

模型上下文协议(Model Context Protocol, MCP)是一种新兴标准,旨在简化 AI 模型与外部系统的交互方式,确保基于上下文的响应并实现与各种应用的无缝集成。但 MCP 究竟是什么?为何它在开发者和 AI 爱好者中日益受到关注?

本文将解释 MCP 是什么,它是如何工作的,以及它为何对 AI 交互的未来至关重要。

在这里插入图片描述

什么是模型上下文协议?

其核心是,模型上下文协议是一种标准化的方式,让 AI 系统能够在对话期间访问外部信息源。可以将其想象为赋予 AI 模型在需要时**“查找信息或执行操作”**的能力,而不是仅仅依赖其预训练知识或当前的对话上下文。

想象一下你正在与一个 AI 助手对话。没有 MCP,AI 只能利用其训练数据(有知识截止日期)以及你在当前对话中明确告知它的内容。有了 MCP,AI 可以动态地访问外部信息源——如数据库、API 或文档存储库——以提供更准确、最新和个性化的响应。

模型上下文协议是 Anthropic 发起的一个开源项目。他们的工作旨在创建一个统一的协议,允许 AI 系统以一致的方式请求和接收外部数据,无论底层实现如何。这种标准化对于构建更可靠、更透明的 AI 助手至关重要,这些助手能够为用户提供及时准确的信息。
在这里插入图片描述

MCP 是如何工作的?

模型上下文协议通过几个组件之间的结构化通信模式运作:

  • 用户 (User):与 AI 系统交互的人(例如,通过聊天界面、SaaS 应用程序或任何其他与 AI 通信的方式)。
  • AI 模型 (AI Model):处理用户查询的大型语言模型(如 GPT-4、Claude 或其他模型)。
  • MCP 服务器 (MCP Server):一个中间件服务,它解释模型对额外上下文的请求,并获取相关信息。
  • 信息源 (Information Sources):提供模型请求信息的外部数据存储库、API 或服务。

以下是典型的 MCP 交互流程:

  1. 用户向 AI 模型发送提示 (prompt)。
  2. 模型处理提示,并确定需要额外的上下文来提供准确的响应。
  3. 模型按照 MCP 格式生成对特定信息的请求。
  4. MCP 服务器接收此请求,对其进行解释,并查询适当的信息源。
  5. 信息源将请求的数据返回给 MCP 服务器。
  6. MCP 服务器格式化数据并将其发送回模型。
  7. 模型将这些新信息整合到其上下文中,并为用户生成响应。

这个过程无缝发生,且通常近乎实时,给人一种 AI 助手知识更渊博、能力更强的印象。

MCP 的技术结构

现在让我们看看模型上下文协议的底层工作原理:

请求结构

当 AI 模型需要额外的上下文时,它会生成一个结构化的请求,通常包括:

{"queries": [{"provider": "github","query": "the last 10 files changed in the main branch of the example repository","parameters": {"repo_name": "example"}}]
}

在这个例子中,你可以看到:

  • queries: 查询对象的数组,允许同时发起多个信息请求。
  • provider: 指定使用哪个信息源(在此例中是 “github”,可能指向一个搜索引擎或知识库)。
  • query: 实际的查询文本。
  • parameters: 额外的配置选项,例如 repo_name

请注意,这是一个简化版本,因为 AI 模型使用此上下文请求格式的更复杂版本来查询外部源。

响应格式

MCP 服务器随后以模型能够解释的标准化格式返回数据:

{"responses": [{"provider": "github","status": "success","results": [{"filename": "app.py","commit_id": "c21100226d66741de8d56fb8351d83e5723a5e32"},{"filename": "requrirements.txt","commit_id": "c21100226d66741de8d56fb8351d83e5723a5e32"},// 更多结果...]}]
}

这种结构化格式确保模型能够高效地处理和整合新信息。

常见的 MCP 提供者 (Providers)

MCP 实现通常包括几个标准提供者:

  • 搜索 (Search):从搜索引擎或知识库检索相关信息。
  • 文档 (Document):访问特定的文档或内容存储库。
  • 数据库 (Database):查询结构化数据库以获取精确信息。
  • API:与外部服务接口以获取实时数据。
  • 向量 (Vector):在向量数据库上执行相似性搜索(对语义匹配很有用)。

每个提供者都有自己的参数和响应格式,但它们都遵循通用的 MCP 结构以保持一致性。

MCP 的好处

模型上下文协议提供了几个显著优势:

1. 克服知识截止日期

LLM 有一个训练截止日期,此后它们不了解世界事件或新信息。MCP 允许模型访问最新信息,有效地消除了这一限制。

2. 减少幻觉

通过向模型提供来自可靠来源的事实信息,MCP显著降低了 AI 响应中出现“幻觉”或捏造信息的可能性。

3. 个性化

MCP 使模型能够访问用户特定信息(在获得适当权限的情况下),从而实现更个性化的交互,而无需将所有这些信息都包含在对话上下文中。

4. 专业知识

模型可以利用特定领域的知识库和工具,使其能够在专业领域提供专家级的响应。

5. 透明度与溯源 (Attribution)

MCP 实现通常包含信息来源的归属信息,清楚地表明 AI 的知识来源,从而提高用户信任度。

真实世界示例

让我们探讨一些实际的 MCP 应用场景:

示例 1:访问日历的个人助理

用户:“我明天有什么会议?”

没有 MCP 时,AI 可能不得不回答:“我无法访问您的日历。”

使用 MCP 时

  1. 模型识别出它需要日历信息。
  2. 它向日历提供者生成一个 MCP 请求。
  3. MCP 服务器(通过适当的身份验证)查询用户的日历。
  4. 日历数据被返回给模型。
  5. 模型以详细列表的形式回应用户的会议安排。

示例 2:访问文档的技术支持

用户:“我该如何解决这个软件系统的错误 FD-123?”

使用 MCP 时

  1. 模型识别出这是一个技术支持问题。
  2. 它生成一个 MCP 请求,以搜索该软件系统的文档。
  3. MCP 服务器检索相关的故障排除指南。
  4. 模型综合这些信息,形成一个有用的响应,其中可能包括官方文档的直接引用。

示例 3:获取实时数据的研究助理

用户:“mRNA 疫苗技术的最新进展是什么?”

使用 MCP 时

  1. 模型确定它需要超出其训练数据的当前信息。
  2. 它通过 MCP 查询一个科学研究数据库。
  3. MCP 服务器返回最近的论文和发现。
  4. 模型将这些信息综合成一个全面的摘要,并附带引文。

实现 MCP:可用资源

对于有兴趣在自己项目中实施 MCP 的开发者,有几个可用的开源资源:

  • MCP 服务器参考实现:MCP 服务器规范的一个标准实现。
  • 官方参考文档:MCP 的官方文档。
  • “MCP Hub”:在这里可以找到许多已发布的、可立即使用的 MCP。

安全和隐私考量

虽然 MCP 提供了强大的功能,但它也引发了重要的安全和隐私考量:

  • 访问控制 (Access Control):MCP 实现必须仔细管理模型可以访问哪些信息源以及在什么情况下可以访问。
  • 数据最小化 (Data Minimization):应仅检索必要的信息并与模型共享。
  • 用户同意 (User Consent):应告知用户并在其交互过程中访问外部数据源时征得其同意。
  • 身份验证 (Authentication):必须为访问私有或敏感信息源实施安全的身份验证机制。
  • 审计追踪 (Audit Trails):记录 MCP 请求有助于保持透明度和问责制。

MCP 的未来

模型上下文协议代表着朝着功能更强大、更值得信赖的 AI 系统迈出的重要一步。随着协议的发展,我们可以期待看到:

  • 标准化 (Standardization):MCP 标准在不同 AI 提供商之间得到更广泛的采用。
  • 更丰富的提供者生态系统 (Richer Provider Ecosystem):出现更多针对不同类型信息和服务的专业提供者。
  • 增强的推理能力 (Enhanced Reasoning):模型不仅能访问信息,还能推理应该访问哪些信息以及如何组合多个来源的信息。
  • 用户控制 (User Control):提供更精细的用户控制,让用户决定可以访问哪些信息源以及何时访问。

结论

模型上下文协议通过打破模型与其所需信息之间的壁垒,正在改变我们与 AI 系统的交互方式。通过为 AI 模型访问外部信息提供标准化的途径,MCP 使得 AI 体验更加准确、最新和个性化。

在下一篇文章中,我们将探讨一个模型上下文协议服务器的示例实现。此外,我们还将探讨 OpenAI 对模型上下文协议标准的回应(或对应方案)。

对于希望在其 AI 解决方案中实施 MCP 的组织,我们的机构专门开发根据特定业务需求量身定制的 MCP 服务器和集成。我们帮助弥合您组织的知识库与用户交互的 AI 系统之间的差距。

无论您是构建需要访问产品文档的客户服务聊天机器人,还是需要最新科学论文的研究助理,或是需要安全访问公司数据的内部工具,MCP 都提供了使这些交互成为可能的架构。

这篇博文由领先的 AI 集成服务提供商 AVIMBU 撰写。请访问我们的网站 avimbu.com,了解更多关于我们如何帮助您的组织实施 MCP 和其他高级 AI 功能的信息。

注意:模型上下文协议是一项快速发展的技术。本文信息截至 2025 年 3 月。有关最新信息,请参阅官方 MCP 规范和文档。

同时也需要如下贴图中提到的,mcp迭代非常快,很可能信息就不准确了。官网是最可靠的参考。

参考资料:
在这里插入图片描述

在这里插入图片描述

相关文章:

  • 邮件协议、签名与推送
  • C++23 新特性:为 std::pair 的转发构造函数添加默认实参
  • 《前端秘籍:SCSS阴影效果全兼容指南》
  • drawDB:打造高效数据库设计流程
  • 仓颉编程语言快速入门:从零开始构建你的第一个程序
  • BC19 反向输出一个四位数
  • Runnable 组件生命周期监听器与使用场景
  • 【人工智能】人形机器人与低空经济协同发展分析
  • window-docker的容器使用宿主机音频设备
  • 【51单片机2个定时器2个外部中断设置】2022-5-11
  • maven坐标导入jar包时剔除不需要的内容
  • 基于开源AI大模型AI智能名片S2B2C商城小程序源码的私域流量稳定性构建研究
  • Android运行时ART加载OAT文件的过程
  • Hadoop 1.x设计理念解析
  • 配置和使用持久卷
  • Prompt多版本测试指南:如何科学评估不同提示词的效果
  • OpenCv实战笔记(1)在win11搭建opencv4.11.1 + qt5.15.2 + vs2019_x64开发环境
  • ROC-AUC:模型评估的“超级英雄
  • 文献分享:CH-CL配对和VL结构域的完整性影响IgG1分泌过程
  • Coco AI 入驻 GitCode:打破数据孤岛,解锁智能协作新可能
  • 今晚上海地铁1、2、10、17号线加开定点班车至次日0点
  • 马斯克的“星舰基地”成为新城镇,首任市长为SpaceX员工
  • 五年来首次!香港金管局斥资465.39亿港元购买美元
  • 9米长林肯车开进安徽“皖南川藏线”致拥堵数小时,车主回应争议称配合调查
  • 竞彩湃|德甲保级白热化,都灵主帅直面旧主
  • 五大白酒去年净利超1500亿元:贵州茅台862亿领跑,洋河营收净利齐降