MCP(模型上下文协议)

MCP(模型上下文协议)深度解析:让大模型实时获取外部能力

在大模型的世界里,知识往往是静态的,而现实世界的数据却是动态的。如何让大模型突破时间限制,实时调用外部能力?这正是 MCP(Model Context Protocol,模型上下文协议) 诞生的意义。


1. 背景:为什么需要 MCP?

大语言模型(LLM)在训练完成后,知识库通常是固定的。

这意味着:

  • 无法访问训练时间之后的新数据
  • 不能直接操作数据库、系统 API
  • 与应用的交互能力有限

在现实业务中,这会造成很多限制,比如:

  • 无法获取最新的天气信息
  • 无法直接调用企业内部系统
  • 无法操作文件、日程、交易数据

MCP 的目标

建立一种标准化的协议,让 LLM 可以安全、高效地与外部应用进行实时通信。


2. 什么是 MCP?

MCP(模型上下文协议)是一个 AI 模型与应用程序之间交换上下文和调用外部工具的协议

它的核心思想是:

把外部能力抽象成可调用的 Tool,并让模型通过 MCP Client 调用 MCP Server 上的这些 Tool,从而实现与外部世界的互动。


MCP 的三大角色

  1. MCP Server

    • 对外提供可调用的接口(称为 Tool)
    • 负责实际执行任务(如数据库查询、调用第三方 API)
  2. MCP Client

    • 充当 LLM 与 MCP Server 之间的桥梁
    • 接收模型的调用请求,转发给 MCP Server
  3. LLM(大语言模型)

    • 接收用户的 Prompt
    • 根据上下文决定是否调用 MCP 的 Tool

3. 工作原理

假设用户问:

"帮我查一下今天上海的天气,并写成一句幽默的朋友圈文案。"

整个流程是这样的:

  1. 用户 → AI Agent

    用户输入问题,AI Agent 收到 Prompt。

  2. AI Agent → LLM

    AI Agent 把 Prompt 发给 LLM。

  3. LLM 决策调用 MCP Tool

    LLM 判断自己无法直接回答(因为天气信息是动态的),于是通过 MCP Client 调用 MCP Server 的 getWeather 工具。

  4. MCP Server 执行任务

    MCP Server 访问天气 API,返回结果(例如 "今天上海 32°C,晴转多云")。

  5. LLM 生成最终结果

    LLM 将天气信息加工成幽默的朋友圈文案。

  6. AI Agent → 用户

    返回结果给用户。


4. MCP Tool 的结构

一个 Tool 就是 MCP Server 暴露的一个可调用函数。

它一般包含以下字段:

json 复制代码
{
  "name": "getWeather",
  "description": "获取指定城市的天气信息",
  "inputSchema": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "城市名称"
      }
    },
    "required": ["city"]
  }
}

字段说明:

  • name:Tool 的唯一标识
  • description:描述 Tool 的用途
  • inputSchema:定义输入参数的 JSON Schema

5. 通信方式

MCP 常用两种通信方式:

  1. HTTP(RESTful API)

    • 适合一次性请求-响应的调用
    • 例如数据库查询、API 请求
  2. WebSocket

    • 适合需要保持长连接、实时返回的任务
    • 例如流式响应、实时监控

6. MCP 的优势

  • 标准化:统一 LLM 与应用交互的接口规范
  • 实时性:大模型可以访问最新数据
  • 可扩展性:新增能力只需在 MCP Server 注册新的 Tool
  • 安全性:通过 Client 层可控地暴露外部能力

7. 应用场景

  • 企业内部知识检索
  • 自动化办公
  • 智能客服
  • 金融交易系统
  • IoT 设备控制

8. 总结

MCP 并不是让模型"变聪明",而是让模型能够借助外部能力完成更多任务

在 AI Agent 时代,MCP 将成为大模型连接现实世界的关键基础设施。


💡 一句话总结

MCP 让大模型不再是"孤立的聪明人",而是能"动手"的超级助手。


相关推荐
涛思数据(TDengine)1 小时前
WAIC 现场直击|烽台科技与 TDengine 战略签约:工业数据+“AI“,答案是什么?
大数据·人工智能·ai·时序数据库·tdengine·国产数据库
蓝创工坊Blue Foundry1 小时前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle
神奇霸王龙2 小时前
Claude Code 三层架构Subagent并发优化实战
人工智能·ai·架构·agent·ai编程·并发·claude
安逸sgr2 小时前
Agent经典面试题:Agent 安全问题有哪些?如何防止工具误调用和 Prompt Injection?
人工智能·ai·agent·智能体
lkforce3 小时前
Transformer架构下的详细计算流程模拟,精确到数字(单层单头)
人工智能·深度学习·ai·transformer
叶总没有会3 小时前
3.2 构建AI智能体项目扩展知识
java·数据库·人工智能·spring·ai
迅易科技11 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云
神奇霸王龙13 小时前
GB/T 46886 闭环屠夫:5 旗舰多模态 LLM 工业质检实测
人工智能·计算机视觉·ai·开源·ai编程·本地部署
三声三视13 小时前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
fthux14 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source