小智mcphub:针对小智AI平台优化的MCP工具桥和控制台
中文版 |英语
肖志麦普华 是基于以下内容的第二阶段开发 MCPHub。它增强了与小智AI平台的集成,提供了多端点管理、自动重连、基于向量的智能路由和OpenAPI兼容的访问。
🚀 主要特点
- 增强小智整合:
- 多端点管理:具有多个Xiaozhi端点的双向WebSocket连接(启用/禁用、编辑、重新连接、状态查询)。 - 智能重新连接:快速重新连接模式、指数回退、睡眠窗口无限重试——所有这些都可以通过环境变量进行配置。 - 工具同步:当服务器工具更改时,会通知Xiaozhi端点以保持工具列表最新。 - 分组和智能路由:端点可以绑定到组或使用 $smart 智能路由。
- MCP管理(继承和增强):
- 管理标准MCP服务器(stdio/SSE/HTTP模式)。 - 启用/禁用服务器、工具和带有描述和分组的提示。 - 统一的MCP入口、组入口和特定于服务器的端点。
- 控制台和身份验证:
- 前端控制台(React+Vite+Tailwind)用于管理服务器、组、用户、日志、设置、Xiaozhi端点和市场。 - 基于JWT的身份验证,使用用户上下文中间件和内置管理员帐户。
- OpenAPI和直接工具访问:
- 公开OpenAPI文档和统计端点。 - 通过OpenAPI兼容的端点调用特定的服务器工具。
🧩 与上游的主要区别
- 新的小智端点多端点管理和状态(向后兼容,专注于多端点)。
- 新的每端点重新连接策略和全局快速重新连接交换机。
- 增强
$smart智能路由(可选),带自动小智联动。 - 数据库用途 PostgreSQL+pgvector,默认情况下初始化示例服务器和管理员。
🔧 快速开始
方法1:使用DockerHub镜像(推荐)
# Pull the image
docker pull huangjunsen/xiaozhi-mcphub:latest
# Run (adjust DB URL and password to your environment)
docker run -d \
--name xiaozhi-mcphub \
-p 3000:3000 \
-e DATABASE_URL="postgres://xiaozhi:xiaozhi123456@localhost:5432/xiaozhi_mcphub" \
-e SMART_ROUTING_ENABLED="false" \
-v $(pwd)/data:/app/data \
huangjunsen/xiaozhi-mcphub:latest
# Open the dashboard
# http://localhost:3000可选环境变量:
BASE_PATH:在子路径下部署(例如。,/mcphub).JWT_SECRET:JWT机密(建议在生产中明确设置)。SMART_ROUTING_ENABLED:启用/禁用智能路由(默认为“false”)。OPENAI_API_KEY,OPENAI_API_BASE_URL,OPENAI_API_EMBEDDING_MODEL:启用智能路由时需要。
默认管理员: admin / admin123 (请在首次登录后更改)。
方法二:Docker一键编写
此存储库随附 docker-compose.yml 包括两者 pgvector 以及应用程序:
docker compose up -d
# View logs (optional)
docker compose logs -f mcphub关键变量(必要时在compose中编辑):
DATABASE_URL: `postgres://xiaozhi:
@db:5432/xiaozhi_mcphub`
SMART_ROUTING_ENABLED:启用/禁用智能路由(默认为“false”)。- 可选:
BASE_PATH,JWT_SECRET,OPENAI_API_KEY等等。(见上文)
方法3:地方发展
要求:Node.js 18+/20+,pnpm,PostgreSQL 16+(建议使用 db 来自回购组合的服务)。
git clone https://github.com/huangjunsen0406/xiaozhi-mcphub.git
cd xiaozhi-mcphub
pnpm install
# Start local database (optional, reuse compose's db)
docker compose up -d db
# Set database connection (or write to .env)
export DATABASE_URL="postgres://xiaozhi:xiaozhi123456@localhost:5432/xiaozhi_mcphub"
# Start both backend (:3000) and frontend (Vite :5173)
pnpm dev访问前端开发服务器 http://localhost:5173 (前端代理到后端 :3000).
🗺️ 智能路由(可选)
集 SMART_ROUTING_ENABLED 到 true 并提供 OPENAI_API_KEY 启用它。系统使用 pgvector 用于矢量存储和索引。如果不存在向量,索引构建将被跳过,稍后由向量服务填充。
🖥️ 控制台功能(前端)
- 仪表板:概述和状态
- 服务器:服务器和工具管理
- 组:分组和分配
- 用户:用户和权限(管理员)
- 日志:实时和历史日志
- 设置:系统配置(包括智能路由)
- 小至终点:小至终点管理
- 市场:从社区搜索并安装MCP服务器
📦 默认值和初始化
- 默认管理员:
admin/admin123 - 默认MCP服务器:amap/describer/fetch/llack(可以在控制台中修改并通过ENV配置)
🔧 故障排除
铁路上的Python MCP服务器(uvx)
如果你遇到 Error: spawn uvx ENOENT 安装基于Python的MCP服务器时(如 fetch, web-fetch, openai-websearch-mcp),这意味着 uvx 未安装在部署环境中。
解决方案: 此存储库包括 nixpacks.toml 自动安装的配置 uv (包括 uvx)在铁路部署期间。只需推送您的更改并重新部署:
git add .
git commit -m "Deploy with uvx support"
git push有关详细信息,请参阅 铁路\_ UVX_FIX.md.
📄 许可证和归属(Apache许可证2.0)
这个项目是 MCPHub 并遵循 Apache许可证2.0:
- 保存上游和项目许可证和通知文件,包括
LICENSE和NOTICE. - 如果修改并重新分发源代码或二进制文件,请注明更改。
- 在重新分发中包含许可和免责声明;并不意味着得到原作者的认可。
🤝 贡献
欢迎投稿!请打开问题/PR以进行改进。
🔗 链接
- 上游项目:
- 小智人工智能平台:
- 模型上下文协议:
