模型上下文协议(,缩写:MCP)是Anthropic所推动的一项开放标准,目的是为大型语言模型应用提供一个标准化接口,使其能够连接外部数据源和工具,并与其交互。
MCP的目标在克服大型语言模型应用仅依赖其训练数据的局限性,使其能够获取所需的上下文信息,以执行更广泛的任务。MCP通过定义一套通用的准则和格式,使得大型语言模型应用可以在需要时动态地获取相关信息、执行操作,从而增强其功能和使用范围。
概述
模型上下文协议的核心在于建立一个标准化的通信层,使得大型语言模型能够在处理用户请求或执行任务时,如果需要访问外部信息或功能,可以通过MCP客户端向MCP服务器发送请求。MCP服务器则负责与相应的外部数据源或工具进行交互,获取数据并按照MCP协议规范进行格式化,最后将格式化后的数据返回给大型语言模型。大型语言模型接收到上下文信息后,可以将其用于生成更准确、更相关的回复,或者执行用户请求的操作。
核心概念
- 协议规范(Protocol Specification): 定义了客户端和服务器端之间通信的规则、数据格式、请求和响应结构以及错误处理机制。
*MCP客户端(MCP Client): 在 LLM或其服务基础设施端的实现,负责构建请求并发送给MCP服务器。Anthropic 提供了多种编程语言(如Python、TypeScript和Java)的SDK,以简化MCP客户端的开发。
- MCP服务器(MCP Server): 在外部系统端的实现,接收来自MCP客户端的请求,与实际的数据源或工具进行交互,并将获取的数据按照MCP协议规范格式化后返回给客户端。
- 上下文信息交换(Contextual Information Exchange): 促进大型语言模型与外部系统之间上下文信息的双向交换。
- 能力协商(Capability Negotiation): 允许客户端和服务器在通信开始时确定彼此支持的功能和协议版本。
技术细节
模型上下文协议 的技术实现旨在为大型语言模型应用与外部数据源和工具之间的无缝集成提供标准化的方法。 这是一种轻量级的远程过程调用协议,使用JSON作为数据格式。
MCP 主机
LLM 包含在 MCP 主机中,也就是 AI 应用或环境,例如由 AI 赋能的 IDE 或对话式 AI。这通常是用户的交互点,MCP 主机会在此使用 LLM 处理可能需要外部数据或工具的请求。
附加实用工具
MCP 还定义了以下附加实用工具,以增强协议的功能:
- 配置(Configuration)
参见
*大型语言模型
*人工智能
*应用程序编程接口
*开放源代码
*Anthropic
参考资料
外部链接
*
*
- [https://openai.github.io/openai-agents-python/mcp/ SDK documentation from OpenAI]
评论 (0)