使用说明
冷却MCP服务器
用于Coolify API集成的生产就绪模型上下文协议服务器
专业的模块化MCP服务器,可与Coolify的自托管部署平台全面集成。使用TypeScript构建,具有181个工具,包括用于同时管理多个资源的高级批处理操作。
✨ 特性
🚀 181综合工具 (100%用户界面覆盖!)
- 健康与版本 (3个工具)⭐ 增强 -监控系统状态+整体健康状况
- 服务器 (15个工具)⭐⭐ 高级 -完成CRUD+指标+命令+清理
- 项目 (6个工具)⭐ 增强 -完成CRUD+资源管理
- 团队 (9个工具)⭐⭐ 高级 -完整的团队和用户管理
- 环境 (6个工具)⭐⭐ 高级 -完成CRUD+变量+克隆
- 部署 (8工具)⭐⭐ 高级 -完全控制+回滚+设置
- 私钥 (2个工具)-SSH密钥管理
- 应用程序 (17工具)⭐⭐ 高级 -完成CRUD+部署+环境变量+域
- 服务 (14个工具)⭐⭐ 高级 -完成CRUD+生命周期+环境变量+日志+域
- 数据库 (11个工具)⭐ 增强 -完成CRUD+生命周期+日志
- 📢 通知 (7工具)⭐⭐ 高级 -频道+偏好+提醒
- 🔗 网络钩子 (4个工具)⭐⭐⭐ 新 -事件驱动集成
- 🔐 安全 (5个工具)⭐⭐⭐ 新 -API令牌+安全设置
- 🔒 SSL/TLS (4个工具)⭐⭐⭐⭐ 新 -证书管理+Let’s Encrypt
- 💾 卷 (4个工具)⭐⭐⭐ 新 -存储和持久数据
- 🔍 资源 (3个工具)⭐⭐ 新 -搜索+标记+组织
- 🌿 Git (4个工具)⭐⭐ 新 -增强Git集成
- 🎯 批量操作 (8工具)⭐⭐⭐⭐ 增强 -部署、备份、SSL+多资源⚡
- 📊 监控 (2个工具)⭐⭐⭐⭐⭐ 新 -基础设施健康状况+部署统计数据
- 🌐 网络 (6个工具)⭐⭐⭐⭐⭐ 新 -Docker网络、隔离、自定义配置
- 🔌 代理和域 (7工具)⭐⭐⭐⭐ 新 -代理配置、域验证、通配符
- ⚙️ 资源限制 (4个工具)⭐⭐⭐⭐⭐ 新 -CPU/内存限制、配额、使用历史
- 🔑 部署密钥 (3个工具)⭐⭐⭐ 新 -专用存储库的SSH密钥
- 👁️ 预览部署 (3个工具)⭐⭐⭐⭐ 新 -PR预览、测试环境
- 🏗️ 生成配置 (4个工具)⭐⭐⭐ 新 -构建参数、机密、缓存管理
- 👥 用户管理 (6个工具)⭐⭐⭐⭐ 新 -用户、权限、审核日志
- 🚨 警报和指标 (6个工具)⭐⭐⭐⭐⭐ 新 -自定义警报、指标、事件、正常运行时间
- 📦 容器注册表 (5个工具)⭐⭐⭐ 新 -私有注册表、身份验证管理
- 💾 存储和备份 (5个工具)⭐⭐⭐⭐⭐ 新 -S3配置、自动备份、验证
🎯 高级批处理操作 (增强!)
同时管理多个资源,性能提高10倍:
batch_deploy_applications- 并行部署多个应用程序 ⚡ 新batch_backup_databases- 一次备份多个数据库 ⚡ 新batch_create_ssl_certificates- 为多个域生成SSL ⚡ 新batch_restart_applications-并行重新启动多个应用程序batch_stop_applications-同时停止多个应用程序batch_start_services-同时启动多个服务batch_stop_services-同时停止多个服务batch_update_env_vars-跨应用程序更新环境变量
📊 基础设施监控 新
获得全面的健康和绩效见解:
get_infrastructure_health- 完整的基础设施健康仪表板 💊- 总体状态(健康/退化/危急)
- 服务器、应用程序、数据库和服务状态
- 资源使用监控(CPU、内存、磁盘)
- 问题检测和建议
get_deployment_statistics- 部署分析和趋势 📈- 成功率和失败跟踪
- 性能指标(平均、最快、最慢)
- 部署频率分析
- 按部署数量排列的顶级应用程序
- 历史分析(最多90天)
💎 专业素质
- ✅ 类型安全 -带有Zod验证的完整TypeScript
- ✅ 模块化架构 -干净、可维护的代码库
- ✅ 综合录井 -结构化Winston日志记录
- ✅ 错误处理 -优雅的降级,带有详细的信息
- ✅ 生产准备就绪 -久经考验的模式和SOLID原则
- ✅ 有据可查 -3000多行文档
🔒 安全 (v1.0.1)✅
安全等级:A- (生产就绪)
v1.0.1中修复的所有关键漏洞:
- ✅ SQL注入防护 -Zod验证+消毒深度防御
- ✅ 命令注入保护 -Shell元字符屏蔽+命令白名单
- ✅ 输入消毒 -对所有用户输入进行全面验证
- ✅ 凭证安全 -代码中没有秘密,环境变量最佳实践
- ✅ 安全性测试 -15项专门的安全测试(100%通过)
安全功能:
- 使用正则表达式模式进行严格的UUID验证
- 数据库查询的SQL字符串转义
- 使用危险命令黑名单进行命令验证
- 路径遍历预防
- 错误消息清理
- 多层安全(模式+净化+验证)
📖 看 证券审计报告.md 进行全面审计 📖 看 证券-外汇-SUMMARY.md 有关修复的详细信息
⚡ 演出
- 快10倍 批量操作与顺序操作
- 并行执行以实现最高效率
- 高效利用API
- 低内存占用
🤖 对于AI代理
重要提示: 如果您是使用此MCP服务器的AI代理,请阅读:
- AI代理故障排除指南 -基本调试技术
- 已知限制: 无法通过MCP工具访问部署日志(记录了解决方法)
- 需要数据库访问权限: 对于详细的部署调试,需要直接访问数据库
快速调试参考
// When deployment fails with "exited:unhealthy"
// 1. Get application status
const app = await coolify_get_application('app-uuid');
// 2. Start new deployment
const result = await coolify_start_application('app-uuid', { force_rebuild: true });
const deploymentUuid = result.deployment_uuid;
// 3. Wait for build (60-120 seconds)
await sleep(90000);
// 4. Get logs via database (ONLY way to see detailed errors)
docker exec coolify-db psql -U coolify -d coolify -t -c \
"SELECT logs FROM application_deployment_queues WHERE deployment_uuid = '${deploymentUuid}';"
请参阅完整指南了解常见模式:Git SHA问题、Dockerfile路径错误、NODE_ENV问题、健康检查失败等。
📋 先决条件
- Node.js 18+ 安装
- 冷却实例 跑步(4.0.0-380+)
- Coolify API代币 具有适当的权限
🚀 快速开始
安装
# Install globally
npm install -g coolify-mcp-server
# Or use with npx (no installation required)
npx coolify-mcp-server
配置
服务器需要两个环境变量:
export COOLIFY_BASE_URL="https://your-coolify-instance.com"
export COOLIFY_TOKEN="your-api-token-here"
获取API令牌
- 登录您的Coolify实例
- 导航至 密钥和令牌 → API令牌
- 创建具有权限的新令牌:
- ✅ 读 -获取信息
- ✅ 写 -管理资源
- ✅ 部署 -部署操作
MCP客户端设置
添加到MCP设置配置中:
{
"mcpServers": {
"coolify": {
"command": "npx",
"args": ["-y", "coolify-mcp-server"],
"env": {
"COOLIFY_BASE_URL": "https://your-coolify-instance.com",
"COOLIFY_TOKEN": "your-api-token"
}
}
}
}
窗户(Cline):
{
"mcpServers": {
"coolify": {
"command": "cmd",
"args": ["/c", "npx", "-y", "coolify-mcp-server"],
"env": {
"COOLIFY_BASE_URL": "https://your-coolify-instance.com",
"COOLIFY_TOKEN": "your-api-token"
}
}
}
}
🛠️ 可用工具
🎯 批量操作(新增!)
batch_restart_applications
同时重新启动多个应用程序。 快10倍 比单独重启。
{
"application_uuids": ["uuid-1", "uuid-2", "uuid-3"],
"parallel": true,
"wait_for_completion": false
}
使用案例: 滚动部署、更新多个微服务、环境刷新
batch_stop_applications
同时停止多个应用程序。
{
"application_uuids": ["uuid-1", "uuid-2"],
"force": false
}
使用案例: 维护模式、降低成本、测试
batch_start_services
同时启动多个服务。
{
"service_uuids": ["uuid-1", "uuid-2", "uuid-3"]
}
使用案例: 环境启动、灾难恢复
batch_stop_services
同时停止多个服务。
{
"service_uuids": ["uuid-1", "uuid-2"],
"force": false
}
使用案例: 维护、成本优化
batch_update_env_vars
通过可选的重新启动跨多个应用程序更新环境变量。
{
"application_uuids": ["uuid-1", "uuid-2"],
"env_vars": {
"API_KEY": "new-key",
"DATABASE_URL": "new-url"
},
"restart_after_update": true
}
使用案例: API密钥轮换、配置更新、机密管理
🏥 健康与版本
get_version-获取Coolify版本信息health_check-检查Coolify API运行状况
👥 团队
list_teams-列出所有团队get_team-获取团队详细信息get_current_team-获取当前团队get_current_team_members-获取当前团队成员get_team_members- ⭐ 第2阶段 -获取任何团队的成员update_team- ⭐ 第2阶段 -更新团队配置
🖥️ 服务器
list_servers-列出所有服务器get_server-获取详细的服务器信息get_server_resources-获取服务器资源使用情况(CPU、内存、磁盘)create_server-创建新服务器update_server-更新服务器配置delete_server-删除服务器validate_server-验证服务器配置get_server_domains-获取服务器域get_server_logs- ⭐ 第2阶段 -获取服务器日志(系统/docker)get_server_metrics- ⭐⭐ 第2阶段 -详细的性能指标clean_server_storage- ⭐⭐ 第2阶段 -清理未使用的Docker资源restart_server_proxy- ⭐⭐ 第2阶段 -重新启动Traefik/Nginx代理execute_server_command- ⭐⭐ 第2阶段 -在服务器上运行命令get_server_networks- ⭐⭐ 第2阶段 -列出Docker网络update_server_settings- ⭐⭐ 第2阶段 -高级服务器设置
📁 项目
list_projects-列出所有项目get_project-获取项目详细信息create_project-创建新项目update_project- ⭐ 第2阶段 -更新项目配置delete_project- ⭐ 第2阶段 -删除项目get_project_resources- ⭐ 第2阶段 -查看所有项目资源
🌍 环境
list_environments-列出项目中的环境create_environment-在项目中创建新环境update_environment- ⭐ 第2阶段 -更新环境配置delete_environment- ⭐ 第2阶段 -删除环境get_environment_variables- ⭐ 第2阶段 -获取所有环境变量
🔧 服务
list_services-列出所有服务get_service- ⭐ 新 -获取详细的服务信息create_service-创建新服务update_service- ⭐ 新 -更新服务配置delete_service- ⭐ 新 -删除服务start_service-启动服务stop_service-停止服务restart_service-重新启动服务get_service_logs- ⭐ 新 -获取调试服务日志get_service_environment_variables-获取服务环境变量set_service_environment_variable-设置单个服务环境变量update_service_environment_variables-批量更新服务环境变量
📱 应用程序
list_applications-列出所有应用程序get_application-获取详细的应用程序信息create_application-创建新应用程序update_application- ⭐ 新 -更新应用程序配置delete_application- ⭐ 新 -删除应用程序(带保护措施)start_application- ⭐ 新 -启动已停止的应用程序stop_application-停止应用程序restart_application-重新启动应用程序get_application_logs-获取用于调试的应用程序日志deploy_application-部署/重新部署应用程序get_application_environment_variables-获取所有环境变量set_application_environment_variable- ⭐ 新 -设置单个环境变量update_application_environment_variables- ⭐ 新 -批量更新环境变量(自动重启)delete_application_environment_variable- ⭐ 新 -删除环境变量
🚀 部署
list_deployments-列出所有部署get_deployment-获取部署详细信息和状态cancel_deployment- ⭐ 新 -取消正在运行的部署
🔑 私钥
list_private_keys-列出所有私钥create_private_key-创建新的私钥
🗄️ 数据库⭐ 全面管理
list_databases-列出所有数据库(PostgreSQL、MySQL、MongoDB、Redis等)get_database- ⭐ 新 -获取详细的数据库信息create_database- ⭐ 新 -创建新数据库(支持8种类型)update_database- ⭐ 新 -更新数据库配置delete_database- ⭐ 新 -删除数据库(带卷清理)start_database- ⭐ 新 -启动已停止的数据库stop_database- ⭐ 新 -停止运行数据库restart_database- ⭐ 新 -重新启动数据库backup_database-创建数据库备份到S3或本地存储restore_database- ⭐ 新 -从备份还原数据库
💡 使用示例
示例1:批量重启应用程序
// Restart all staging applications after deployment
const result = await client.callTool('batch_restart_applications', {
application_uuids: [
'staging-api-uuid',
'staging-web-uuid',
'staging-worker-uuid'
],
parallel: true
});
// Result in ~3 seconds instead of 30 seconds!
// {
// "total": 3,
// "successful": 3,
// "failed": 0,
// "results": [...]
// }
示例2:在所有应用程序中旋转API键
// Update API key across all applications with automatic restart
const result = await client.callTool('batch_update_env_vars', {
application_uuids: [
'app-1-uuid',
'app-2-uuid',
'app-3-uuid'
],
env_vars: {
'API_KEY': 'new-secure-key-value',
'API_VERSION': 'v2'
},
restart_after_update: true
});
// All apps updated and restarted in ~5 seconds!
示例3:环境启动
// Start entire development environment
await client.callTool('batch_start_services', {
service_uuids: [
'postgres-uuid',
'redis-uuid',
'mongodb-uuid',
'rabbitmq-uuid'
]
});
// All services started simultaneously!
示例4:服务器管理
// List all servers
const servers = await client.callTool('list_servers', {});
// Get server resource usage
const resources = await client.callTool('get_server_resources', {
server_uuid: 'server-uuid'
});
// Create new server
const newServer = await client.callTool('create_server', {
name: 'Production Server',
ip: '192.168.1.100',
port: 22,
user: 'root',
private_key_uuid: 'key-uuid'
});
🏗️ 建筑
模块化设计
src/
├── index.ts # Main server (224 lines)
├── tools/
│ ├── base.ts # BaseTool abstract class
│ ├── registry.ts # ToolRegistry (35 tools)
│ ├── applications/ # 5 application tools
│ ├── batch/ # 5 batch operation tools ⭐
│ ├── deployments/ # 2 deployment tools
│ ├── environments/ # 2 environment tools
│ ├── health/ # 2 health/version tools
│ ├── keys/ # 2 private key tools
│ ├── projects/ # 3 project tools
│ ├── servers/ # 5 server tools
│ ├── services/ # 5 service tools
│ └── teams/ # 4 team tools
├── schemas/ # Zod validation schemas
└── utils/ # Utilities (logging, errors)
设计模式
- ✅ 抽象基类 -用于代码重用的BaseTool
- ✅ 注册模式 -动态刀具加载
- ✅ 工厂模式 -工具实例化
- ✅ 依赖注入 -可测试架构
- ✅ 坚实的原则 -专业代码质量
📊 性能指标
| 操作 | 单个 | 批量 | 加速 |
|---|---|---|---|
| 重新启动10个应用程序 | ~30秒 | ~3秒 | 快10倍 |
| 停止5个应用程序 | ~15秒 | ~2秒 | 速度提高7.5倍 |
| 启动8项服务 | ~24秒 | ~3秒 | 快8倍 |
| 更新环境变量(5个应用程序) | ~25秒 | ~3秒 | 快8倍 |
🔧 发展
从源代码构建
# Clone repository
git clone https://github.com/wrediam/coolify-mcp-server.git
cd coolify-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run
npm start
项目脚本
npm run build # Compile TypeScript
npm run start # Run compiled server
npm run dev # Watch mode for development
npm run lint # Lint code
npm run format # Format code with Prettier
添加新工具
- 在适当的类别中创建工具文件:
// src/tools/category/new-tool.ts
export class NewTool extends BaseTool {
get name(): string { return 'new_tool'; }
get description(): string { return 'Description'; }
get inputSchema(): z.ZodSchema { return NewToolSchema; }
async execute(args: any): Promise<string> {
const data = await this.apiGet('/endpoint');
return this.formatResponse(data);
}
}
- 在ToolRegistry中注册:
// src/tools/registry.ts
import { NewTool } from './category/new-tool.js';
// Add to toolClasses array
- 构建和测试:
npm run build
📚 文档
完整的文档(3000+行)
- 项目已完成.md -完成项目总结
- 第四阶段——电池操作——完成 -批量操作指南(700+行)
- 集成完成.md -集成细节(798行)
- 第3阶段-完成-夏季.md -建筑详图(432行)
- 附加工具参考文档
🐛 故障排除
常见问题
问题: 服务器未连接到Coolify
- ✅ 检查
COOLIFY_BASE_URL正确(包括https://) - ✅ 验证
COOLIFY_TOKEN具有正确的权限 - ✅ 确保Coolify实例可访问
问题: 工具执行失败
- ✅ 检查Coolify版本兼容性(4.0.0-beta.380+)
- ✅ 验证API令牌是否具有所需的权限
- ✅ 检查日志以获取详细的错误消息
问题: 批处理操作超时
- ✅ 减少每批资源的数量
- ✅ 检查网络连接
- ✅ 验证Coolify实例资源
获取帮助
- 📖 检查文档
/docs文件夹 - 🐛 在GitHub上报告问题
- 💬 在讨论中提问
🤝 贡献
欢迎投稿!拜托:
- 复刻仓库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📝 许可证
MIT许可证-请参阅 许可证 详细信息文件
🙏 致谢
- 内置于 模型上下文协议SDK
- 与集成 冷却 -开源Heroku/Netlify替代品
- 与开发 克劳德代码
📈 版本历史记录
v0.2.0(2025-11-13)- 当前
- ✨ 增加了5个用于多资源管理的批处理操作工具
- 🚀 批量操作性能提高10倍
- ♻️ 完成架构重构(代码减少86%)
- 📝 综合文档(3000+行)
- ✅ 生产准备就绪,共有37个工具
v0.1.0(初始版本)
- 🎉 初始版本包含32个核心工具
- ✅ Coolify API全面覆盖
- 📚 基本文件
⭐ 表示支持
如果你觉得这个项目有用,请考虑:
- ⭐ 在GitHub上标记存储库
- 🐛 报告问题或建议功能
- 🤝 贡献代码或文档
- 📢 与可能受益的人分享
准备生产 | 35工具 | 类型安全 | 批量操作速度提高10倍
🤖 内置于 克劳德代码