You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

MCP 接入点使用指南

本教程以虾哥开源的mcp计算器功能为示例介绍如何将自己自定义的mcp服务接入到自己的接入点里。

本教程的前提是,你的xiaozhi-server已经启用了mcp接入点功能如果你还没启用可以先根据这个教程启用。

如何为智能体接入一个简单的mcp功能如计算器功能

如果你是全模块部署

如果你是全模块部署,你可以进入智控台,智能体管理,点击配置角色,在意图识别的右边,有一个编辑功能的按钮。

点击这个按钮。在弹出的页面里,位于底部,会有MCP接入点,正常来说,会显示这个智能体的MCP接入点地址接下来我们来给这个智能体扩展一个基于MCP技术的计算器的功能。

这个MCP接入点地址很重要,你等一下会用到。

如果你是单模块部署

如果你是单模块部署且你已经在配置文件里配置了MCP接入点地址那么正常来说单模块部署启动的时候会输出如下的日志。

250705[__main__]-INFO-初始化组件: vad成功 SileroVAD
250705[__main__]-INFO-初始化组件: asr成功 FunASRServer
250705[__main__]-INFO-OTA接口是          http://192.168.1.25:8002/xiaozhi/ota/
250705[__main__]-INFO-视觉分析接口是     http://192.168.1.25:8002/mcp/vision/explain
250705[__main__]-INFO-mcp接入点是        ws://192.168.1.25:8004/mcp_endpoint/mcp/?token=abc
250705[__main__]-INFO-Websocket地址是    ws://192.168.1.25:8000/xiaozhi/v1/
250705[__main__]-INFO-=======上面的地址是websocket协议地址请勿用浏览器访问=======
250705[__main__]-INFO-如想测试websocket请用谷歌浏览器打开test目录下的test_page.html
250705[__main__]-INFO-=============================================================

如上,输出mcp接入点是ws://192.168.1.25:8004/mcp_endpoint/mcp/?token=abc就是你的MCP接入点地址

这个MCP接入点地址很重要,你等一下会用到。

第一步 下载虾哥MCP计算器项目代码

浏览器打开虾哥写的计算器项目

打开完,找到页面中一个绿色的按钮,写着Code的按钮,点开它,然后你就看到Download ZIP的按钮。

点击它,下载本项目源码压缩包。下载到你电脑后,解压它,此时它的名字可能叫mcp-calculatorr-main 你需要把它重命名成mcp-calculator。接下来,我们用命令行进入项目目录即安装依赖

# 进入项目目录
cd mcp-calculator

conda remove -n mcp-calculator --all -y
conda create -n mcp-calculator python=3.10 -y
conda activate mcp-calculator

pip install -r requirements.txt

第二步 启动

启动前先从你的智控台的智能体里复制到了MCP接入点的地址。

例如我的智能体的mcp地址是

ws://192.168.1.25:8004/mcp_endpoint/mcp/?token=abc

开始输入命令

export MCP_ENDPOINT=ws://192.168.1.25:8004/mcp_endpoint/mcp/?token=abc

输入完后,启动程序

python mcp_pipe.py calculator.py

如果你是智控台部署

如果你是智控台部署启动完后你再进入智控台点击刷新MCP的接入状态就会看到你扩展的功能列表了。

如果你是单模块部署

如果你是单模块部署,当设备连接后,会输出类似的日志,说明成功了

250705 -INFO-正在初始化MCP接入点: wss://2662r3426b.vicp.fun/mcp_e 
250705 -INFO-发送MCP接入点初始化消息
250705 -INFO-MCP接入点连接成功
250705 -INFO-MCP接入点初始化成功
250705 -INFO-统一工具处理器初始化完成
250705 -INFO-MCP接入点服务器信息: name=Calculator, version=1.9.4
250705 -INFO-MCP接入点支持的工具数量: 1
250705 -INFO-所有MCP接入点工具已获取客户端准备就绪
250705 -INFO-工具缓存已刷新
250705 -INFO-当前支持的函数列表: [ 'get_time', 'get_lunar', 'play_music', 'get_weather', 'handle_exit_intent', 'calculator']

如果包含了 'calculator',说明设备将可以根据意图识别,调用计算器这个工具。