[i=s] 本帖最后由 WildboarG 于 2025-6-2 10:39 编辑 [/i]
小安AI MCP外部接入能力测试
测试背景
尝试了小安AI的MCP(Message Control Protocol)外部接入功能,测试了两个实用场景:语音签到和Bark通知推送。
测试内容
1. 语音控制签到脚本
- 通过MCP协议实现了自动签到功能
- 使用WebSocket连接(wss://api.xiaozhi.me/mcp/)进行通信
- 成功实现了语音控制自动执行签到操作
2. Bark通知推送
- 配置了Bark服务器:http://xxxxxxxx.xxxx
- 设置了设备密钥用于消息推送
- 成功实现了语音消息的推送通知功能
测试过程
- 配网、上电、接入小智 见另一篇测评帖子(还没写这里占位先)
- MCP接入过程相对简单,阅读小智官方MCP接入文档

- 从github拉取实例代码
-
git clone https://github.com/78/mcp-calculator.git
- 拉取依赖
-
pip install -r requirements.txt
- 设置接入点环境变量
-
export MCP_ENDPOINT=<your_mcp_endpoint>
- 运行实例
-
python mcp_pipe.py calculator.py
- 根据实例程序编写自己的tool工具。我们起名工具名叫multi_tools.py 里边有多个函数,以bark 通知为例,用mcp.tool装饰器包裹我们的任务函数
//Bark通知功能
@mcp.tool()
def bark_notify(title: str, content: str, sound: str = "default", level: str = "active", url: str = None) -> dict:
/*
发送Bark通知到iPhone
Args:
title: 通知标题
content: 通知内容
sound: 通知声音,可选值:default, minuet, alarm, anticlock, bell, birdsong, bloom, calypso, chime, choo, descending, electronic, fantasy, gotit, lmt, mechanical, minuet, notification, oldphone, shake, silence, timepiece, tritone, updown
level: 通知级别,可选值:active, timeSensitive, passive
url: 点击通知跳转的URL(可选)
Returns:
dict: 包含发送结果的字典
try:
从环境变量获取Bark服务器地址和设备密钥
*/
bark_server = os.environ.get('BARK_SERVER')
device_key = os.environ.get('BARK_DEVICE_KEY')
if not bark_server or not device_key:
return {"success": False, "message": "请先设置BARK_SERVER和BARK_DEVICE_KEY环境变量"}
// 构建通知URL
base_url = f"{bark_server}/{device_key}"
//构建参数
params = {
"title": title,
"body": content,
"sound": sound,
"level": level
}
if url:
params["url"] = url
//发送通知
response = requests.get(base_url, params=params)
if response.status_code == 200:
logger.info(f"Bark通知发送成功: {title}")
return {"success": True, "message": "通知发送成功"}
else:
logger.error(f"Bark通知发送失败: {response.text}")
return {"success": False, "message": f"通知发送失败: {response.text}"}
except Exception as e:
logger.error(f"Bark通知发送出错: {str(e)}")
return {"success": False, "message": f"通知发送失败: {str(e)}"}
export BARK_SERVER=http://<ip>:<port>
export BARK_DEVICE_KEY=xxxxxxxxxxxxxxxx
- 然后运行
-
python mcp_pipe.py multi_tools.py
- 来看看效果吧
总结
小安AI的MCP外部接入功能非常强大,我们可以编写自己的函数脚本调用API,然后用语音指令去控制执行,这大大拓展了了AI的能力。
FAQ
扩展的函数需要独立运行,需要一个能运行python的环境,将自定义的功能接入MCP。