模型上下文协议(MCP)技术介绍与应用

AI摘要
Deepseek提供支持

模型上下文协议(Model Context Protocol, MCP)是AI大模型领域中一个开放的协议,由Anthropic公司于2024年11月推出,该协议规定了AI智能体应用以何种方式为大型语言模型(LLM)提供上下文,是AI 应用统一的 “USB-C 接口”,旨在为AI应用与外部资源提供统一的通信框架。如果你想精通MCP协议,搞清楚全部细节,https://modelcontextprotocol.io/docs/getting-started/intro

早先我们会预置AI大模型在调用工具或函数执行时所需要的参数信息,如AI柠檬博主上一篇博客文章提到的 Function Call / Tool Call。该机制允许大模型在需要时调用用户预先定义的函数、工具来获取数据或执行操作,显著提升了自动化水平。这一过程本质上是由大模型输出一个json格式内容,在字段指定参数值中告诉你应该调用什么函数,以及传入什么函数入参来实现。

广告
广告图片

1 MCP的技术架构介绍

1.1 MCP相关的参与角色2 MCP协议规定了什么

根据官方的介绍,MCP (Model Context Protocol,模型上下文协议)定义了应用程序和 AI 模型之间交换上下文信息的规范[2]。MCP通过一种标准化的方案打通了AI大模型与多源数据的交互通道,以支持动态访问本地资源或远程资源。其核心价值在于:

支持级联调用:实现了MCP的AI系统可以在整套大系统环境中被级联调用,也就是说A服务实现了MCP Server后可以被B服务调用,B服务可以接着实现MCP Server被C服务调用,以此类推,直到拓扑结构(不能循环调用)中的终点。为什么要有MCP协议

模块化设计:将AI系统拆解为独立模块(如推理大模型、AI应用和工具服务),相互之间通过一套标准接口进行通信,实现模块化即插即用。A系统可以通过MCP协议调用工具服务1、2和3,B系统也同样可以通过MCP协议调用工具服务2、3和4,每个工具服务只需要实现一遍MCP协议接口(现在都有mcp包可以直接引入了)即可被任何AI系统调用。

双向安全通信:通过定义了纯本地交互的stdio模式,和支持传输层加密(https)与权限控制(API-KEY)的http模式,以及进程间通信模式,确保敏感数据不被中间人监听,授权以外的数据和操作不被越权访问或执行[3]

随着AI系统变得越来越复杂,在调用AI大模型的API接口时,预置工具调用的参数信息方式存在局限性,主要体现在以下几个方面:

  1. 兼容性差:同一套工具服务在接入不同的AI系统时要编写不同的客户端调用服务器端的代码,即使封装了SDK,也会因为编程语言问题导致存在无SDK可用需重写的问题。
    例如:使用了Java语言编写工具服务的SDK无法被Go语言项目使用,仍需重新编写。或由于Java项目对编译器版本(Java8和Java17)、编程框架的依赖和兼容问题,导致SDK无法被引入项目中使用。
  2. 过于繁琐:首先是很可能每个AI系统中都要为需调用的所有工具服务开发工具调用的客户端代码,其次是即使都有封装SDK,也需要一个个引入项目中进行debug,非常繁琐。
  3. 安全隐患:在没有统一标准的情况下,工具服务端API增加了新的暴露面,即AI Agent,很容易由于方案设计、系统实现的妥协、技术能力和对AI大模型能力的不预期等因素导致存在安全隐患。
  4. 灵活性差:新上线或下线一个工具能力会非常不灵活,这些信息不能够动态增删改查,因此很可能会涉及代码的修改,很容易出现代码修改引入的bug问题,影响可靠性。

MCP采用经典的C/S架构,核心组件包括:

  • MCP主机(Host):用户端AI应用(如IDE或聊天机器人),负责发起请求和上下文聚合。
  • MCP客户端(Client):协议转换桥,处理认证、数据路由及通信优化。当前通常为实现了MCP协议的SDK依赖包。
  • MCP服务器(Server):轻量化后端API服务,为MCP客户端提供上下文内容(如数据库查询结果或文档资源内容)。当前通常通过实现了MCP协议的Server框架来进行开发,类似于开发Java Springboot、Golang Gin等API接口的后端代码。

其中,MCP服务器主要分为两种情况:

  • 本地资源:MCP 服务器可以位于本地,安全访问您计算机上的文件、数据库和服务。
  • 外部资源:MCP 服务器可以位于网络中,通过网络进行调用(例如 API)以获取资源或执行操作。

1.2 MCP协议标准的组成

1.2.1 数据层

数据层为客户端-服务器通信定义基于 JSON-RPC 的协议(JSON-RPC 2.0),包括生命周期管理和核心原语,如工具,资源,提示和通知[4]。该层包括:

  • 网络管理 :处理客户端和服务器之间的连接初始化、能力协商和连接终止
  • 服务器功能 :使服务器能够提供核心功能,包括用于 AI 操作的工具,用于上下文数据的资源,以及来回跟客户端交互的模板提示词
  • 客户端功能 :使服务器能够要求客户端从主机大模型中采样,从用户处获取输入,并将消息记录到客户端
  • 实用程序功能 :支持附加功能,例如实时更新的通知和长期运行操作的进度跟踪

1.2.2 传输层

传输层管理客户端和服务器之间的通信通道和身份验证。它处理 MCP 参与者之间的连接建立、消息成帧和安全通信。MCP 支持多种传输机制:

  • Stdio 传输机制 :使用标准的输入/输出流在同一台机器上的本地进程之间进行直接进程通信,提供最佳性能而不增加网络开销。
  • 基于服务器推送事件(Server-Sent Events,SSE)的 HTTP 传输机制(已废弃):这是一种HTML5 技术,允许服务器通过持久的HTTP 连接向客户端单向推送实时数据。该机制主要的特点是建立持久的长连接,当有数据响应时服务器将推送结果到客户端。由于该技术持续为人诟病,目前已被官方废弃。主要的缺点在于有状态的长连接对服务器资源的开销持续占用,以及难以弹性伸缩等。
  • 可流式传输的 HTTP 传输 :使用 HTTP POST 进行客户端到服务器的消息,并使用可选的服务器发送事件进行流式传输。此传输支持远程服务器通信,并支持标准 HTTP 身份验证方法,包括承载令牌、API 密钥和自定义标头,MCP 建议使用 OAuth 来获取身份验证令牌。并且,该机制下的接口可以是无状态的,易于水平扩容。

1.3 MCP协议的原语

MCP 定义了服务器可以对外呈现的三个核心原语:

  • 工具 :AI 应用程序可以调用以执行操作的可执行函数(例如,文件操作、API 调用、数据库查询)
  • 资源 :为 AI 应用程序提供上下文信息的数据源(例如,文件内容、数据库记录、API 响应)
  • 提示词 :可重用的提示词,帮助构建与大语言模型的交互(例如,系统提示词,少量示例文本)

1.4 MCP协议的主要流程

  1. 用户会话开启后,主机向MCP服务器查询可用的工具。随后MCP服务器会返回可用的工具列表。
  2. 用户输入指令,例如“分析上周销售数据”,触发主机请求,将用户输入和所有可用工具发送给AI大模型。
  3. AI大模型将自然语言转化为标准化的MCP指令,通过MCP服务器发送至企业内网数据库服务器进行查询。
  4. 服务器返回结构化数据,经客户端整合后送至LLM生成解读报告。

2 MCP应用场景举例

  1. 企业智能助手
    • 来源于不同业务部门的AI智能助手都可以通过MCP协议无缝访问企业内CRM、ERP等多个不同的系统,实时生成定制需求场景下的业务分析。
  2. 开发工具增强
    • 多个不同的开发工具均能够通过MCP协议快速无缝集成GitHub、Jira、Gitea等多个不同的平台,辅助代码审查与项目管理。
    • 如Cursor IDE可以借助MCP实现代码库的语义检索。
  3. 基于地理位置信息的智能助手
    • 不同场景下的AI智能助手同时接入多种基于MCP的地理位置信息服务,例如地图服务、天气服务、交通出行信息服务等,根据用户的指令如“规划一场明天出发去西安的5天旅游”,自动通过MCP协议查询多个不同工具服务的数据信息,如明天到西安和5天后返程的机票、火车票信息,5天中间的西安天气信息、景点的票务信息和市内公共交通信息、酒店住宿信息等,并根据这些信息通过AI大模型直接生成旅游规划。
广告
广告图片
温馨提示 : 非特殊注明,否则均为©李联华的博客网原创文章,本站文章未经授权禁止任何形式转载;来自:俄亥俄州·哥伦布 ,欢迎您的访问!
文章链接:https://www.lilianhua.com/introduction-and-application-of-model-context-protocol.html
请先登录才能参与答题
距本场结束剩 00 00 00 00
轻量应用服务器 2核2G
200M峰值带宽,适用于网站搭建、Web应用、容器环境、电商独立站等
立即前往
扫码进入
扫描二维码购买
文澜千文

文澜千文

请登录以使用此功能。

|
雀巢(Nestle)脆脆鲨【虞书欣推荐】威化饼干巧克力味24条446.4g抗饿解馋小零食 雀巢(Nestle)脆脆鲨【虞书欣推荐】威化饼干巧克力味24条446.4g抗饿解馋小零食
弹窗图片

Linux AI

记不住繁琐的Linux参数?让AI为你精准检索!输入你的需求,一秒锁定标准命令,彻底告别搜索引擎的冗长翻找。

Loading...
OpenClaw

OpenClaw 龙虾

AI AGENT GATEWAY
在您的服务器部署 OpenClaw,打造专属极速 AI 助手。
零门槛一键部署环境
支持 QQ/飞书/微信 渠道
跨平台指令分发执行
立即安装