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 サーバーは、大規模言語モデル (LLM) と Heroku プラットフォーム間のシームレスな連携を実現するために設計された、特別なモデルコンテキストプロトコル (MCP) 実装です。このサーバーは、LLM が Heroku プラットフォームのリソースを読み取り、管理、操作するための堅牢なツールと機能を提供します。

主な機能:

  • LLM 駆動ツールを通じて Heroku プラットフォーム リソースと直接対話
  • Heroku CLI を活用した Heroku プラットフォーム API への安全で認証されたアクセス
  • Heroku プラットフォームインタラクションのための自然言語インターフェース

注:Heroku Platform MCP Serverは現在開発初期段階にあります。実装の強化と改良を続けていく中で、利用可能な機能やツールが進化していく可能性があります。このプロジェクトの将来を形作るために、皆様からのフィードバックと貢献をお待ちしております。

認証

次のいずれかの方法で 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>" } } } } }

カーソル

このスニペットをカーソル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 - アプリの構成、dyno、アドオンなど、アプリに関する詳細情報を取得します。
  • create_app - 地域、チーム、スペースのカスタマイズ可能な設定を持つ新しいアプリを作成します。
  • rename_app - 既存のアプリの名前を変更します。
  • transfer_app - アプリの所有権を別のユーザーまたはチームに譲渡します。
  • deploy_to_heroku - app.json構成を使用してプロジェクトを Heroku にデプロイし、チームのデプロイ、プライベート スペース、環境設定をサポートします。
  • deploy_one_off_dyno - Herokuのワンオフdyno上のサンドボックス環境でコードやコマンドを実行します。ファイル作成、ネットワークアクセス、環境変数、自動クリーンアップをサポートします。スクリプト、テスト、一時的なワークロードの実行に最適です。

プロセスとダイノ管理

  • ps_list - アプリのすべての dyno を一覧表示します。
  • ps_scale - dyno の数を拡大または縮小したり、dyno のサイズを変更したりします。
  • ps_restart - 特定の dyno、プロセス タイプ、またはすべての dyno を再起動します。

アドオン

  • 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実行およびデバッグ ランチャーを使用します。

  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