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

MCP系列(一)什么是MCP?

一、MCP 是什么:从 USB-C 到 AI 的「万能接口」哲学

MCPModel Context Protocol,模型上下文协议) 是Anthropic于2024年11月推出的AI跨系统交互标准,专为解决LLM(大语言模型)的「数字失语症」——让AI既能安全调用外部工具(如实时天气API、本地文件系统),又能避免数据泄露或滥用。它本质是AI世界的「USB-C协议」:通过标准化的「请求-响应-通知」格式(如context_request强制携带权限声明),让不同厂商的LLM(如Claude、GPT-4o)和工具(如 cursor、ClaudeDesktop、5ire)无需适配私有协议,就能像「U盘插入电脑」一样即插即用。

就像USB-C让手机、电脑、打印机用同一接口通信,MCP定义了AI的「数字握手规则」:

  • 统一语法:所有工具必须按mcp_schema_v3格式暴露能力(如天气工具的nameparametersdescription),LLM通过capability_negotiation动态协商权限(比如只允许查询上海天气,禁止获取用户定位);

  • 安全隔离:内置「宪法AI」审查每个工具调用(如阻止「用病历数据优化保险定价」的请求),敏感操作需「用户+模型+工具」三方授权,避免AI越权;

  • 即插即用:开发者只需按协议编写工具(如用Python实现tools/call接口),无需关心LLM是云端还是本地部署,5ire客户端能自动发现并调用符合MCP的工具,就像电脑自动识别新U盘。

MCP与Function Calling: 从「模型专属」到「协议共生」

先给出几个基本概念

Function Calling(函数调用)

  • 本质:大模型基座的「能力适配器」,允许模型通过结构化指令调用外部工具(如 API、数据库)。

  • 问题:非标准化 —— 不同模型(如 GPT-4o、DeepSeek)的函数调用协议(参数格式、触发逻辑、返回结构)存在差异。 例:GPT-4o 要求函数参数为JSON object,DeepSeek 可能要求key-value字符串,导致同一功能(如天气查询)需为每个模型单独开发。

MCP(Model-API Communication Protocol,模型 - API 通信协议)

  • 目标:定义跨模型的标准化交互语言,解决「函数调用协议碎片化」问题。

  • 核心设计:

    • 统一请求 / 响应格式(如强制使用mcp_schema_v1的 JSON 结构);

    • 标准化函数元数据(name/description/parameters);

    • 错误处理协议(如MCPErrorCode枚举)。

AI Agent(智能体)

  • 定位:MCP 生态的「超级用户」,通过「意图解析→MCP 函数调用→结果整合」闭环自主完成复杂任务。

  • 优势:MCP 让 Agent 摆脱对单一模型的依赖,实现「一次开发,多模型运行」。

以GPT-4o和DeepSeek为例,看看FuctionCall实现的差异,以及MCP如何跨模型

维度

GPT-4o 函数调用(非 MCP)

DeepSeek 函数调用(非 MCP)

MCP 标准协议(统一后)

触发指令

function_call: {"name": "...", ...}

tools: [{"name": "...", "parameters": ...}]

mcp_action: {"function": "...", ...}

参数格式

严格 JSON 对象

允许 JSON 或键值对字符串

强制 JSON Schema(含type/enum校验)

返回结构

直接返回 API 结果

包裹result字段({"result": ...})

统一mcp_response(含status/data/error)

错误处理

模型自定义错误码(如1001)

无统一错误格式

标准化MCP_ERROR_*枚举(如INVALID_PARAM)

MCP Client/Server 架构

详见 Introduction - Model Context Protocol

如何开发 / 使用 MCP

MCP 的官网提供了详尽的文档和 SDK,开发者只需遵循这些资源即可轻松实现 MCP。

  • Model Context Protocol 介绍

  • MCP Server 开发

  • MCP Client 开发

相关文章:

  • DMA技术原理
  • 软件系统的可观测性 Observability
  • 鸿蒙开发中对want的深入理解,want和uiability的关系-深度理解want的意思有利开发-优雅草卓伊凡
  • 聊一聊Qwen3思考模式实现以及背后原理探讨
  • 【Ollama】docker离线部署Ollama+deepseek
  • 深度学习赋能:正面吊车载箱号识别系统的核心技术
  • vue+vite难点和优化,及seo优化
  • 亚远景-ASPICE vs ISO 21434:汽车软件开发标准的深度对比
  • 可视化图解算法34:二叉搜索树的最近公共祖先
  • Docker 容器化部署深度研究与发展趋势
  • mysql中执行select命令的顺序
  • upload-labs靶场通关详解:第一关
  • 基于OpenTelemetry的分布式链路追踪Trace‌实现(PHP篇)
  • FlyEnv:优雅直观的跨平台开发环境管理工具
  • vue3+vite项目引入tailwindcss
  • Spark处理过程-转换算子和行动算子
  • 通过vllm部署qwen3大模型以及基于 vLLM 的 OpenAI 兼容 API 接口调用方法总结
  • 详细剖析传输层协议(TCP和UDP)
  • 数据库即服务(DBaaS)领域的最新创新
  • 仿真系统-学生选课管理
  • 印度最新发声:对所有敌对行动均予以反击和回应,不会升级冲突
  • 印度军方否认S-400防空系统被摧毁
  • 第三届“老山国际春茶节”活动在云南麻栗坡举办
  • 可量产9MWh超大容量储能系统亮相慕尼黑,宁德时代:大储技术迈入新时代
  • 七大交响乐团“神仙斗法”,时代交响在上海奏出时代新声
  • 家庭相册㉙在沪打拼25年,我理解了父母清晨去卖蜜饯的辛苦