MCP主机-专业MCP服务器网关
 ](https://www.docker.com/) 
将任何MCP服务器连接到任何AI代理 -模型上下文协议的专业、生产就绪网关
MCP Host是一个全面的解决方案,允许您将任何MCP(模型上下文协议)服务器连接到任何AI代理,包括ChatGPT、Claude和自定义应用程序。只需单击一下即可部署Coolify,并立即开始将您的工具和数据源连接到AI代理。
🌟 主要特点
🔗 通用连接
- ChatGPT集成:基于OAuth2的自定义连接器支持
- 克劳德桌面版:本地MCP协议兼容性
- API访问:用于自定义集成的RESTful API
- WebSocket支持:实时通信
🚀 多运输支持
- 工作室:传统的基于流程的沟通
- 超文本传输协议:RESTful API集成
- 上海证券交易所:服务器发送实时更新事件
- 可流式传输的HTTP:现代MCP协议(2025规范)
🏗️ 专业基础设施
- Docker原生:容器优先部署
- 自动缩放:Kubernetes和Docker Swarm就绪
- 健康监测:全面的健康检查
- SSL/TLS:生产级安全
🎯 GitHub集成
- 自动发现:从GitHub自动检测和配置MCP服务器
- 热门服务器:精心策划的社区MCP服务器列表
- 一键安装:直接从存储库安装服务器
🔧 管理接口
- Web仪表板:基于React的管理界面
- 实时监控:实时服务器状态和指标
- 配置管理:轻松设置和配置服务器
- API密钥管理:安全访问控制
📋 目录
🚀 快速开始
选项1:部署到Coolify(推荐)
- 一键部署:
# Import this repository to Coolify
https://github.com/your-org/mcp-host- 配置环境变量:
- SECRET_KEY:生成随机字符串(必填) - OAUTH_CLIENT_ID:用于ChatGPT集成(可选) - OAUTH_CLIENT_SECRET:用于ChatGPT集成(可选) - GITHUB_TOKEN:用于GitHub集成(可选)
- 访问您的实例:
- Web界面: https://your-domain.com - API https://your-domain.com/api/v1 - 健康检查: https://your-domain.com/health
选项2:Docker编写
- 克隆存储库:
git clone https://github.com/your-org/mcp-host.git
cd mcp-host- 配置环境:
cp .env.example .env
# Edit .env with your settings- 部署:
docker-compose up -d- 访问服务:
- Web界面:http://localhost:3000 - APIhttp://localhost:8000 - 健康:http://localhost:8000/health
🎯 冷却部署
MCP Host针对Coolify部署进行了优化,具有自动SSL、监控和扩展功能。
部署步骤
- 添加到Coolify:
- 转到Coolify仪表板 - 点击“新建资源”→ “Docker作曲” - 从Git导入: https://github.com/your-org/mcp-host
- 环境配置:
# Required
SECRET_KEY=your-random-secret-key-here
# Optional - ChatGPT Integration
OAUTH_CLIENT_ID=your-oauth-client-id
OAUTH_CLIENT_SECRET=your-oauth-client-secret
OAUTH_REDIRECT_URI=https://your-domain.com/auth/callback
# Optional - GitHub Integration
GITHUB_TOKEN=your-github-token
# Production Settings
ENVIRONMENT=production
DEBUG=false
LOG_LEVEL=INFO
CORS_ORIGINS=https://your-domain.com- 域配置:
- 在Coolify中设置您的自定义域名 - SSL将自动配置 - 健康检查将监控所有服务
- 监控:
- 在Coolify仪表板中查看日志 - 监控资源使用情况 - 设置停机警报
生产建议
- 记忆:最低2GB RAM
- 存储:10GB用于日志和MCP服务器
- 中央处理器:建议使用2个核心
- 安全套接层:让我们加密(通过Coolify自动)
- 备份:启用数据持久性
🔧 配置
环境变量
| 变量 | 描述 | 默认值 | 必填 |
|---|---|---|---|
SECRET_KEY | JWT密钥 | - | ✅ |
OAUTH_CLIENT_ID | ChatGPT OAuth客户端ID | - | ❌ |
OAUTH_CLIENT_SECRET | ChatGPT OAuth密钥 | - | ❌ |
GITHUB_TOKEN | GitHub API令牌 | - | ❌ |
DATABASE_URL | 数据库连接 | sqlite:///./data/mcp_host.db | ❌ |
CORS_ORIGINS | 允许的来源 | \* | ❌ |
MAX_CONCURRENT_SERVERS | 服务器限制 | 10 | ❌ |
LOG_LEVEL | 日志记录级别 | 信息 | ❌ |
数据库配置
SQLite(默认):
DATABASE_URL=sqlite:///./data/mcp_host.dbPostgreSQL(生产):
DATABASE_URL=postgresql://user:pass@host:5432/mcp_hostChatGPT的OAuth2设置
- 注册应用 (OpenAI可用时)
- 配置重定向URI:
https://your-domain.com/auth/callback - 设置环境变量:
OAUTH_CLIENT_ID=your-client-id
OAUTH_CLIENT_SECRET=your-client-secret💬 ChatGPT集成
设置自定义连接器
- 部署MCP主机 使用OAuth2配置
- 获取连接详细信息:
- OAuth授权URL: https://your-domain.com/auth/authorize - 令牌URL: https://your-domain.com/auth/token - MCP服务器URL: https://your-domain.com/mcp
- 在ChatGPT中配置:
{
"name": "My MCP Host",
"description": "Connect to my MCP servers",
"mcp_server_url": "https://your-domain.com/mcp",
"authentication": "oauth",
"client_id": "your-client-id",
"authorization_url": "https://your-domain.com/auth/authorize",
"token_url": "https://your-domain.com/auth/token"
}测试ChatGPT连接
- 添加测试服务器:
curl -X POST https://your-domain.com/api/v1/servers \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "test-server",
"command": "echo",
"args": ["Hello from MCP Host!"],
"transport_type": "stdio"
}'- 在ChatGPT中测试:
- 连接您的自定义连接器 - 试着问:“有什么工具可用?” - 测试工具执行
🤖 克劳德集成
Claude桌面配置
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"mcp-host": {
"command": "curl",
"args": [
"-X", "POST",
"https://your-domain.com/mcp",
"-H", "Authorization: Bearer your-api-key",
"-H", "Content-Type: application/json"
]
}
}
}API集成
import httpx
# Connect to MCP Host
client = httpx.Client(
base_url="https://your-domain.com",
headers={"Authorization": "Bearer your-api-key"}
)
# List available tools
tools = client.post("/mcp", json={
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}).json()
print(tools)📦 添加MCP服务器
来自GitHub仓库
- web界面:
- 转到“服务器”→ “添加服务器” - 选择“来自GitHub” - 输入存储库URL: https://github.com/user/repo - 配置和部署
- API:
curl -X POST https://your-domain.com/api/v1/servers/from-github \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"github_url": "https://github.com/czlonkowski/n8n-mcp",
"name": "n8n-automation"
}'手动配置
curl -X POST https://your-domain.com/api/v1/servers \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "my-custom-server",
"description": "Custom MCP server",
"command": "python",
"args": ["server.py"],
"env": {
"API_KEY": "secret"
},
"transport_type": "stdio",
"auto_restart": true
}'n8n集成
- 快速设置:
curl -X POST https://your-domain.com/api/v1/servers \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "n8n-mcp",
"command": "npx",
"args": ["@n8n-mcp/server"],
"env": {
"N8N_API_URL": "http://your-n8n-instance:5678",
"N8N_API_KEY": "your-n8n-api-key"
},
"transport_type": "stdio"
}'- 环境变量:
- N8N_API_URL:您的n8n实例URL - N8N_API_KEY:n8n用于身份验证的API密钥
📚 API文档
认证
# API Key Authentication
curl -H "Authorization: Bearer your-api-key" \
https://your-domain.com/api/v1/servers核心终点
| 方法 | 端点 | 描述 |
|---|---|---|
GET | /health | 系统健康检查 |
GET | /api/v1/servers | 列出所有服务器 |
POST | /api/v1/servers | 创建服务器 |
GET | /api/v1/servers/{id} | 获取服务器详细信息 |
PUT | /api/v1/servers/{id} | 更新服务器 |
DELETE | /api/v1/servers/{id} | 删除服务器 |
POST | /api/v1/servers/{id}/start | 启动服务器 |
POST | /api/v1/servers/{id}/stop | 停止服务器 |
MCP协议端点
| 方法 | 端点 | 描述 |
|---|---|---|
POST | /mcp | MCP JSON-RPC请求 |
GET | /sse | 服务器发送的事件 |
GET | /auth/authorize | OAuth2授权 |
POST | /auth/token | OAuth2代币交换 |
WebSocket事件
连接到 wss://your-domain.com/ws 实时更新:
const ws = new WebSocket('wss://your-domain.com/ws?token=your-api-key');
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Server event:', data);
};🔍 故障排除
常见问题
1.服务器无法启动
# Check logs
docker-compose logs backend
# Common causes:
# - Missing SECRET_KEY
# - Port conflicts
# - Database connection issues2.ChatGPT连接失败
# Verify OAuth2 configuration
curl https://your-domain.com/.well-known/oauth-authorization-server
# Check CORS settings
CORS_ORIGINS=https://chat.openai.com3.MCP服务器错误
# Check server logs
curl https://your-domain.com/api/v1/servers/1/health
# Common fixes:
# - Verify command path
# - Check environment variables
# - Ensure dependencies are installed4.拒绝许可
# Check API key permissions
curl -H "Authorization: Bearer your-key" \
https://your-domain.com/api/v1/keys
# Verify user has required permissions调试模式
启用调试日志记录:
DEBUG=true
LOG_LEVEL=DEBUG健康检查
# System health
curl https://your-domain.com/health
# Server health
curl https://your-domain.com/api/v1/servers/1/health
# OAuth2 metadata
curl https://your-domain.com/.well-known/oauth-authorization-server支持
- 文档: docs.mcphost.com
- 问题:
- 讨论:
- Discord 的中文翻译是“不和谐”或“纷争”。: 社区不和
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南 了解详情。
开发设置
- 克隆存储库:
git clone https://github.com/your-org/mcp-host.git
cd mcp-host- 后端开发:
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python -m uvicorn src.server:app --reload- 前端开发:
cd frontend
npm install
npm run dev- 测试:
# Backend tests
cd backend
pytest
# Frontend tests
cd frontend
npm test发布过程
- 更新版本
package.json和pyproject.toml - 创建发行说明
- 标签发布:
git tag v1.0.0 - 推送标签:
git push --tags - GitHub Actions将构建并发布
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
______________________________________________________________________
由...制作❤️ 由MCP主办团队
