Heroku MCP server

Official

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides comprehensive management of Heroku Platform resources, including application deployment and management, process and dyno scaling, add-on provisioning, maintenance controls, pipeline management, team and space administration, and PostgreSQL database operations.

  • Enables direct interaction with Heroku PostgreSQL databases, including executing SQL queries, viewing database information, managing active queries, identifying resource-intensive operations, handling credentials, managing backups, and performing database upgrades.

heroku-mcp-服务器

Heroku 平台 MCP 服务器可在 Common Runtime、Cedar Private 和 Shield Spaces 以及 Fir Private Spaces 上运行。

概述

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

主要特点:

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

注意:Heroku 平台 MCP 服务器目前处于早期开发阶段。随着我们不断增强和完善其实现,可用的功能和工具可能会不断演变。我们欢迎您提供反馈和贡献,共同塑造该项目的未来。

验证

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

  • 使用 Heroku CLI 命令:
    heroku authorizations:create
  • 在 CLI 中使用现有令牌
    heroku auth:token
    复制令牌并在以下步骤中将其用作您的HEROKU_API_KEY
  • 在您的Heroku 仪表板中:
    1. 选择您的头像,然后选择**“帐户设置”**
    2. 打开“应用程序”选项卡。
    3. **“授权”旁边,单击“创建授权”**

配置 Heroku 平台 MCP 服务器

您可以配置 Claude Desktop、Zed、Cursor 和 Windsurf 以与 Heroku Platform MCP Server 配合使用。

克劳德桌面

将此代码片段添加到您的claude_desktop_config.json中:

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

泽德

将此代码片段添加到您的 Zed settings.json中:

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

光标

将此代码片段添加到您的 Cursor mcp.json中:

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

风帆冲浪

将此代码片段添加到您的 Windsurf mcp_config.json中:

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

可用工具

应用程序管理

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

流程与测功机管理

  • ps_list - 列出应用程序的所有测功机。
  • ps_scale - 增加或减少测功机的数量,或者调整测功机的大小。
  • ps_restart - 重新启动特定的测功机、进程类型或所有测功机。

附加组件

  • 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 检查器:

# Breakpoints are not available npx @modelcontextprotocol/inspector heroku-mcp-server

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

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

使用 VS Code 运行和调试功能

使用 VS Code Run 和 Debug 启动器,并在代码中设置功能齐全的断点:

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

VS Code/光标调试设置

要设置带断点的本地调试:

  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": 9333, "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 或使用**Run and Debug**侧栏。

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

ID: c1gtn2x5d2