小智AI聊天机器人MCP解决方案
在中国有一个名字叫做小智的开源的聊天机器人项目很热门,我为其构建了一个系统用来快速接入MCP服务,仅需要1分钟时间3个简单步骤就可以完成接入,海量MCP服务自由挑选,从而扩展小智聊天机器人的能力边界。
小智项目简介
在中国有个开源的聊天机器人项目很火爆,名字叫做小智,由江湖人称虾哥的大佬领衔。
小智在github的项目地址是:https://github.com/78/xiaozhi-esp32。
该项目开源的是小智硬件上面的软件。我快速翻阅了一下项目源代码,总体来看开源部分的软件并不是很复杂。另外我特意查了一下这个项目的commit历史信息:
commit 16334ca75f2ee66dd7d9bdae56db585670f0d932
Author: Terrence <terrence@tenclass.com>
Date: Sun Sep 1 13:24:45 2024 +0800
configure GPIO and sample rates
commit 490b8668f65248cbd310271cb97218d73f9349db
Author: Terrence <terrence@tenclass.com>
Date: Sun Sep 1 10:37:02 2024 +0800
esp cert bundle
commit 5da7d1755fed2294f26816ffeb851eee5aacdfb9
Author: Terrence <terrence@tenclass.com>
Date: Sat Aug 31 18:00:23 2024 +0800
Hello, Xiaozhi.
commit 142653087f1d824e10c88cfc06bfcdd7245536cf
Author: Xiaoxia <gdxxhg@gmail.com>
Date: Sat Aug 31 18:08:16 2024 +0800
Initial commit
可以发现其最早的一次提交是在2024年的8月31日,也就是一年多一点点的时间就发展到目前的这个状态,还是非常非常棒的。
不过该项目的后台部分是不开源的,但是开源了详细的通讯协议,因此github有后台部分的开源实现,由华南理工大学刘思源教授团队主导研发。
MCP简介
从维基百科搬运过来的介绍:
模型上下文协议(英语:Model Context Protocol,缩写:MCP)是Anthropic所推动的一项开放标准[1],目的是为大型语言模型应用提供一个标准化接口,使其能够连接外部数据源和工具,并与其交互[2]。
MCP的目标在克服大型语言模型应用仅依赖其训练数据的局限性,使其能够获取所需的上下文信息,以执行更广泛的任务。MCP通过定义一套通用的准则和格式,使得大型语言模型应用可以在需要时动态地获取相关信息、执行操作,从而增强其功能和使用范围。
大白话来讲就是:大语言模型(LLM)是大脑,各种工具是手和脚,有了这个MCP,就可以采用一个标准的方式让大脑来指挥手和脚干活。
正因为这是一个标准协议,所以开源社区很快就陆续开发出了几万个MCP服务,不过这个方向目前还处于野蛮生长阶段,各种MCP服务质量参差不齐。
MCP协议截止到目前为止发布了3个版本:
从时间信息可以发现,MCP协议的演进是非常快的,甚至有些东西都废弃了,例如之前提到的SSE传输层,在2025-06-18版本的协议里,已经废弃了,不过还是做了前向兼容的。
This replaces the HTTP+SSE transport from protocol version 2024-11-05. See the backwards compatibility guide below.
MCP协议文本写得比较简洁明了的,建议大家通读一遍。另外补充一点,大家可以看看这个schema文档,协议上的所有的细节都在这里做了精确阐述。如果还想更深入了解的话,那么就得去死磕源代码了。
小智全面拥抱MCP
从github的开源代码仓的提交记录来看,小智是在2025年5月22日开始构建MCP相关的能力的。
commit 5da66773d5ba6a5cf41dcc0c722af80c0f2f7eb7
Author: Terrence <terrence@tenclass.com>
Date: Thu May 22 19:19:36 2025 +0800
Add MCP server
并且很大胆地使用它作为设备控制的缺省实现:
commit d80f94387a61ae22cda5201192ff87846858c5f8
Author: Xiaoxia <terrence@tenclass.com>
Date: Tue May 27 14:58:49 2025 +0800
v1.6.6: Set MCP as default IoT Protocol (#690)
不过从虾哥的社交媒体的短视频来看,该MCP能力在5月18日之前就已经上线了。
嗯!这代码写好了先藏一藏,虾哥果然心机Boy,要不然怎么能干大事呢。
且虾哥在这个提交里表现出了雄心勃勃的计划:基于 MCP 控制万物
16ec95f6 (Xiaoxia 2025-06-04 04:17:49 +0800 19) ### 基于 MCP 控制万物
1093bce0 (Terrence 2024-09-12 19:53:14 +0800 20)
16ec95f6 (Xiaoxia 2025-06-04 04:17:49 +0800 21) 小智 AI 聊天机器人作为一个语音交互入口,利用 Qwen / DeepSeek 等大模型的 AI 能力,通过 MCP 协议实现多端控制。
1093bce0 (Terrence 2024-09-12 19:53:14 +0800 22)
16ec95f6 (Xiaoxia 2025-06-04 04:17:49 +0800 23) 
我的作品 - https://imcp.pro
我本人在很早的时候就开始关注MCP并且做了比较深入的研究,当然也在关注小智这个开源项目。
大约是在2025年6月下旬的某天,我在小智官方看到有MCP的文档介绍,并且提供了一个计算器示例工程。
而且我从官方MCP专区的一些其它文档有提供一些工具来接入MCP,我当时的第一感觉就是:这也太不方便了。
于是萌生了一个想法,我要亲自做一个工具来简化用户的使用。
终于在2025年7月6日,那是一个星期天,我按耐不住内心的冲动,开始了第一行代码的编写。
经过一个多月的断断续续地写代码,我在9月3日阅兵那天把系统部署上线了。嗯,imcp.pro长成这样子:

为了让用户使用简单,我把用户操作路径做了极致简化,只需要3个步骤就可以完成接入:
- 把小智的MCP接入点地址复制一下
- 到imcp.pro首页把刚才复制的地址粘贴进去。
- 点击
一键部署,接下来用户就可以和小智对话了,并且使用系统默认添加的MCP服务。

系统发布上线后,我自己先使用了几天没啥问题,然后我在小智的用户群里简单推广了一下,发现当天用户反响非常不错,看来是准确把握住了用户的痛点。
不过这里面有个很有意思的小插曲,我刚推广完,第二天白天发现系统不工作了。这出师不利呀!但我很快定位到问了原因,是因为小智后台在调用tool的时候,往请求参数里填入了一些systemArguments,而这些参数在MCP协议里其实是没有定义的,且严格来讲也不应该往请求里添加非schema描述的参数信息,因为这会导致标准的MCP库抛异常而无法正常工作。
于是我在群里把这个问题报告给群里一个叫小虾的管理员,官方还是响应很及时的,当天小虾就加我好友,并安排了技术人员拉小群和我对接,也有可能和我公开挑战他们说想看看小智云服务的故障处理是在什么水准有关。
经过和对方技术人员的问题分析与讨论,最后小智官方采纳了我的建议把这个参数删除了,在第二天凌晨升级了小智后台的软件,于是我的系统也恢复正常工作了。
我后来才知道小虾就是虾哥本人,失敬了!
其实我是有申请过在小智官方文档的MCP专区给我的系统增加一个入口的,因为我看见这个专区有多个其它系统的介绍的,恐怕这些入口是目前小智MCP的主要流量入口。不过呢,官方最终并没有同意我的请求,可能有一些利益冲突吧。因为我发现,在我的系统上线后几天,小智官方也在后台管理页面上线了3个MCP服务,不过功能还比较简单。期间我和小智官方相关人员也进一步讨论过这个MCP平台的事情,细节略去。
技术架构
本文并不是纯粹的软文,因此,接下来我们还是简单讨论一些imcp.pro的技术架构的事情。
先介绍一下imcp.pro平台里的一些核心概念,便于用户理解其基础逻辑。
- 智能体:这是用户在imcp.pro平台创建的服务入口,其通过小智的
MCP接入点地址和小智的智能体建立起一对一的关系,从而可以把用户经过小智请求的MCP服务路由到imcp.pro平台。 - MCP服务: 可以简单理解为这是用来扩展智能体边界的一组服务。有了这些MCP服务,用户通过小智就可以实现丰富的功能。
- 绑定:用户挑选到了合适的MCP服务,可以把它绑定到已经建立好的智能体上,完成小智功能的扩展。
- 解绑:用户解绑不想要的MCP服务,解绑完后可以换一些别的MCP服务继续绑定。
关键的一些技术要点:
- 使用爬虫爬取开源社区的一些公开MCP服务,快速构建海量MCP服务。
- 按用户纬度以及MCP维度来隔离资源,从而解决安全问题。因为我做的是一个互联网产品,不是本地单机版本,因此安全是最基础的问题。
- 解决性能问题。一方面让用户能快速部署MCP服务,从而优化用户体验。另外一方面是要极致压缩服务器资源开销以实现经济合理性。
后续演进
后续还有很多事情要做,有很多规划的特性还需要去写代码。
且我这个系统虽然是以小智为切入点来开发的,但我的本意并不仅仅是为小智服务,因为这是通用的平台,这也是为什么我现在逐渐转移到其它社区来做一些宣传推广。
最后,如果您觉得我这个手搓的建议系统还是有那么点价值的话,请帮忙宣传推广一下,万分感谢!
更多推荐



所有评论(0)