返回市场
赫库鲁斯MCP服务器

赫库鲁斯MCP服务器

作者:heroku72 星标更新:2025-11-24

项目介绍

heroku-mcp-server

安装MCP服务器 smithery徽章

Heroku平台MCP服务器在通用运行时、Cedar私有空间、Shield空间以及Fir私有空间上运行。

预备条件

在Heroku上部署

部署

概览

Heroku平台MCP服务器是一个专门设计的模型上下文协议(MCP)实现,旨在促进大型语言模型(LLMs)与Heroku平台之间的无缝交互。此服务器提供了一套强大的工具和能力,使LLMs能够读取、管理和操作Heroku平台资源。

关键特性:

  • 通过LLM驱动的工具直接与Heroku平台资源进行交互
  • 利用Heroku CLI安全且经过身份验证地访问Heroku平台API
  • 使用自然语言界面与Heroku平台进行交互

注意:Heroku平台MCP服务器目前处于早期开发阶段。随着我们继续改进和完善实现,可用的功能和工具可能会发生变化。我们欢迎反馈和贡献,以帮助塑造这个项目的未来。

注意: Heroku平台MCP服务器需要全局安装Heroku CLI(v11.8.1+)。确保您已安装正确的版本,可以通过运行heroku --version来检查。

配置Heroku平台MCP服务器

您可以配置Claude Desktop、Zed、Cursor、Windsurf和其他客户端以与Heroku平台MCP服务器协同工作。

使用heroku mcp:start配置Heroku平台MCP服务器

使用heroku mcp:start启动Heroku平台MCP服务器。我们推荐这种方法,因为它利用了您现有的Heroku CLI认证,因此无需设置 HEROKU_API_KEY环境变量。heroku mcp:start命令在Heroku CLI版本10.8.1及以后版本中可用。

使用heroku mcp:start配置有几个好处:

  • 不需要管理或暴露您的Heroku API密钥
  • 使用您当前的Heroku CLI认证上下文
  • 与支持的客户端无缝协作

对于Claude Desktop的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "heroku mcp:start"
    }
  }
}

对于Zed的示例配置:

{
  "context_servers": {
    "heroku": {
      "command": {
        "path": "heroku",
        "args": ["mcp:start"]
      }
    }
  }
}

对于Cursor的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "heroku mcp:start"
    }
  }
}

对于Windsurf的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "heroku mcp:start"
    }
  }
}

对于Cline的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "heroku mcp:start"
    }
  }
}

对于VSCode的示例配置:

{
  "mcp": {
    "servers": {
      "heroku": {
        "type": "stdio",
        "command": "heroku",
        "args": ["mcp:start"]
      }
    }
  }
}

对于Trae的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "heroku mcp:start"
    }
  }
}

注意: 当您使用heroku mcp:start时,服务器会使用您当前的Heroku CLI会话进行身份验证,因此不需要设置HEROKU_API_KEY环境变量。我们推荐您使用heroku mcp:start,但如果您更喜欢使用API密钥,可以使用下面的替代配置。

使用npx -y @heroku/mcp-server配置Heroku平台MCP服务器

您还可以使用npx -y @heroku/mcp-server命令启动Heroku平台MCP服务器。此方法需要您设置 HEROKU_API_KEY环境变量,并使用您的Heroku 授权令牌

生成HEROKU_API_KEY

使用以下方法之一生成Heroku授权令牌:

  • 使用Heroku CLI命令:

      heroku authorizations:create
    
  • 使用CLI中的现有令牌

      heroku auth:token
    

    复制令牌并将其作为您的HEROKU_API_KEY用于以下步骤。

  • 在您的Heroku仪表板中:

    1. 选择您的头像,然后选择账户设置
    2. 打开应用程序标签。
    3. 授权旁边,点击创建授权

对于Claude Desktop的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "npx",
      "args": ["-y", "@heroku/mcp-server"],
      "env": {
        "HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
      }
    }
  }
}

对于Zed的示例配置:

{
  "context_servers": {
    "heroku": {
      "command": {
        "path": "npx",
        "args": ["-y", "@heroku/mcp-server"],
        "env": {
          "HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
        }
      }
    }
  }
}

对于Cursor的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "npx -y @heroku/mcp-server",
      "env": {
        "HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
      }
    }
  }
}

对于Windsurf的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "npx",
      "args": ["-y", "@heroku/mcp-server"],
      "env": {
        "HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
      }
    }
  }
}

对于Cline的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "npx",
      "args": ["-y", "@heroku/mcp-server"],
      "env": {
        "HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
      }
    }
  }
}

对于VSCode的示例配置:

{
  "mcp": {
    "servers": {
      "heroku": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@heroku/mcp-server"],
        "env": {
          "HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
        }
      }
    }
  }
}

对于Trae的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "npx",
      "args": ["-y", "@heroku/mcp-server"],
      "env": {
        "HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
      }
    }
  }
}

注意: 当您使用npx -y @heroku/mcp-server时,必须设置HEROKU_API_KEY环境变量,并使用您的Heroku授权令牌。

可用工具

应用程序管理

  • list_apps - 列出所有Heroku应用。您可以按个人、合作者、团队或空间过滤应用。
  • get_app_info - 获取应用的详细信息,包括其配置、dynos和附加组件。
  • create_app - 创建具有可定制设置的新应用,如区域、团队和空间。
  • rename_app - 重命名现有应用。
  • transfer_app - 将应用的所有权转让给另一个用户或团队。
  • deploy_to_heroku - 使用app.json配置将项目部署到Heroku,支持团队部署、私有空间和环境设置。
  • deploy_one_off_dyno - 在Heroku一次性dyno的隔离环境中执行代码或命令。支持文件创建、网络访问、环境变量和自动清理。适用于运行脚本、测试或临时负载。

进程和Dyno管理

  • ps_list - 列出应用的所有dynos。
  • ps_scale - 调整dynos的数量或大小。
  • ps_restart - 重启特定的dynos、进程类型或所有dynos。

附加组件

  • list_addons - 列出所有应用或特定应用的所有附加组件。
  • get_addon_info - 获取特定附加组件的详细信息。
  • create_addon - 为应用配置新的附加组件。

维护和日志

  • maintenance_on - 启用应用的维护模式。
  • maintenance_off - 禁用应用的维护模式。
  • get_app_logs - 查看应用日志。

管道管理

  • pipelines_create - 创建新的管道。
  • pipelines_promote - 将应用提升到管道中的下一个阶段。
  • pipelines_list - 列出可用的管道。
  • pipelines_info - 获取详细的管道信息。

团队和空间管理

  • list_teams - 列出您所属的团队。
  • list_private_spaces - 列出可用的空间。

PostgreSQL数据库管理

  • pg_psql - 对Heroku PostgreSQL数据库执行SQL查询。
  • pg_info - 显示详细的数据库信息。
  • pg_ps - 查看活动查询及其执行详情。
  • pg_locks - 查看数据库锁并识别阻塞事务。
  • pg_outliers - 识别资源密集型查询。
  • pg_credentials - 管理数据库凭证和访问权限。
  • pg_kill - 终止特定的数据库进程。
  • pg_maintenance - 显示数据库维护信息。
  • pg_backups - 管理数据库备份和计划。
  • pg_upgrade - 升级PostgreSQL到新版本。

调试

您可以使用MCP检查器或VS Code的 运行和调试功能来运行和调试服务器。

  1. 使用npm link从项目根目录将项目链接为全局CLI。
  2. 使用npm run build:dev构建,或者使用npm run build:watch监视文件更改并自动构建。

使用MCP检查器

在代码中不设置断点的情况下使用MCP检查器:

# 断点不可用
npx @modelcontextprotocol/inspector heroku-mcp-server

或者,如果您在特定目录中安装了该包或正在积极开发Heroku MCP服务器:

cd /path/to/servers
npx @modelcontextprotocol/inspector dist/index.js

使用VS Code的运行和调试功能

使用VS Code的 运行和调试启动器,并在代码中设置完全功能的断点:

  1. 定位并选择运行调试。
  2. 在下拉菜单中选择标记为“MCP Server Launcher”的配置。
  3. 选择运行/调试按钮。

VS Code / Cursor调试设置

要设置本地调试并启用断点:

  1. 将您的Heroku授权令牌存储在VS Code用户设置中:

    • 打开命令面板(Cmd/Ctrl + Shift + P)。
    • 输入Preferences: Open User Settings (JSON)
    • 添加以下片段:
    {
      "heroku.mcp.authToken": "your-token-here"
    }
    
  2. 创建或更新.vscode/launch.json

    {
      "version": "0.2.0",
      "configurations": [
        {
          "type": "node",
          "request": "launch",
          "name": "MCP Server Launcher",
          "skipFiles": ["<node_internals>/**"],
          "program": "${workspaceFolder}/node_modules/@modelcontextprotocol/inspector/bin/cli.js",
          "outFiles": ["${workspaceFolder}/**/dist/**/*.js"],
          "env": {
            "HEROKU_API_KEY": "${config:heroku.mcp.authToken}",
            "DEBUG": "true"
          },
          "args": ["heroku-mcp-server"],
          "sourceMaps": true,
          "console": "integratedTerminal",
          "internalConsoleOptions": "neverOpen",
          "preLaunchTask": "npm: build:watch"
        },
        {
          "type": "node",
          "request": "attach",
          "name": "Attach to Debug Hook Process",
          "port": 9332,
          "skipFiles": ["<node_internals>/**"],
          "sourceMaps": true,
          "outFiles": ["${workspaceFolder}/dist/**/*.js"]
        },
        {
          "type": "node",
          "request": "attach",
          "name": "Attach to REPL Process",
          "port": 1337,
          "skipFiles": ["<node_internals>/**"],
          "sourceMaps": true,
          "outFiles": ["${workspaceFolder}/dist/**/*.js"]
        }
      ],
      "compounds": [
        {
          "name": "Attach to MCP Server",
          "configurations": ["Attach to Debug Hook Process", "Attach to REPL Process"]
        }
      ]
    }
    
  3. 创建.vscode/tasks.json

    {
      "version": "2.0.0",
      "tasks": [
        {
          "type": "npm",
          "script": "build:watch",
          "group": {
            "kind": "build",
            "isDefault": true
          },
          "problemMatcher": ["$tsc"]
        }
      ]
    }
    
  4. (可选)在您的TypeScript文件中设置断点。

  5. 按F5或使用**运行和调试**侧边栏。

注意:调试器会在启动前自动构建您的TypeScript文件。

通过Smithery安装

要通过Smithery自动安装Heroku平台MCP服务器到Claude Desktop:

npx -y @smithery/cli install @heroku/heroku-mcp-server --client claude

环境变量

Heroku平台MCP服务器支持以下环境变量:

HEROKU_API_KEY

您的Heroku授权令牌。用于与Heroku平台的身份验证。

MCP_SERVER_REQUEST_TIMEOUT

命令执行的超时时间(毫秒)。如果未设置,默认为15000(15秒)。

带有自定义超时的示例配置:

{
  "mcpServers": {
    "heroku": {
      "command": "npx",
      "args": ["-y", "@heroku/mcp-server"],
      "env": {
        "HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>",
        "MCP_SERVER_REQUEST_TIMEOUT": "30000"
      }
    }
  }
}