MCP协议介绍
MCP(Model Context Protocol,模型上下文协议) 是一个开源的协议,提供了一种通用、标准的方式把LLM AI 大模型和不同数据源以及工具连接起来。类似USB HUB 方式。 与传统调用 API 的方式不同,每个工具都有不同的调用方式,不同的AI 应用或者 LLM 调用时,都需要集成一遍。MCP 的出现,本质上来说出现一个中间层,把工具的提供方和工具的调用方进行了解耦,这样AI应用可以灵活的使用现有已经实现的工具,而不需要单独的集成,提供了开发效率。 协议架构 MCP HOSTS 面向终端用户的AI 应用,类似 Claude Desktop, IDEs 等通过MCP 协议来访问数据 MCP Client 协议的客户端,可以和mcp server 1:1 进行连接。他们之间通过 mcp 协议交互。Client 通常被集成到 host 中。 MCP Server 实现了mcp 协议的服务提供方,它会把数据源以及工具的使用通过服务暴露出去。 目前包括两种 transport layer: Stdio transport 通过标准的输入输出进行通讯(stdin, stdout) mcp server 运行在本机的进程中,比如 IDE 中的 AI 助手操作本地的终端,或者管理目录和文件等等 HTTP with SSE transport 使用 SSE 协议进行远程服务通讯 使用http post 请求方式 MCP 的协议是通过 JSON-RPC 2.0的方式来通讯的,具体协议可以参考这里。需要理解消息类型 request/response, 一个请求,正确的相应后返回 response , 具体response 业务数据封装在 result 字段中。 当请求出错的情况下,返回的错误信息封装到 error 字段中。 还有一种特殊的请求叫 Notifications , 这个请求不会带RequestId, 也不需要返回响应数据。 在MCP server 的实现中,需要定义好需要提供哪几类数据到client 使用。...