Coolify MCP服务器

一个基于TypeScript的MCP服务器,用于与自托管平台Coolify集成,提供应用程序、数据库、服务器、项目和服务的管理功能。

  • by JoshuaRileyDev
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 JoshuaRileyDev/coolify-mcp-server

使用说明

冷却MCP服务器

一个强大的TypeScript MCP(模型上下文协议)服务器,用于与Coolify集成,Coolify是Netlify和Vercel的自托管替代品。

特性

  • 完成Coolify API集成:管理应用程序、数据库、服务器、项目和服务
  • 类型安全:完全支持TypeScript,具有全面的类型定义
  • MCP协议:与Claude和其他MCP客户端兼容
  • 资源访问:通过MCP资源端点公开Coolify资源
  • 工具支持:Coolify操作的全套工具

安装

npm install
npm run build

配置

环境变量

服务器需要环境变量才能连接到Coolify实例:

export COOLIFY_API_URL="http://localhost:8000"
export COOLIFY_API_TOKEN="your-api-token-here"
export COOLIFY_TEAM_ID="optional-team-id"  # Optional

或者创建一个 .env 文件:

COOLIFY_API_URL=http://localhost:8000
COOLIFY_API_TOKEN=your-api-token-here
COOLIFY_TEAM_ID=optional-team-id

MCP客户端配置

克劳德桌面

将服务器添加到Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "coolify": {
      "command": "node",
      "args": ["/path/to/coolify-mcp-server/dist/index.js"],
      "env": {
        "COOLIFY_API_URL": "http://localhost:8000",
        "COOLIFY_API_TOKEN": "your-api-token-here",
        "COOLIFY_TEAM_ID": "optional-team-id"
      }
    }
  }
}

替代方案:NPX使用

如果你发布到npm,用户可以通过npx运行:

{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": ["@joshuarileydev/coolify-mcp-server", "--yes"],
      "env": {
        "COOLIFY_API_URL": "http://localhost:8000",
        "COOLIFY_API_TOKEN": "your-api-token-here",
        "COOLIFY_TEAM_ID": "optional-team-id"
      }
    }
  }
}

或者直接使用可执行文件名:

{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": ["coolify-mcp-server", "--yes"],
      "env": {
        "COOLIFY_API_URL": "http://localhost:8000",
        "COOLIFY_API_TOKEN": "your-api-token-here",
        "COOLIFY_TEAM_ID": "optional-team-id"
      }
    }
  }
}

开发设置

对于开发,您可以直接使用TypeScript源代码:

{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": ["tsx", "/path/to/coolify-mcp-server/src/index.ts"],
      "env": {
        "COOLIFY_API_URL": "http://localhost:8000",
        "COOLIFY_API_TOKEN": "your-api-token-here",
        "COOLIFY_TEAM_ID": "optional-team-id"
      }
    }
  }
}

其他MCP客户端

对于支持环境变量的其他MCP客户端,请确保设置了以下变量:

  • COOLIFY_API_URL (必填)
  • COOLIFY_API_TOKEN (必填)
  • COOLIFY_TEAM_ID (可选)

shell脚本示例:

#!/bin/bash
export COOLIFY_API_URL="http://localhost:8000"
export COOLIFY_API_TOKEN="your-api-token-here"
export COOLIFY_TEAM_ID="your-team-id"

node /path/to/coolify-mcp-server/dist/index.js

可用工具

应用程序

  • list_applications -列出所有应用程序
  • get_application -获取应用程序详细信息
  • create_application -创建新应用程序
  • start_application -启动应用程序
  • stop_application -停止应用程序
  • restart_application -重新启动应用程序
  • deploy_application -部署应用程序

数据库

  • list_databases -列出所有数据库
  • create_database -创建新数据库

服务器

  • list_servers -列出所有服务器
  • create_server -创建新服务器
  • validate_server -验证服务器连接

项目

  • list_projects -列出所有项目
  • create_project -创建新项目

服务

  • list_services -列出所有服务
  • start_service -启动服务
  • stop_service -停止服务

系统

  • get_version -获取Coolify版本

可用资源

服务器公开这些MCP资源:

  • coolify://applications -所有应用程序
  • coolify://databases -所有数据库
  • coolify://servers -所有服务器
  • coolify://projects -所有项目
  • coolify://services -所有服务
  • coolify://teams -所有团队

API令牌设置

  1. 登录您的Coolify实例
  2. 导航到“密钥和令牌”>“API令牌”
  3. 点击“创建新令牌”
  4. 选择适当的权限:
    • read-only:只读数据
    • read:sensitive:读取敏感数据
    • *:完全访问(建议用于MCP服务器)
  5. 复制生成的令牌

安全说明

将MCP服务器与Claude Desktop或其他客户端一起使用时,您的API令牌将存储在配置文件中。确保此文件具有适当的权限:

# macOS/Linux
chmod 600 ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Or set environment variables in your shell profile instead
echo 'export COOLIFY_API_TOKEN="your-token-here"' >> ~/.bashrc

发展

# Install dependencies
npm install

# Run in development mode (requires env vars)
COOLIFY_API_URL=http://localhost:8000 COOLIFY_API_TOKEN=your-token npm run dev

# Build for production
npm run build

# Run built version
npm start

# Lint code
npm run lint

# Type check
npm run typecheck

故障排除

常见问题

  1. “需要COOLIFY_API_URL和COOLIFYAPI_TOKEN环境变量”

    • 在启动服务器之前,确保设置了环境变量
    • 检查你的 .env 文件位于正确的位置
    • 验证变量名拼写是否正确
  2. “工具执行失败:请求失败”

    • 验证您的Coolify实例是否正在运行且可访问
    • 检查API URL是否正确(包括协议: http:// 或 https://)
    • 确保您的API令牌具有必要的权限
  3. MCP服务器未出现在Claude Desktop中

    • 更新配置后重新启动Claude Desktop
    • 检查配置文件路径是否适合您的操作系统
    • 验证配置文件中的JSON语法

调试模式

要查看详细的错误消息,请使用调试输出运行服务器:

DEBUG=* node dist/index.js

许可证

麻省理工学院