使用说明
冷却MCP服务器
一种集成了以下功能的模型上下文协议(MCP)服务器 冷却 让人工智能助手通过一个干净的工具包来管理你的Coolify实例,该工具包包装了官方的REST API。
目录
特性
核心能力
- 覆盖关键的Coolify API端点 (应用程序、服务、部署、团队、私钥、域、运行状况/版本)
- 团队管理 –列出团队,获取团队详细信息,查看成员
- 服务器和域洞察 –查询每台服务器配置的域
- 应用程序生命周期 –启动/停止/重新启动和创建应用程序
- 服务管理 –列出/创建/启动/停止/重新启动服务
- 部署 –列出正在运行的部署;按UUID获取部署
- 私钥 列出并创建用于服务器身份验证的SSH私钥
- 环境变量 –应用程序/服务环境变量的CRUD
注:某些聚合操作(例如“按服务器分配资源”)是通过客户端过滤支持的端点而不是通过专用的API路径来实现的。
先决条件
- Node.js v18或更新版本
- npm 或 纱线
- 跑步 冷却 实例(自托管或云)
- A. Coolify API代币 具有适当的权限
安装
1) 克隆并安装
git clone https://github.com/forsonny/Coolify-MCP-Server-for-Claude-Code.git
cd Coolify-MCP-Server-for-Claude-Code
npm install
2) 构建
npm run build
(将TypeScript编译为 dist/)
配置
环境设置
创建一个 .env 项目根目录下的文件:
# Required
COOLIFY_BASE_URL=https://your-coolify-instance.com
COOLIFY_API_TOKEN=your-api-token-here
# Optional
COOLIFY_TIMEOUT=30000
备注
- 使用 完整基本URL (没有尾随斜线)。例子:
https://coolify.example.com - 做 不 在中使用内联注释
.env价值观。 - 永不承诺
.env版本控制。
Claude代码设置
您可以将服务器连接到 克劳德代码 使用自动设置脚本或手动。
选项A——自动设置(推荐)
最简单的方法是使用安装脚本:
# Run the setup script
npm run setup
这将:
- 验证您的
.env文件配置 - 如果需要,构建TypeScript项目
- 生成正确的
claude mcp add-json带有环境变量的命令 - 提供故障排除提示
选项B——手动设置
如果您更喜欢手动设置,有两种方法:
方法1:使用显式环境变量(最可靠)
claude mcp add-json coolify '{
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/Coolify-MCP-Server-for-Claude-Code/dist/index.js"],
"env": {
"COOLIFY_BASE_URL": "https://your-coolify-instance.com",
"COOLIFY_API_TOKEN": "your-api-token-here",
"COOLIFY_TIMEOUT": "30000"
}
}' -s local
方法2:简单命令(依赖.env文件)
claude mcp add coolify "node /absolute/path/to/Coolify-MCP-Server-for-Claude-Code/dist/index.js" -s local
验证连接
claude mcp list
选项C——从Claude Desktop导入 如果您已经在Claude Desktop中配置了服务器:
claude mcp add-from-claude-desktop
claude mcp list
重要提示: 方法1(显式环境变量)更可靠,因为它确保环境变量对MCP服务器进程可用,而不管Claude Code从哪个工作目录启动服务器。
提示:一些设置将Claude Code MCP配置存储在
~/.claude.json。桌面应用程序使用claude_desktop_config.json在您的操作系统应用程序数据目录下。
光标设置
光标 支持MCP。最简单的路线是通过 设置→ 扩展→ MCP服务器→ 添加服务器,然后指向您构建的脚本(node …/dist/index.js)并添加三个环境变量。保存后重新启动Cursor。
有关高级/企业设置,请参阅Cursor关于程序化注册的MCP文档。
API代币生成
- 打开您的Coolify仪表板。
- 引导到 密钥和令牌→ API令牌.
- 创建一个新令牌(命名为“MCP服务器”),选择所需的权限,并可选择设置过期时间。
- 复制令牌 一次 当显示时,将其粘贴到您的
.env.
可用工具
系统
| 工具 | 它做什么 |
|---|---|
get_version |
获取Coolify版本 |
health_check |
健康检查探头 |
团队
| 工具 | 它做什么 |
|---|---|
list_teams |
列出所有团队 |
get_team |
按ID获取团队 |
get_current_team |
获取当前团队 |
get_current_team_members |
列出当前团队成员 |
服务器和域
| 工具 | 它做什么 |
|---|---|
get_server_domains |
获取服务器UUID的域 |
应用程序
| 工具 | 它做什么 |
|---|---|
list_applications |
列出应用程序 |
create_application |
创建应用程序 |
start_application |
启动应用程序 |
stop_application |
停止应用程序 |
restart_application |
重新启动应用程序 |
服务
| 工具 | 它做什么 |
|---|---|
list_services |
列出服务 |
create_service |
创建服务 |
start_service |
启动服务 |
stop_service |
停止服务 |
restart_service |
重新启动服务 |
部署和密钥
| 工具 | 它做什么 |
|---|---|
list_deployments |
列出正在运行的部署 |
get_deployment |
按UUID获取部署 |
list_private_keys |
列出SSH私钥 |
create_private_key |
创建新的SSH私钥 |
环境变量
应用程序和服务环境变量支持:列表、创建、更新(单次/批量)和删除。
使用示例
连接后,您可以尝试使用自然语言:
基础
"List my applications"
"Who's in the current team?"
"What version is my Coolify instance?"
服务器和应用程序
"Show domains for server 123e4567-e89b-12d3-a456-426614174000"
"Create a new app from https://github.com/user/repo"
"Restart the backend app"
服务与环境变量
"List running services"
"Create a PostgreSQL service on the main server"
"Add DATABASE_URL to the frontend app"
发展
开发模式(观看):
npm run dev
构建:
npm run build
设置:
npm run setup
清洁:
npm run clean
项目结构
Coolify-MCP-Server-for-Claude-Code/
├── src/
│ ├── index.ts # MCP server entrypoint
│ ├── coolify-client.ts # Coolify API client
│ └── types.ts # Type definitions
├── dist/ # Compiled JS (generated)
├── .env # Environment variables (create this)
├── setup-mcp.js # Setup script for easy configuration
├── package.json
├── tsconfig.json
└── README.md # This file
api参考
此服务器使用的选定端点映射
| MCP工具 | 方法 | 路径 |
|---|---|---|
get_version |
得到 | /version |
health_check |
得到 | /health |
list_teams |
得到 | /teams |
get_team |
得到 | /teams/{id} |
get_current_team |
得到 | /teams/current |
get_current_team_members |
得到 | /teams/current/members |
list_applications |
得到 | /applications |
create_application |
职位 | /applications |
start_application |
职位 | /applications/{uuid}/start |
stop_application |
职位 | /applications/{uuid}/stop |
restart_application |
职位 | /applications/{uuid}/restart |
list_services |
得到 | /services |
create_service |
职位 | /services |
list_deployments |
得到 | /deployments |
get_deployment |
得到 | /deployments/{uuid} |
list_private_keys |
得到 | /security/keys |
create_private_key |
职位 | /security/keys |
get_server_domains |
得到 | /servers/{uuid}/domains |
端点路径遵循官方的Coolify API和 不要 使用一个
/api/v1前缀。
环境变量标志
| 标志 | 含义 | 应用程序 | 服务 |
|---|---|---|---|
is_build_time |
在构建时存在 | ✅ | — |
is_preview |
仅适用于预览部署 | ✅ | ✅ |
is_literal |
禁用变量替换 | ✅ | ✅ |
服务是预构建的映像(没有构建阶段),因此
is_build_time对服务没有影响。
故障排除
服务器无法启动
- 确认节点≥18:
node --version - 重新安装deps:
rm -rf node_modules && npm install - 重建:
npm run clean && npm run build - 确认MCP配置中的绝对路径
身份验证错误 (401 Unauthorized)
- 验证令牌是否有效,以及其作用域是否适用于正确的团队
- 如果令牌已过期,则重新创建令牌;粘贴到
.env
连接问题(ECONNREFUSED/超时)
- 检查
COOLIFY_BASE_URL(无尾随斜线) - 确保Coolify实例可访问且运行正常
- 增加
COOLIFY_TIMEOUT对于慢速链接
工具未出现
- 重新启动客户端(克劳德代码/光标)
- 证实
claude mcp list - 检查终端中的服务器日志
- 确保为MCP过程设置环境变量
环境变量问题
如果你看到 COOLIFY_BASE_URL and COOLIFY_API_TOKEN environment variables are required 错误:
-
使用自动设置脚本:
npm run setup -
或者使用显式环境变量: 删除现有的MCP服务器,并使用显式环境变量重新添加:
claude mcp remove coolify -s local claude mcp add-json coolify '{ "type": "stdio", "command": "node", "args": ["/absolute/path/to/your/dist/index.js"], "env": { "COOLIFY_BASE_URL": "https://your-coolify-instance.com", "COOLIFY_API_TOKEN": "your-api-token-here" } }' -s local -
验证.env文件是否存在并且具有正确的值:
cat .env
为什么会发生这种情况: 当Claude Code启动MCP服务器时,它们可能会从不同的工作目录运行,导致
.env找不到文件。MCP配置中的显式环境变量解决了这个问题。
调试模式
DEBUG=coolify-mcp npm run dev
安全
- 将API令牌排除在VCS之外;定期轮换
- 使用HTTPS;考虑私有实例的IP分配列表/VPN
- 添加
.env向.gitignore;限制文件权限 - 每个环境使用最少的特权令牌;定期审计和撤销
贡献
我们欢迎捐款!
-
分叉 repo和克隆你的fork
git clone https://github.com/<your-username>/Coolify-MCP-Server-for-Claude-Code.git -
创建分支
git checkout -b feat/your-feature -
代码与测试 –遵循现有风格;在有用的地方添加测试
-
提交
git commit -m "feat: add <thing>" -
推送并打开PR
git push origin feat/your-feature
指南
- TypeScript最佳实践;在可行的情况下向后兼容
- 清除提交消息和错误处理
- 添加功能时更新README
许可证
麻省理工学院——见 许可证.
支持
问题 –在GitHub上打开
文档
版本: 1.0.0 维护人员: @ 福索尼
