阿里百度全面拥抱的mcp到底是什么?

一、MCP本质

MCP(Model Context Protocol,模型上下文协议) 是Anthropic公司在2024年推出的开放协议。MCP协议可以像USB充电接口那样,标准化AI模型与外部工具的交互方式。

从前的LLM大语言模型像是一个大脑,根据自身训练的数据,帮助我们完成一些工作,它的作用在某种程度上更像一个聊天机器人,而通过使用MCP这种标准化协议,可以将越来越多的好用的工具,非常便捷的接入各种不同的LLM大语言模型,这些工具就像四肢一样,LLM大语言模型指挥着多种多样的工具组合在一起使用,在未来大模型的能力无疑会更加强大。

注意,MCP不是新API标准,而是专为大模型上下文工具调用设计的通信协议,MCP定义了AI大模型如何发现和调用工具的规范,让AI Agent能标准化调用各类工具

在这里插入图片描述

在MCP中,有以下几个角色:

  • MCP Host:程序入口(如智能客服系统、IDE、或者其他AI工具),它们需要通过MCP访问数据

  • MCP Client:与MCP Server保持1对1连接的客户端

  • MCP Server:轻量级工具Server端,每个程序都通过标准化协议来提供特定的功能

  • 本地数据源:MCP Server可以操作本机上的文件、数据库、服务

  • 远程服务:MCP Server可以通过互联网请求的方式(例如通过 Web API)连接到的外部系统

二、为什么需要MCP?

在以往的AI应用开发中,集成每个新工具都需要、研究API文档、处理API认证、数据处理、异常错误重试等等问题,根据调查开发一个AI应用38%时间消耗在接口适配上。

在这里插入图片描述

而MCP通过标准化协议,可以达到如下目的:一次开发,多模型通用:开发一个GitHub MCP服务,Claude、GPT等大模型都可以使用。在应用中,可以达到动态扩展工具的效果,即运行时发现新服务,无需重新开发,避免m×n问题。

在这里插入图片描述

三、MCP的通信方式

MCP通信方式主要分为两种:stdio方式、SSE方式

3.1 stdio方式

通过stdio(即Standard Input/Output)方式,适用于MCP客户端和MCP服务器在同一台机器上,主要的使用场景如操作本机数据库、执行本地命令等场景。

使用这种方式可靠性更高,因为操作都是在本地执行,并且通信方式简单,不需要依赖网络请求,server端响应速度更快。但使用前需要配置本地执行环境,并且如果大量服务都在本机,进程资源消耗更大。

3.2 流式 HTTP方式

通过流失Http(即Streamable HTTP),流式 HTTP 传输使用 HTTP POST 请求进行客户端到服务器通信,适用于实时数据更新、消息推送、轻量级监控和实时日志流等需求。配置过程简洁,主要通过提供目标服务URL建立连接。

四、MCP环境配置

以Cherry Studio为例,在Cherry Studio中,首先配置使用大模型的API秘钥,这里配置的是硅基流动。

在这里插入图片描述

在设置中配置MCP服务器,如下配置了3个server,分别是本地操作文件、命令行执行、获取高德地图地理位置信息,并且通信方式都是stdio。

在这里插入图片描述

CherryStudio内置的server fileSystem可以直接从这里进行搜索。
在这里插入图片描述

另外两个server可以通过mcp.json进行配置。

在这里插入图片描述

完整的mcp.json文件如下:

{
  "mcpServers": {
    "p6AShLq39VXrjmd_cJ7-a": {
      "name": "@cherry/filesystem",
      "type": "inMemory",
      "description": "实现文件系统操作的模型上下文协议(MCP)的 Node.js 服务器",
      "args": [
        "/Users/username/Desktop",
        "/path/to/other/allowed/dir"
      ],
      "isActive": true,
      "provider": "CherryAI"
    },
    "desktop-commander": {
      "isActive": true,
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander"
      ],
      "name": "desktop-commander"
    },
    "amap-maps": {
      "name": "amap-maps",
      "type": "stdio",
      "isActive": true,
      "registryUrl": "",
      "command": "npx",
      "args": [
        "-y",
        "@amap/amap-maps-mcp-server"
      ],
      "env": {
        "AMAP_MAPS_API_KEY": "8cca998b0498cc43cc3b5fe0ea06a495"
      }
    }
  }
}

这里要注意的是,如果右上角是红色感叹号,点击感叹号把里面的两个服务安装好,并且本机要配置Python环境和Node环境。

在这里插入图片描述

更多的mcp server可以通过,这些MCP Server网站进行查找,以下是Cherry Studio推荐的MCP Server网站。

在这里插入图片描述

五、MCP使用基础案例

下面在Cherry Studio中使用如下提示词,让大模型通过MCP工具去完成创建html网页的任务,这里使用的是DeepSeek-R1模型,提示词如下:

需要你完成以下任务
1、通过高德地图MCP推荐几家不错的杭州餐厅将相关餐厅信息保存到/Users/apple/Documents/ai,并命名为:餐厅.txt
2、根据txt文件的内容制作一个精美的html展示页面,命名为index.html放在/Users/apple/Documents/ai目录下,并确保这个html可以在macbook浏览器正常展示。

输入提示词

在这里插入图片描述

在大模型执行的过程中,需要调用mcp的地方需要我们确认之后才会执行,点击对号之后,就会正常执行,整个执行流程过程会比较长。

在这里插入图片描述

最终生成文件如下:

在这里插入图片描述

最终html页面效果
在这里插入图片描述

在这里插入图片描述

六、总结

本文介绍了什么是mcp以及mcp的基本使用方式,mcp协议作为AI模型与外部工具的交互的标准协议,将会结束各种大语言模型群雄争霸的局面,而一统江湖,随着各种强大的mcp server不断地涌现,有了这些强大工具的加持,相信在不远的将来大语言模型能力也会越来越强大。

<think>嗯,用户的问题聚焦在MCP技术的核心细节以及Dify与MCP的区别对比。之前的交互历史显示用户已经通过站内引用积累了些背景知识,但需要更系统的技术解析。用户可能是个开发者或技术决策者,正在评估是否采用MCP架构,或者想厘清Dify这类平台与底层协议的关系。从用户引用的材料看,ta可能混淆了“协议”和“平台”的概念。引用1提到MCP-Server的实现方式,引用2说明MCP是连接模型和工具的通信协议,引用3则强调Dify调用MCP的能力——这说明MCP是底层管道,Dify是上层应用。用户真正需要的可能是技术选型依据,比如什么场景用纯MCP,什么场景用Dify集成。需要重点拆解三个层次:首先解释MCP作为协议的通信机制(比如sse和stdio的支持),其次说明Dify如何通过API调用MCP服务,最后对比两者在开发自由度、使用成本等方面的差异。用户引用的示例里有代码片段(如fastapi_mcp),说明ta对技术实现敏感,回答应该包含架构图例和具体交互流程。特别注意避免重复引用中的营销话术(如“超实用”“眼前一亮”),保持技术中立性。之前回答的对比表格获得用户认可,这次可以深化协议字段和API规范的说明。考虑到用户要求“尽可能多参考上次回答”,需延续技术参数和功能分类的表述风格。</think> 以下根据技术资料整理的MCP技术解析及与Dify的对比,重点参考引用内容: --- ### **MCP技术详解** 1. **核心架构** - **分层设计** $$\text{模型层(Host)} \rightarrow \text{客户端(Client)} \xleftrightarrow{\text{MCP协议}} \text{服务端(Server/工具层)}$$ - **Host层**:运行在Client上的大模型,负责核心推理(引用[2]) - **Client层**:承载模型运行时,通过MCP协议与Server通信(引用[2][3]) - **Server层**:提供API接口的工具服务(如高德地图、数据库等)(引用[3]) 2. **通信机制** - **双通道支持**: - `SSE` (Server-Sent Events):适用于实时流式交互(引用[1]) - `stdio` (标准输入输出):通用进程间通信 ```python # 伪代码示例:MCP-client调用工具 def call_mcp_tool(api_name, params): # 通过stdin发送JSON请求 request = json.dumps({"api": api_name, "args": params}) stdin.write(request) # MCP协议封装 return stdout.read() # 获取工具响应 ``` 3. **协议特性** - **工具动态注册**:Server启动时向Client注册可用工具列表 - **声明式接口**:通过`tool.json`定义工具输入/输出格式(引用[3]) - **跨平台支持**:独立于模型框架(PyTorch/TensorFlow均可接入) --- ### **Dify 与 MCP 的区别对比** | **维度** | **MCP协议** | **Dify平台** | |-----------------|--------------------------------|----------------------------------| | **定位** | 模型与工具的通信标准 | 开源的LLM应用开发平台 | | **核心功能** | 定义模型调用工具的交互规范 | 提供可视化编排、Prompt管理、API服务等 | | **技术栈** | 传输层协议(类似gRPC设计理念) | 全栈应用平台(含UI/后端/部署) | | **使用方式** | 需自主实现Client/Server逻辑 | 通过界面配置工具集成(引用[2][3]) | | **典型场景** | 模型需调用外部API/工具时 | 快速构建企业级AI应用(如智能客服) | --- ### **关键差异说明** 1. **集成关系** Dify可通过 **MCP Client适配器** 调用MCP-Server(引用[3]): $$\text{Dify平台} \xrightarrow{\text{内置MCP-client}} \text{MCP-Server(工具服务)}$$ > *例:Dify配置高德地图工具时,实际通过MCP协议向地理服务发请求[^3]* 2. **能力范围** - **MCP** 专注解决 **模型安全隔离** 和 **工具标准化调用**(引用[2]) - **Dify** 额外提供: - 可视化工作流引擎 - 多模型支持(GPT/Claude等) - 企业级RBAC权限管理 --- ### **应用场景示例** - **纯MCP架构**: 模型本地部署,需要连接私有数据库 → 自建MCP-Server封装数据库API - **Dify+MCP整合**: 在Dify中配置天气预报工具 → Dify通过MCP协议调用气象数据服务[^3] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值