聊一聊 - MCP协议
简单聊一下什么是MCP协议,属于学习记录,参考资料中有比较多的MCP学习链接
文章目录
前言
最近看到小智Ai的最新版本支持了MCP协议,然后就想着梳理下小智AI是怎么适配和使用MCP协议的,梳理过程中发现MCP的梳理就占据了比较大的篇幅,所以想着把MCP单独抽出来和大家一起聊一聊。更加详细的内容可以查看参考资料章节。
1. MCP简介
1.1 什么是MCP协议

模型上下文协议(Model Context Protocol,以下简称 MCP) 为大语言模型对接不同数据源和工具建立了标准。通过MCP,大模型能通过统一的接口和各种工具应用实现对接。这使得越来越多的软件及工具厂商参与到 MCP 服务(MCP Server)生态的建设中,将其产品能力包装为 MCP 服务开放给 AI 模型使用。MCP的出现,极大降低了大模型调用外部海量工具、软件、接口的门槛。
另外我们需要知道MCP是一种C-S架构,即分为客户端和服务端,实际上也比较好理解,比如我们要使用高德地图的MCP服务,那么我们的应用就是客户端,高德地图MCP服务就是服务端。
其工作原理大概如下
1.3 为什么会有MCP
伴随着AI的发展,大家不再满足于只能通过文字对话的方式从模型处获取信息反馈,开始在思考怎么能够让模型像人一样调用电脑上的工具,例如直接帮忙创建个word文件自己按照给出的特点进行编写,而不是单纯的告诉我们第一步应该创建个文档,第二步应该按照多大字号输入标题…
粗俗点说,以前的AI大模型就是只有一个头,能说会道也能看图,但是就是动不了,然后为了能够让模型像人一样知道工具怎么用(类似于给模型安装上能够通过指令控制的手脚),于是定义了这个开源的通用的协议MCP,大家统一按照这个标准,告诉模型,而有了众多MCP服务的加持,模型就能够根据思考过程去调用各种工具,例如模型的计算能力不行,那我们可以接入一个计算器的MCP服务,当出现数字计算需求时,让模型去调用计算器工具。
1.3 Function Calling和MCP
Function Call是早期的让模型能够使用工具的方式,这种方式由于不同厂家不统一,导致复用性差,所以才有了后来更加标准化的MCP。
Function Calling
在制作AI智能体时,人们希望大模型能够直接去使用工具,然后怎么使用呢,就想到了现在编程中常用的函数调用的方式。
例如想要查询天气,那么有个tool: 天气 接口:weather_get()之类的。
通过在提示词中告诉模型我们具备哪些工具,可以让模型去调用我们提供的工具。
缺点
大模型厂商各自为战,每家厂商都有自己的协议,例如高德地图想要让模型使用地图服务就需要按照不同厂家的Function Call要求,去写适配代码,然后再进行调试,重复性工作多不说,过于分散精力导致效果还不好。
图片好像来自于B站的玄离
MCP

MCP 属于Function Calling的进阶,本质上还是Function Calling这一套,只不过呢相当于加了一层封装,类似于操作系统的POSIX接口。
有了MCP之后我们只需要按照MCP的要求去制作工具就行了,然后由不同的模型厂商去兼容MCP格式的工具,这样以后开发一个工具就能够在不同的模型上面使用了。
2. MCP的技术细节
MCP的Host、Client、Server是什么关系?
可以把Host理解为电脑,然后Client是电脑上的应用

大模型是怎么知道有哪些工具可以调用,每个工具是做什么的?

3. 怎么使用MCP
3.1 在线使用
魔塔社区的 MCP广场
简介
顾名思义就是说所有的MCP服务都在这个大广场上,像赶集一样,我们能够来到这个广场去寻找我们感兴趣的MCP服务。
地址:https://modelscope.cn/mcp
Hosted标签
魔塔社区中打上Hosted标签的服务是指==通过MCP(Model Context Protocol)协议标准化封装、并由魔塔社区托管的一类AI工具或功能接口,开发者可直接调用或集成这些服务,无需自行部署底层资源。==这类服务旨在简化AI应用的开发流程,尤其针对复杂场景(如支付、多模态生成等)提供“即插即用”的解决方案

魔塔社区的MCP实验场
1. 简介
为了方便社区用户快速地在实际场景中体验通过大模型调用 MCP 服务,魔塔社区提供了MCP试验场的功能,作为官方体验MCP客户端
2. 使用默认配置的MCP服务
从下面这个页面看来,默认是有3个MCP服务,分别是爬虫/时间/地图
获取当前的时间
获取杭州物联网街到河坊街的公交路线

这次的搜索相对而言耗时比较久,可能是请求的内容所思考和回复的信息比较多
调用过程
最终结果
3. 其他Hosted MCP服务
在实验场的配置界面,我们可以选择使用不同的模型,如这里我切换到了DeepSeek的模型。
同时也可以添加其他的MCP Server, 对于其他平台 Hosted MCP服务,只需要在服务详情页复制已经正确配置环境变量后的 SSE URL 配置信息,并粘贴在实验场的配置界面中并保存,即可前往“实验场”对话界面体验。
3.2 本地使用
使用这个Cherry Studio好像可以本地使用,但是我也没用过,这个大家有机会了可以自己试一试
参考资料
火遍全网的MCP是什么?怎么用?如何自己开发一个MCP服务?一个视频带你入门!
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)