# MCP 接入点使用指南 本教程以虾哥开源的mcp计算器功能为示例,介绍如何将自己自定义的mcp服务接入到自己的接入点里。 本教程的前提是,你的`xiaozhi-server`已经启用了mcp接入点功能,如果你还没启用,可以先根据[这个教程](./mcp-endpoint-enable.md)启用。 # 如何为智能体接入一个简单的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计算器项目代码 浏览器打开虾哥写的[计算器项目](https://github.com/78/mcp-calculator), 打开完,找到页面中一个绿色的按钮,写着`Code`的按钮,点开它,然后你就看到`Download ZIP`的按钮。 点击它,下载本项目源码压缩包。下载到你电脑后,解压它,此时它的名字可能叫`mcp-calculatorr-main` 你需要把它重命名成`mcp-calculator`。接下来,我们用命令行进入项目目录即安装依赖 ```bash # 进入项目目录 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 ``` 开始输入命令 ```bash export MCP_ENDPOINT=ws://192.168.1.25:8004/mcp_endpoint/mcp/?token=abc ``` 输入完后,启动程序 ```bash 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'`,说明设备将可以根据意图识别,调用计算器这个工具。