Xiaozhi Client 多功能AI客户端,集成MCP(微服务通信协议),作为官方小智AI服务的客户端,能以标准MCP Server的形式集成到Cursor、Cherry Studio等第三方客户端,实现MCP配置的集中管理与多设备共享。Xiaozhi Client支持配置和聚合多个小智AI接入点,动态控制MCP工具的可见性,能无缝对接本地部署的开源服务端或远程ModelScope托管的MCP服务。Xiaozhi Client提供了强大的命令行工具集和现代化的Web UI界面,极大地简化了MCP服务的可视化配置与管理,避免了手动编辑JSON文件的繁琐,严格遵循JSON-RPC 2.0通信规范,明确定义了请求、通知和响应格式,便于开发者构建兼容的自建MCP服务端,支持stdio和HTTP Server两种集成模式,提供了灵活的部署方式。
• 接入小智(xiaozhi.me)官方服务器接入点
• 作为普通MCP Server集成到Cursor、Cherry Studio等客户端
• 配置多个小智接入点,实现多个小智设备共享一个MCP配置
• 通过标准方式聚合多个MCP Server
• 动态控制MCP Server工具的可见性,避免因无用工具过多导致的小智服务端异常
• 集成本地化部署的开源服务端,可使用和小智官方服务端一样的RPC通信或标准MCP集成方式
• 提供Web网页可视化配置,允许自定义IP和端口,支持跨设备控制(如部署在设备A,在设备B通过网页控制)
• 集成ModelScope的远程MCP服务
• 通过模板创建xiaozhi-client项目(命令:xiaozhi create <my-app> --template hello-world)
• 支持后台运行(命令:xiaozhi start -d)
1、安装命令行工具:npm i -g xiaozhi-client
2、创建项目:xiaozhi create my-app --template hello-world
3、进入项目目录:cd my-app
4、安装依赖(主要是示例代码中mcp服务所需依赖):pnpm install
5、修改xiaozhi.config.json中的mcpEndpoint为你的接入点地址(需前往xiaozhi.me获取)
6、运行服务:xiaozhi start
1、创建项目:npx -y xiaozhi-client create --template hello-world
2、进入项目目录:cd hello-world
3、安装依赖:pnpm install
4、修改xiaozhi.config.json中的mcpEndpoint为你的接入点地址(需前往xiaozhi.me获取)
5、启动服务:npx -y xiaozhi-client start
• 查看帮助:xiaozhi --help
• 启动服务:xiaozhi start
• 后台启动服务:xiaozhi start --daemon
• 将后台服务转到前台运行:xiaozhi attach
• 查看服务状态:xiaozhi status
• 停止服务:xiaozhi stop
• 重启服务:xiaozhi restart
• 列出所有使用的mcp服务:xiaozhi mcp list
• 列出所有mcp所提供的tools:xiaozhi mcp list --tools
xiaozhi-client支持同时连接多个小智AI接入点,配置方式有两种:
• 单接入点配置(字符串):
{
"mcpEndpoint": "wss://api.xiaozhi.me/mcp/your-endpoint-id"
}
• 多接入点配置(字符串数组):
{
"mcpEndpoint": [
"wss://api.xiaozhi.me/mcp/endpoint-1",
"wss://api.xiaozhi.me/mcp/endpoint-2",
"wss://api.xiaozhi.me/mcp/endpoint-3"
]
}
• 查看当前配置的所有接入点:xiaozhi endpoint list
• 添加新的接入点:xiaozhi endpoint add wss://api.xiaozhi.me/mcp/new-endpoint
• 移除指定的接入点:xiaozhi endpoint remove wss://api.xiaozhi.me/mcp/old-endpoint
• 设置接入点(覆盖现有配置):xiaozhi endpoint set wss://api.xiaozhi.me/mcp/endpoint-1 wss://api.xiaozhi.me/mcp/endpoint-2
{
"mcpEndpoint": [
"wss://api.xiaozhi.me/mcp/305847/abc123",
"wss://api.xiaozhi.me/mcp/468832/def456"
],
"mcpServers": {
"calculator": {
"command": "node",
"args": ["./mcpServers/calculator.js"]
},
"datetime": {
"command": "node",
"args": ["./mcpServers/datetime.js"]
}
}
}
• 多接入点配置时,每个接入点会启动独立的MCP进程 • 确保每个接入点的URL有效 • 接入点之间相互独立,一个接入点故障不影响其他接入点 • 建议根据实际需求合理配置接入点数量
xiaozhi-client支持接入ModelScope托管的MCP服务,配置和使用步骤如下:
在xiaozhi.config.json的mcpServers中添加SSE类型配置:
{
"mcpServers": {
"amap-maps": {
"type": "sse",
"url": "https://mcp.api-inference.modelscope.net/caa0bd914d9b44/sse"
}
}
}
1、获取ModelScope API Token:
• 访问ModelScope并登录 • 在个人中心获取API Token
2、配置API Token(两种方式选其一): • 方式一(推荐):在配置文件中设置
{
"modelscope": {
"apiKey": "你的API Token"
}
}
• 方式二:设置环境变量
export MODELSCOPE_API_TOKEN="你的API Token"
3、启动服务:xiaozhi start
• ModelScope MCP服务需要有效的API Token才能使用
• 配置文件中的API Token优先级高于环境变量
• 确保网络能够访问ModelScope的服务端点
• SSE类型的服务会自动识别并使用相应的连接方式
若使用自建的MCP服务端,需遵循JSON-RPC 2.0消息格式规范,具体如下:
1、请求(Request)- 需要响应
{
"jsonrpc": "2.0",
"method": "方法名",
"params": {},
"id": 1 // 必须包含id字段,可以是数字或字符串
}
支持的请求方法:initialize(初始化连接)、tools/list(获取工具列表)、tools/call(调用工具)、ping(连接测试)
2、通知(Notification)- 不需要响应
{
"jsonrpc": "2.0",
"method": "方法名",
"params": {}
// 注意:不能包含id字段
}
支持的通知方法:notifications/initialized(初始化完成通知)
3、成功响应(Response)
{
"jsonrpc": "2.0",
"result": {},
"id": 1 // 必须与请求的id相同
}
4、错误响应(Error)
{
"jsonrpc": "2.0",
"error": {
"code": -32600,
"message": "错误描述"
},
"id": 1 // 必须与请求的id相同
}
• 请求和通知的唯一区别是是否包含id字段:有id为请求,需要响应;无id为通知,不需要响
• "notifications/initialized"必须作为通知发送(不应包含id)
• 正确示例:
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}
• 错误示例(包含id):
{
"jsonrpc": "2.0",
"method": "notifications/initialized",
"id": 1
}
• 每条JSON-RPC消息必须以换行符\n结束
1、客户端发送initialize请求
2、服务端返回initialize响应
3、客户端发送notifications/initialized通知(无需响应)
4、后续可进行工具列表查询和调用
xiaozhi-client提供现代化Web UI界面,方便直观配置MCP服务,主要功能包括:
• 现代化界面:基于React + TypeScript + Tailwind CSS构建
• 可视化配置:无需手动编辑JSON文件,通过界面操作完成配置
• 实时连接状态:显示与小智服务器的连接状态
• MCP服务管理:添加/编辑/删除MCP服务,支持本地服务和SSE服务,支持批量导入配置
• 配置管理:编辑连接参数(心跳间隔、超时时间等),管理ModelScope API Key
运行命令:xiaozhi ui
需升级至1.5.0及以上版本,xiaozhi-client可作为标准MCP Server被Cursor、Cherry Studio等支持MCP协议的客户端集成。这样只需在xiaozhi.config.json中配置一遍MCP服务,就能在任意客户端集成,还可自定义暴露的MCP Server tools,定制工具集。
1、确保已全局安装xiaozhi-client:npm install -g xiaozhi-client
2、在客户端的MCP配置中添加:
{
"mcpServers": {
"xiaozhi-client": {
"command": "xiaozhi",
"args": ["start", "--stdio"]
}
}
}
提示:如需指定配置文件位置,可使用环境变量。配置文件的查找顺序为:当前工作目录、通过XIAOZHI_CONFIG_DIR环境变量指定的目录。示例:
{
"mcpServers": {
"xiaozhi-client": {
"command": "xiaozhi",
"args": ["start", "--stdio"],
"env": {
"XIAOZHI_CONFIG_DIR": "/path/to/your/config/directory"
}
}
}
}
若将xiaozhi-client装在docker中,可通过http server方式暴露给外部客户端:
1、启动xiaozhi-client的HTTP Server:
• 使用默认端口3000:xiaozhi start --server
• 使用自定义端口:xiaozhi start --server 8080
• 后台运行:xiaozhi start --server --daemon
2、在客户端中配置SSE连接:
{
"mcpServers": {
"xiaozhi-client": {
"type": "sse",
"url": "http://localhost:3000/sse"
}
}
}
轻量高性能视频生成模型腾讯混元HunyuanVideo-1.5
自托管 Moonlight 游戏串流主机服务 Sunshine
建站工具Halo 使用 Docker Compose 部署指南
带 AI 功能的社交媒体日程安排工具 postiz app
大模型API网关 Helicone AI Gateway 部署和使用
为 AI 设计的开源网页爬虫与解析工具Crawl4AI安装使用手册
Extract2MD 客户端 JavaScript 库,将 PDF 文件转换为 Markdown 格式
Bolo 菠萝博客(Java博客系统)
Crawl4AI RAG MCP Server 为 AI 代理和 AI 编码助手提供网页爬取与 RAG 功能的 MCP 服务器
Agent-MCP:基于MCP协议的多智能体协作框架
ACI.dev 开源基础设施,支持MCP服务器为AI智能体提供600+工具
n8n Autoscaling System:基于Docker的n8n工作流自动化方案