使用说明
MCP主机-专业MCP服务器网关
将任何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
- Web界面:
选项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.db
PostgreSQL(生产):
DATABASE_URL=postgresql://user:pass@host:5432/mcp_host
ChatGPT的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
- OAuth授权URL:
-
在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实例URLN8N_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 issues
2.ChatGPT连接失败
# Verify OAuth2 configuration
curl https://your-domain.com/.well-known/oauth-authorization-server
# Check CORS settings
CORS_ORIGINS=https://chat.openai.com
3.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 installed
4.拒绝许可
# 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
- 问题: GitHub问题
- 讨论: GitHub讨论
- 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主办团队
