MCP(Model Context Protocol 模型上下文协议)科普

在这里插入图片描述

MCP(Model Context Protocol,模型上下文协议)是由人工智能公司 Anthropic2024年11月 推出的开放标准协议,旨在为大型语言模型(LLM)与外部数据源、工具及服务提供标准化连接,从而提升AI在实际应用中的灵活性和执行能力。以下是其核心要点:


一、核心定义与功能

  1. AI的“万能接口”
    MCP被类比为“AI领域的USB-C接口”,通过统一通信标准,解决传统API集成的碎片化问题,使AI模型(如ChatGPT、Claude)能够无缝连接数据库、文件系统、API工具(如GitHub、Slack)等外部资源。

  2. 主动执行能力
    不同于传统AI仅生成文本,MCP支持AI直接操控现实工具,例如自动发送邮件、查询数据库、生成代码或预订机票,推动AI从被动响应转向主动执行。

  3. 安全与效率优化
    通过预定义协议减少代码定制需求,降低开发门槛,同时确保数据交互的安全性。


二、技术架构与工作原理

  1. 核心组件

    • MCP Host:宿主应用(如Claude Desktop、IDE),提供AI交互环境并管理外部系统连接。
    • MCP Client:协议客户端,将AI的请求转换为标准化消息。
    • MCP Server:轻量级中间件,暴露特定功能接口(如数据库查询、文件读写),供AI调用。
  2. 工作流程

    • 客户端获取可用工具列表,结合用户查询发送给LLM。
    • LLM决策是否调用工具,通过Server执行操作并整合结果返回用户。
  3. 与RAG、Agent的区别

    • RAG 仅辅助信息检索,而MCP支持实际操作。
    • AI Agent 强调自主性,MCP则专注标准化通信,两者互补。

三、优势与创新

  1. 动态工具集成
    允许运行时发现新工具(如临时接入GitHub API),突破传统预定义函数的限制。

  2. 上下文感知与多步任务
    AI可跨多步骤任务保持上下文(如先查数据库再生成报告),避免单次检索的局限性。

  3. 开放生态与协作网络

    • 开发者只需构建一次MCP Server,即可被多个宿主应用(如Claude、Cursor、VS Code)复用。
    • 支持跨服务协作(如整合Google Maps、Yelp数据生成旅行计划),打破传统应用孤岛。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【mongodb】数据库操作

目录 1. 查看所有数据库2. 切换到指定数据库(若数据库不存在,则创建)3. 查看当前使用的数据库4. 删除当前数据库5.默认数据库 1. 查看所有数据库 1.show dbs2.show databases 2. 切换到指定数据库(若数据库不存在,则…

ICPR-2025 | 让机器人在未知环境中 “听懂” 指令精准导航!VLTNet:基于视觉语言推理的零样本目标导航

作者:Congcong Wen, Yisiyuan Huang, Hao Huang ,Yanjia Huang, Shuaihang Yuan, YuHao, HuiLin and Yi Fang 单位:纽约大学阿布扎比分校具身人工智能与机器人实验室,纽约大学阿布扎比分校人工智能与机器人中心,纽约大学坦登工程…

基于DeepSeek的考研暑假日志分析

注:我去年考研时写了日志,大致记录了我每天的主要活动。由于过于琐碎,一直没有翻看。突发奇想,现在利用deepseek总结其中规律。 从你的日志中可以总结出以下规律和活动兴衰起落: ​​一、学习活动规律与演变​​ ​​…

【刷题Day20】TCP和UDP

TCP 和 UDP 有什么区别? TCP提供了可靠、面向连接的传输,适用于需要数据完整性和顺序的场景。 UDP提供了更轻量、面向报文的传输,适用于实时性要求高的场景。 特性TCPUDP连接方式面向连接无连接可靠性提供可靠性,保证数据按顺序…

REST 架构详解:从概念到应用的全面剖析

REST(Representational State Transfer)即表述性状态转移,是一种用于构建网络应用程序的架构风格和设计理念,由计算机科学家罗伊・菲尔丁(Roy Fielding)在 2000 年提出。以下是关于它的详细介绍&#xff1a…

蓝桥杯之递归二

1.数的划分 题目描述 将整数 nn 分成 kk 份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n7,k3n7,k3,下面三种分法被认为是相同的。 1,1,5;1,5,…

LeetCode(Hot.2)—— 49.字符异位词分组题解

Problem: 49. 字母异位词分组 字母异位词的定义是:两个单词的字母组成一样,但顺序可以不同,比如 eat、tea 和 ate 就是一个组的。 思路 将每个字符串按字母排序,把排序后的字符串作为 key,相同 key 的放在一个 list 中…

为什么信号完整性对于高速连接器设计至关重要?

外部连接器通过在各种电子元件和系统之间可靠地传输数据而不损失保真度来保持信号完整性。在本文中,我们将讨论信号完整性的重要性,回顾高速部署挑战,并重点介绍各种连接器设计策略,以防止失真和降级。 了解连接器信号完整性挑战…

得物官网sign签名逆向分析

打开得物官网,点击鞋类,可以看到请求 直接搜sign function p(e) {return f()("".concat(e ? s()(e).sort().reduce(function(t, n) {return "".concat(t).concat(n).concat(e[n])}, "") : "", "048a9…

Ubuntu 安装WPS Office

文章目录 Ubuntu 安装WPS Office下载安装文件安装WPS问题1.下载缺失字体文件2.安装缺失字体 Ubuntu 安装WPS Office 下载安装文件 需要到 WPS官网 下载最新软件,比如wps-office_12.1.0.17900_amd64.deb 安装WPS 执行命令进行安装 sudo dpkg -i wps-office_12.1…

javaSE.判空包装类

判空包装类Optional,这个类可以很有效的处理空指针问题 空指针异常👇 特判null👇 Optional类可以更加优雅地处理这种问题👇👇 ofNullable👇 isPresent isEmpty 👇 👇 包装之后&…

使用 vcpkg 构建支持 HTTPS 的 libcurl 并解决常见链接错误

适用环境:Windows 10/11 Visual Studio 2022 CMake ≥ 3.20 目标读者:希望在 C 项目中轻松调用 HTTPS(GET/POST/PUT/DELETE),又被 LNK20xx 链接错误困扰的开发者 目录 为什么选 vcpkg 与 libcurl用 vcpkg 安装带 SS…

ISO26262-浅谈用例导出方法和测试方法

目录 1 摘要2 测试方法3 测试用例导出方法4 测试方法与用例导出方法的差异和联系5 结论 1 摘要 ISO26262定义了测试方法和用例导出方法,共同保证产品的开发质量。但在刚开始学习ISO26262的时候,又不是非常清晰地理解它俩的区别和联系。本文主要对它俩的…

RoBoflow数据集的介绍

https://public.roboflow.com/object-detection(该数据集的网址) 可以看到一些基本情况 如果我们想要下载,直接点击 点击图像可以看到一些基本情况 可以点击红色箭头所指,右边是可供选择的一些yolo模型的格式 如果你想下载…

基于CFSSL构建高可用ETCD集群全指南(含TLS证书管理)

基于CFSSL构建高可用ETCD集群全指南(含TLS证书管理) 摘要:本文深入讲解使用CFSSL工具签发TLS证书,并部署生产级高可用ETCD集群的完整流程。涵盖证书全生命周期管理、集群配置优化及安全加固方案,适用于Kubernetes、分…

【设计模式】适配器模式:让不兼容的接口和谐共处

引言 在软件开发中,我们经常会遇到这样的情况:两个已经存在的接口无法直接协同工作,但我们又希望它们能够无缝对接。这时,适配器模式就派上用场了。适配器模式(Adapter Pattern)是一种结构型设计模式&…

doris/clickhouse常用sql

一、doris常用SQL 1、doris统计数据库的总大小(单位:MB) SELECT table_schema AS database_name,ROUND(SUM(data_length) / 1024 / 1024, 2) AS database_size_MB FROM information_schema.tables WHERE table_schema NOT IN (information…

软件架构分层策略对比及Go项目实践

一、水平分层 vs 功能划分 vs 组件划分 维度水平分层功能划分组件划分核心思想按垂直层次划分职责(如表示层、业务层、数据层)按业务功能模块划分(如用户管理、订单服务、支付模块)按技术或业务能力划分独立组件(如数…

Linux进程地址空间、写时拷贝

1.进程地址空间 感知进程地址空间 C/C有内存的概念,内存空间包括栈、堆、代码段等等,下面是32位下的内存分布图,自底向上(由0x00000000至0xFFFFFFFF); 下面通过程序来验证各个数据在该空间的地址,由此感知整个地址空间的分布情…

python成功解决AttributeError: can‘t set attribute ‘lines‘

文章目录 报错信息与原因分析解决方法示例代码代码解释总结 报错信息与原因分析 在使用 matplotlib绘图时,若尝试使用 ax.lines []来清除图表中的线条,会遇到AttributeError: can’t set attribute错误。这是因为 ax.lines是一个只读属性,不…