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

MCP调研及实践

MCP理论和实验

定义与核心架构

​ MCP是由Anthropic提出的开放协议,旨在为大模型提供标准化接口,实现与外部工具如API、数据库、文件系统等的安全、高效连接。其核心特点包括:

  • 架构:采用客户端-服务器模型

    • 主机(Client):用户使用的AI应用,如Claude Desktop,发起请求。
    • 服务器(Server):轻量级服务,连接具体数据源,如天气API、数据库。
    • 协议层:基于JSON-RPC/gRPC通信,支持实时双向交互。
  • 功能

    • 工具调用:封装外部能力,如读取文件、调用API。
    • 资源访问:安全读取类文件数据,如PDF解析。
    • 权限管控:内置安全机制,隔离敏感数据。
      在这里插入图片描述

MCP使用过程

在这里插入图片描述

  • 用户输入query到MCP 客户端,可以是cherrystudio 、claude desktop 也可以是开发者编写的client;
  • 配置MCP工具库,工具库以Server的形式给出;
  1. 调用LLM或者规则逻辑,目的是识别出用户的意图和对应的参数;
  2. 返回工具库识别结果;
  3. MCP工具库确认
  4. 工具执行请求,传入工具名称、参数
  5. 执行工具;
  6. 返回工具执行结果;
  7. 将工具执行结果返回给客户端;
  8. 将工具执行结果和用户query等送入LLM,执行下一步操作。

MCP定位

​ 从技术角度看,MCP 遵循客户端-服务器架构,其中主机应用可以连接到多个服务器,即一对多。更形象的描述,MCP 可以看作是 AI 应用程序的 “USB-C端口”。就像 USB-C 为连接设备与各种外设提供了标准化方式,MCP为 AI 模型连接不同数据源和工具提供了标准化方法。这样可以解耦客户端与服务端,开发人员只需要专注于按照MCP标准添加服务工具,或者维护客户端以满足用户需求,而不需要将大部分时间和工作精力集中在调用逻辑开发、接口开发等,也无需重复部署客户端,大大降低了开发量

在这里插入图片描述

与传统API的优势

传统 API :
在这里插入图片描述

  • 如果 API 最初需要两个参数(例如天气服务的位置和日期),用户集成应用程序会发送带有这些确切参数的请求。
    在这里插入图片描述
  • 如果后来添加第三个必需参数(例如温度单位,如摄氏度或华氏度),API的合约就会改变。
  • 这意味着所有 API 用户必须更新代码以包含新参数。如果不更新,请求可能失败、返回错误或提供不完整结果。

MCP 的设计解决了这个问题:

  • MCP 引入了与传统 API 截然不同的动态灵活方法。
  • 当客户端(如 Claude 桌面版)连接到 MCP 服务器(如您的天气服务)时,它发送初始请求以了解服务器的能力。

在这里插入图片描述

  • 服务器响应其可用工具、资源、提示和参数的详细信息。例如,如果您的天气 API 最初支持位置和日期,服务器会将这些作为其功能的一部分进行通信。

在这里插入图片描述

  • 如果您稍后添加unit参数,MCP 服务器可以在下一次交换期间动态更新其功能描述。客户端不需要硬编码或预定义参数—只需查询服务器的当前功能并相应地适应。

  • 这样,客户端可以及时调整其行为,使用更新的功能(例如在请求中包含unit),无需重写或重新部署代码。

和RAG、Agent的区别和联系

RAG

RAG通过检索外部知识库增强大模型生成能力,解决幻觉和知识过时问题:

  • 流程
    1. 检索:用数据库(如Milvus、Elasticsearch)匹配用户查询与知识库文档。
    2. 生成:LLM结合检索结果生成答案。
  • 优势:数据驱动、低成本部署。
  • 局限:依赖知识库质量,无法处理动态任务。
  • 典型应用场景
    • 企业知识库问答(如腾讯乐享整合内部文档)。
    • 法律/医疗咨询(引用权威资料)。
Agent

Agent是具备自主决策能力的AI系统,通过多步骤规划解决复杂问题:

  • 流程
    • 规划:拆解任务(如ReAct框架的"思考-行动-观察"循环)。
    • 执行:调用工具(API、数据库)。
    • 反馈:动态调整策略。
  • 优势:处理跨域任务(如客服全流程自动化)。
  • 局限:开发复杂度高,资源消耗大。
  • 典型应用场景
    • 自动化工作流(如数据分析+报告生成)。
    • 动态环境交互(如特斯拉自动驾驶决策)。
三者核心区别
维度MCPRAGAgent
核心目标标准化工具/数据连接接口通过检索增强生成准确性自主执行多步骤任务
技术焦点协议规范(如JSON-RPC)语义检索+生成模型融合规划决策+工具调用链
交互模式被动响应请求被动生成答案主动规划与动态调整
依赖关系工具生态兼容性知识库质量与覆盖度推理能力与工具链完整性
典型场景实时API调用、跨系统集成静态知识问答(如FAQ)复杂流程自动化(如订单处理)
关键差异详解
  1. 功能定位
    • MCP 是"连接器",提供标准化桥梁(如AI界的USB-C接口)
    • RAG 是"知识增强器",解决LLM幻觉问题
    • Agent 是"执行者",模拟人类决策闭环
  2. 技术路径
    • MCP 需部署服务器(如文件系统MCP服务)
    • RAG 依赖检索技术(如LangChain向量化、字词检索)
    • Agent 需任务规划引擎(如LangGraph图结构)
  3. 协作关系
    • Agent可调用MCP:例如用MCP工具读取数据库,再用Agent决策
    • Agent集成RAG:先检索知识库,再执行工具调用(如投资分析:RAG查市场报告 → Agent调用风险评估API)
技术选型建议
  • 选MCP:需安全连接企业系统(如CRM/ERP封装为MCP服务)
  • 选RAG:构建知识密集型问答(如医疗文献检索)
  • 选Agent:处理多步骤动态任务(如电商客服:订单查询→退款→通知)
  • 混合架构
    • Agent+MCP:复杂任务中按需调用工具(如MCP-Zero架构)
    • Agent+RAG:决策时增强实时知识(如法律Agent结合判例库)

MCP典型应用场景

  • 实时数据集成,如股票行情查询。
  • 跨系统操作,如通过MCP连接GitHub、CRM系统。
    *:复杂任务中按需调用工具(如MCP-Zero架构)
    • Agent+RAG:决策时增强实时知识(如法律Agent结合判例库)

MCP典型应用场景

  • 实时数据集成,如股票行情查询。
  • 跨系统操作,如通过MCP连接GitHub、CRM系统。
  • 企业级工具链标准化,降低重复开发成本。
http://www.dtcms.com/a/275909.html

相关文章:

  • JAVA线程池详解+学习笔记
  • 车载诊断架构 --- 诊断功能开发流程
  • 解决npm ERR! code ERR_SOCKET_TIMEOUT 问题
  • 光影证件照!支持一键换底和排版使用,内置多种模板,完全免费无广告
  • wedo稻草人-----第32节(免费分享图纸)
  • 数字孪生技术为UI前端注入新活力:实现产品设计的沉浸式体验
  • LeetCode题解---<485.最大连续1的个数>
  • 线程属性设置全攻略
  • 【C++11】右值引用详解
  • 同步、异步、阻塞、非阻塞之间联系与区别
  • 小皮面板搭建pikachu靶场并bp使用爆破模块破解
  • 传感器WSNs TheDataLinkLayer——X-MAC
  • vue3+vit+vue-router路由,侧边栏菜单,面包屑导航设置层级结构
  • Redis事件机制
  • 嵌入式领域编码合集(为什么中文会乱码)
  • Java开发八股文之基础篇
  • qt 正则表达式
  • [面试] 手写题-二分查找
  • linux学习第30天(线程同步和锁)
  • WordPress Ads Pro Plugin本地文件包含漏洞(CVE-2025-4380)
  • 计算机毕业设计springboot服装工厂移动报表软件设计 基于SpringBoot的服装企业移动端数据可视化系统 面向服装制造行业的移动报表与公告发布平台
  • 微服务环境下的灰度发布与金丝雀发布实战经验分享
  • 多路选择器的学习
  • 《Java Web程序设计》实验报告六 JSP+JDBC+MySQL实现登录注册
  • 【飞算JavaAI】一站式智能开发,驱动Java开发全流程革新
  • 20250712-1-Kubernetes 监控与日志管理-K8s日志管理与维护_笔记
  • Go语言中的Options模式
  • 【Go + Gin 实现「双 Token」管理员登录】
  • Linux驱动08 --- 数据库
  • MCU芯片的功能安全机制E2E的基本原理和应用实现