MCP统一集线器
一个由MindsDB驱动的一体化模型上下文协议(MCP)服务器中心,通过单个端点提供对25多种服务的统一访问。连接一次,从任何IDE或平台访问所有内容。
建筑
┌─────────────────────────────────────────────────────────────┐
│ MCP Unified Gateway │
│ http://localhost:3100 │
│ │
│ Single endpoint for all MCP capabilities │
│ • Notion • MongoDB • PostgreSQL • Neon • Redis │
│ • Stripe • Playwright • Apify • AWS • Kubernetes │
│ • Discord • Google Maps • Hugging Face • LinkedIn │
│ • Reddit • Obsidian • Postman • Heroku • Docker │
│ • Filesystem • Memory • LLM Text • Markdownify │
│ • Handwriting OCR • Sequential Thinking • And more... │
└───────────────────┬─────────────────────────────────────────┘
│
┌───────────┴───────────┐
│ │
┌───────▼────────┐ ┌────────▼────────┐
│ MindsDB │ │ Databases │
│ (AI/ML Core) │ │ • PostgreSQL │
│ Port: 47334 │ │ • MongoDB │
└────────────────┘ │ • Redis │
└─────────────────┘特性
- 单一统一端点:一个网关(
http://localhost:3100)适用于所有MCP服务 - MindsDB集成:在所有数据源中利用MindsDB的AI/ML功能
- 25+服务集成:访问数据库、API、AI模型和工具
- 多IDE支持:从Claude Code、VSCode、Cursor或任何兼容MCP的平台连接
- 基于Docker:完全容器化、便携、易于部署
- HTTP传输:简单的基于HTTP的MCP协议(无stdio复杂性)
- 监控:内置Prometheus可观察性指标
快速开始
先决条件
- Docker桌面已安装并正在运行
- 至少4GB RAM分配给Docker
- 要使用的服务的API密钥(可选,按服务配置)
安装
- 克隆或导航到MCP Hub目录:
cd C:\Users\momo-\mcp-hub- 配置环境变量:
# Windows
copy .env.template .env
notepad .env
# Linux/Mac
cp .env.template .env
nano .env- 启动MCP集线器:
# Windows
start.bat
# Linux/Mac
chmod +x start.sh
./start.sh- 验证它是否正在运行:
# Check health
curl http://localhost:3100/health
# List available tools
curl http://localhost:3100/tools连接到IDE
克劳德代码
添加到您的Claude代码配置中:
claude mcp add --transport http mcp-hub http://localhost:3100/mcp或手动添加到 .mcp.json:
{
"mcpServers": {
"mcp-unified-hub": {
"transport": "http",
"url": "http://localhost:3100/mcp",
"description": "Unified access to all MCP services"
}
}
}VSCode/光标/风帆
添加到您的settings.json:
{
"mcp.servers": {
"unified-hub": {
"type": "http",
"url": "http://localhost:3100/mcp"
}
}
}临床扩展
临床设置中的配置:
{
"mcpServers": {
"mcp-hub": {
"command": "node",
"args": ["-e", "require('http').get('http://localhost:3100/mcp')"],
"env": {}
}
}
}远程连接(从任何机器)
替换 localhost 使用服务器的IP地址:
claude mcp add --transport http mcp-hub http://YOUR_SERVER_IP:3100/mcp可用服务
数据库和存储
- PostgreSQL -关系数据库操作
- MongoDB -文档数据库操作
- 霓虹 -无服务器Postgres
- 瑞迪斯 -缓存和发布/订阅操作
AI和ML
- MindsDB 的 -AI/ML查询和预测
- 拥抱脸 -访问HF模型
- LLM文本 -使用各种LLM进行文本处理
生产力和内容
- 概念 -工作区管理
- 黑曜石 -记笔记和PKM
- Discord 的中文翻译是“不和谐”或“纷争”。 -机器人操作和消息传递
- 领英 -专业人脉
- 红迪 -社交媒体整合
开发者工具
- GitHub -存储库管理
- 邮递员 -API测试和收集
- 码头工人 -集装箱管理
- Kubernetes -集群操作
云和基础设施
- 亚马逊云服务 -S3、Lambda、DynamoDB等
- Heroku -应用程序部署和管理
自动化与测试
- 剧作家 -浏览器自动化
- Apify -网络抓取
- 执行自动化剧作家 -高级浏览器测试
API和服务
- 条纹 -付款处理
- 谷歌地图 -地图和地理位置
- 手写OCR -从图像中提取文本
公用事业
- 文件系统 -文件操作
- 记忆 -持久上下文存储
- Markdownify -HTML到Markdown的转换
- 顺序思考 -推理和逻辑链
用法示例
通过HTTP执行工具
curl -X POST http://localhost:3100/execute \
-H "Content-Type: application/json" \
-d '{
"handler": "notion",
"tool": "search",
"params": {
"query": "project notes"
}
}'JSON-RPC 2.0(标准MCP协议)
curl -X POST http://localhost:3100/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "notion.search",
"params": {
"query": "project notes"
},
"id": 1
}'MindsDB查询
curl -X POST http://localhost:3100/mindsdb/api/sql/query \
-H "Content-Type: application/json" \
-d '{
"query": "SELECT * FROM my_model WHERE input='\''analyze this'\''"
}'管理命令
# Start the hub
start.bat # Windows
./start.sh # Linux/Mac
# Stop the hub
stop.bat # Windows
./stop.sh # Linux/Mac
# Check status
status.bat # Windows
docker-compose ps # Linux/Mac
# View logs
docker-compose logs -f
# View specific service logs
docker-compose logs -f mcp-gateway
docker-compose logs -f mindsdb-core
# Restart services
docker-compose restart
# Rebuild after code changes
docker-compose up -d --build服务端点
| 服务 | 端口 | URL |
|---|---|---|
| MCP网关 | 3100 | http://localhost:3100 |
| MindsDB HTTP | 47334 | http://localhost:47334 |
| MindsDB MySQL | 47335 | 本地主机:47335 |
| PostgreSQL | 5432 | 本地主机:5432 |
| MongoDB | 27017 | 本地主机:27017 |
| Redis | 6379 | 本地主机:6379 |
| 普罗米修斯 | 9090 | http://localhost:9090 |
扩展中心
添加新处理程序
- 创建新的处理程序文件:
cd gateway/handlers
# Copy the template
cp base.js mynewservice.js- 实现您的处理程序(请参见
handlers/README.md模板)
- 注册
gateway/server.js:
const MyNewServiceHandler = require('./handlers/mynewservice');
// ...
handlers.set('mynewservice', new MyNewServiceHandler());- 将所需的环境变量添加到
.env.template
- 重建:
docker-compose up -d --build故障排除
网关无法启动
# Check if port 3100 is already in use
netstat -ano | findstr :3100 # Windows
lsof -i :3100 # Linux/Mac
# Check Docker logs
docker-compose logs mcp-gateway处理器不工作
# Verify environment variables
docker-compose exec mcp-gateway env | grep API_KEY
# Check handler initialization
docker-compose logs mcp-gateway | grep "initialized"MindsDB连接问题
# Test MindsDB directly
curl http://localhost:47334/api/status
# Check MindsDB logs
docker-compose logs mindsdb-core安全说明
- 永不承诺
.env文件 -它包含API密钥 - 使用强密码 用于数据库服务
- 限制端口访问 在生产环境中
- 使用HTTPS 当接触互联网时
- 旋转API键 定期
性能优化
- 为Docker分配至少4GB的RAM
- 使用Redis缓存频繁访问的数据
- 使用Prometheus进行监控
http://localhost:9090 - 根据需要扩展个人服务:
docker-compose up -d --scale mcp-gateway=3备份和恢复
# Backup data volumes
docker-compose down
docker run --rm -v mcp-postgres-data:/data -v $(pwd):/backup alpine tar czf /backup/postgres-backup.tar.gz /data
# Restore
docker run --rm -v mcp-postgres-data:/data -v $(pwd):/backup alpine tar xzf /backup/postgres-backup.tar.gz贡献
要添加新的服务集成,请执行以下操作:
- 在中创建处理程序
gateway/handlers/ - 将配置添加到
.env.template - 更新
docker-compose.yml如果需要新的容器 - 更新此自述文件
- 彻底测试
- 提交PR
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
- 文档:
- 问题:
- 讨论:
致谢
______________________________________________________________________
MCP统一集线器 -您的MCP集成一站式解决方案
