logl MCP网关
多租户MCP网关,为logl.ai平台提供动态MCP编排。
🌟 特性
- 多租户支持:使用基于角色的访问控制完成工作区隔离
- 动态MCP注册表:在运行时添加、删除和管理MCP
- 内置MCP:ClickUp、谷歌日历、Slack、Zoho Mail、黑曜石、n8n
- 外部MCP支持:连接到任何MCP服务器(HTTP、Stdio、WebSocket)
- 权限系统:精细的用户和工作区级权限
- 跨平台:适用于任何设备/操作系统的HTTP+SSE传输
- 管理员仪表板:面向管理员的全面管理API
- 健康监测:自动健康检查和重新连接
- 速率限制:每个用户和每个工作区的费率限制
- 审计日志:完成活动跟踪
🏗️ 建筑
logl-mcp-gateway/
├── Gateway Core (HTTP + SSE)
├── MCP Registry & Discovery
├── Connection Manager (HTTP, Stdio, WebSocket)
├── Built-in MCPs
│ ├── ClickUp (5 tools)
│ ├── Google Calendar (4 tools)
│ ├── Slack (4 tools)
│ ├── Zoho Mail (4 tools)
│ ├── Obsidian (5 tools)
│ ├── n8n (5 tools)
│ └── Integration (3 tools)
├── External MCP Connector
├── Permission & RBAC System
└── Admin Management API📋 先决条件
- Node.js>=18
- PostgreSQL>=14
- Redis>=6
- Oracle云帐户(用于部署)
🚀 安装
本地开发
# Install dependencies
npm install
# Setup environment
cp .env.example .env
# Edit .env with your configuration
# Generate Prisma client
npm run db:generate
# Run database migrations
npm run db:push
# Start development server
npm run devOracle云部署
# SSH into your Oracle Cloud VM
ssh ubuntu@your-vm-ip
# Download and run setup script
wget https://raw.githubusercontent.com/your-repo/logl-mcp-gateway/main/deployment/setup.sh
chmod +x setup.sh
./setup.sh
# Edit environment variables
cd /opt/logl-mcp-gateway
nano .env
# Restart application
pm2 restart logl-mcp-gateway🔧 配置
环境变量
看 .env.example 对于所有可用的配置选项。
关键变量:
DATABASE_URL:PostgreSQL连接字符串REDIS_URL:Redis连接字符串JWT_SECRET:JWT令牌签名的秘密GATEWAY_API_KEY:用于管理员访问的主API密钥- 服务凭据(ClickUp、谷歌、Slack等)
数据库模式
数据库架构包括:
- 用户和身份验证
- 工作区和会员资格
- MCP注册表
- 工具注册表
- 权限
- 审计日志
- 使用情况统计
📡 API终点
MCP协议
POST /mcp/v1/initialize
POST /mcp/v1/tools/list
POST /mcp/v1/tools/call管理员API
POST /admin/mcps # Register new MCP
GET /admin/mcps # List all MCPs
GET /admin/mcps/:id # Get MCP details
PUT /admin/mcps/:id # Update MCP
DELETE /admin/mcps/:id # Remove MCP
POST /admin/mcps/:id/enable # Enable MCP
POST /admin/mcps/:id/disable # Disable MCP
POST /admin/permissions/grant # Grant user access
POST /admin/permissions/revoke # Revoke user access
GET /admin/health # System health check🛠️ 内置工具
点击上(5个工具)
clickup_list_tasks-列出带有筛选功能的任务clickup_get_task-获取任务详细信息clickup_create_task-创建新任务clickup_update_task-更新任务clickup_add_comment-向任务添加评论
更多内置MCP即将推出。..
🔐 安全
- 基于JWT的身份验证
- API密钥加密处于静止状态
- 基于角色的访问控制(RBAC)
- 速率限制
- 审核日志记录
- 安全的凭证存储
📊 监控
# View logs
pm2 logs logl-mcp-gateway
# Check status
pm2 status
# Monitor resources
pm2 monit
# System health
curl http://localhost:8080/health🔄 添加外部MCP
通过API(推荐)
curl -X POST http://localhost:8080/admin/mcps \
-H "x-api-key: your_gateway_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "kipris-enhanced",
"displayName": "KIPRIS Enhanced",
"description": "Korean patent search",
"type": "HTTP",
"connectionConfig": {
"type": "HTTP",
"url": "http://localhost:8001",
"headers": {
"Authorization": "Bearer token"
}
},
"tags": ["patent", "search"],
"category": "legal"
}'授予用户访问权限
curl -X POST http://localhost:8080/admin/permissions/grant \
-H "x-api-key: your_gateway_api_key" \
-H "Content-Type: application/json" \
-d '{
"userId": "user-uuid",
"mcpServerId": "mcp-uuid",
"workspaceId": "workspace-uuid",
"permissions": ["read", "execute"],
"allowedTools": ["kipris_search", "kipris_get_patent"]
}'🧪 测试
# Run tests
npm test
# Run with coverage
npm run test:coverage📚 文档
🤝 支持
对于问题和疑问:
- GitHub问题:https://github.com/your-repo/logl-mcp-gateway/issues
- 电子邮件:support@logl.ai
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
🎯 路线图
- \[\]Web仪表板(Next.js)
- \[\]更多内置MCP
- \[\]WebSocket传输
- \[\]指标和分析
- \[\]Docker支持
- \[\]Kubernetes部署
______________________________________________________________________
内置于❤️ logl.ai平台
