使用说明
冷却MCP服务器
模型上下文协议(MCP)服务器,将Coolify API功能公开为人工智能代理的安全结构化工具。这使得人工智能驱动的应用市场成为可能,用户只需点击一下即可在Coolify上部署应用程序。
🚀 特性
- 项目管理:列出、创建和管理Coolify项目
- 应用程序生命周期:创建、更新、删除和管理应用程序
- 部署控制:部署应用程序并监控其状态
- 模板市场:流行应用程序的预配置模板
- 安全护栏:配额检查、名称冲突检测和资源限制
- 综合录井:所有人工智能操作的完整审计跟踪
📋 先决条件
- Node.js 18+
- 正在运行的Coolify实例
- 使用适当权限冷却API令牌
- Docker(用于运行MCP服务器)
🛠️ 安装
选项1:克隆和构建
git clone https://github.com/your-org/coolify-mcp-server.git
cd coolify-mcp-server
npm install
npm run build
选项2:Docker(推荐)
docker pull ghcr.io/your-org/coolify-mcp-server:latest
⚙️ 配置
创建 .env 文件基于 .env.example:
# Required
COOLIFY_API_URL=https://your-coolify-instance.com
COOLIFY_API_TOKEN=your-api-token-here
# Optional
COOLIFY_DEFAULT_TEAM_ID=
COOLIFY_MAX_APPS_PER_PROJECT=10
LOG_LEVEL=info
获取您的Coolify API代币
- 登录您的Coolify实例
- 前往设置→ API令牌
- 创建具有以下权限的新令牌:
- 项目:读/写
- 应用程序:读/写/删除
- 部署:读/写
🏃 运行服务器
发展
npm run dev
生产
npm run build
npm start
码头工人
docker run \
-e COOLIFY_API_URL=https://coolify.example.com \
-e COOLIFY_API_TOKEN=your-token \
-e COOLIFY_MAX_APPS_PER_PROJECT=20 \
ghcr.io/your-org/coolify-mcp-server:latest
🔧 MCP客户端配置
添加到MCP客户端配置中:
{
"mcpServers": {
"coolify": {
"command": "node",
"args": ["/path/to/coolify-mcp-server/dist/index.js"],
"env": {
"COOLIFY_API_URL": "https://your-coolify-instance.com",
"COOLIFY_API_TOKEN": "your-api-token",
"COOLIFY_MAX_APPS_PER_PROJECT": "10"
}
}
}
}
📚 可用工具
项目
coolify.list_projects-列出所有项目coolify.create_project-创建新项目
应用程序
coolify.list_apps-列出项目中的应用程序coolify.get_app-获取应用程序详细信息coolify.create_app-创建新应用程序coolify.update_app-更新应用程序coolify.delete_app-删除应用程序
部署
coolify.deploy_app-部署应用程序coolify.get_deployment_status-检查部署状态coolify.get_deployment_logs-获取部署日志
模板
coolify.deploy_template-从预配置的模板部署coolify.list_templates-列出可用模板
安全
coolify.check_quota-检查项目配额coolify.check_name_conflicts-检查应用程序名称是否可用
🎯 快速入门示例
部署合理分析
// First, check if the name is available
await checkNameConflicts({
projectId: "proj-123",
name: "plausible-analytics"
});
// Deploy the template
const result = await deployTemplate({
templateName: "plausible",
projectId: "proj-123",
appName: "plausible-analytics",
environment: {
BASE_URL: "https://analytics.example.com",
SECRET_KEY_BASE: "your-secret-key",
POSTGRES_URL: "postgresql://..."
}
});
部署自定义应用程序
// Create a new application
const app = await createApp({
projectId: "proj-123",
name: "my-react-app",
type: "dockerfile",
gitRepository: {
url: "https://github.com/user/react-app.git",
branch: "main"
},
environment: {
NODE_ENV: "production"
},
ports: [3000]
});
// Deploy it
const deployment = await deployApp({ id: app.id });
📦 可用模板
| 模板 | 描述 | 类型 | 服务 |
|---|---|---|---|
| 合理 | 隐私友好分析 | Docker镜像 | PostgreSQL |
| strapi | 无头CMS | Git | PostgreSQL、MySQL |
| saleor | 电商平台 | Docker镜像 | PostgreSQL、Redis |
| n8n | 工作流自动化 | Docker镜像 | PostgreSQL、Redis |
| uptime kuma | 监控工具 | Docker镜像 | - |
| gitlab | Git仓库管理器 | Docker镜像 | PostgreSQL、Redis |
| rocketchat | 通信平台 | Docker镜像 | MongoDB |
| 书库 | 文档平台 | Docker镜像 | MySQL、PostgreSQL |
看 示例/tool-calls.md 以获取详细示例。
🔒 安全
- API令牌存储在服务器端,从不暴露给AI代理
- 所有输入都使用严格的模式进行验证
- 项目级隔离防止跨项目访问
- 内置配额和费率限制
- 全面的审计日志记录
看 docs/SECURITY.md 出于详细的安全考虑。
📝 API 参考
MCP服务器通过模型上下文协议公开以下端点:
响应格式
所有回复均遵循以下结构:
{
"success": true,
"data": { ... }
}
或者对于错误:
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Human-readable error description"
}
}
错误代码
UNAUTHORIZED-API令牌无效FORBIDDEN-权限不足NOT_FOUND-资源不存在CONFLICT-资源冲突(例如,重复名称)VALIDATION_ERROR-输入数据无效RATE_LIMIT-请求太多QUOTA_EXCEEDED-超出项目配额NETWORK_ERROR-未能连接到CoolifyUNKNOWN_ERROR-意外错误
🤝 贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature/amazing-feature - 提交您的更改:
git commit -m 'Add amazing feature' - 推到分支:
git push origin feature/amazing-feature - 打开拉取请求
开发设置
# Install dependencies
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run format
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🆘 支持
🙏 致谢
内置于❤️ 由社区
