前言

最近看到小智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好像可以本地使用,但是我也没用过,这个大家有机会了可以自己试一试
在这里插入图片描述

参考资料

调用Unity的MCP接口,让AI自己开发游戏。

调用Blender的MCP接口,让AI自己3D建模。

调用百度地图的MCP接口,让AI自己联网,查路况,导航。

火遍全网的MCP是什么?怎么用?如何自己开发一个MCP服务?一个视频带你入门!

阿里云大模型工程师ACA认证免费课程 - 通过插件增强大模型的能力

MCP大本营

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐