Serveur Heroku Mcp
Serveur MCP de la plateforme Heroku utilisant l'interface en ligne de commande Heroku
Aperçu
Qu'est-ce que le serveur Heroku MCP ?
Le ### serveur Heroku MCP est un outil puissant conçu pour améliorer la fonctionnalité de la plateforme Heroku. Il permet aux développeurs de gérer leurs applications plus efficacement en utilisant l'interface de ligne de commande Heroku (CLI). Ce serveur agit comme un pont entre la plateforme Heroku et le développeur, offrant une expérience fluide pour le déploiement et la gestion des applications.
Caractéristiques du serveur Heroku MCP
- Intégration avec Heroku CLI : Le serveur est entièrement intégré avec le CLI Heroku, permettant aux utilisateurs d'exécuter des commandes directement depuis leur terminal.
- Interface conviviale : Il offre une interface simple qui simplifie la gestion des applications, facilitant ainsi le déploiement et la surveillance des projets pour les développeurs.
- Surveillance en temps réel : Les utilisateurs peuvent surveiller leurs applications en temps réel, recevant des mises à jour et des alertes sur les performances et les problèmes.
- Scalabilité : Le serveur Heroku MCP est conçu pour évoluer avec vos applications, garantissant qu'il peut gérer des charges accrues à mesure que votre base d'utilisateurs grandit.
- Open Source : Étant un dépôt public, les développeurs peuvent contribuer à son développement, assurant une amélioration continue et des ajouts de fonctionnalités.
Comment utiliser le serveur Heroku MCP
- Installation : Commencez par installer le CLI Heroku sur votre machine. Vous pouvez trouver les instructions d'installation sur le site Web de Heroku.
- Cloner le dépôt : Clonez le dépôt du serveur Heroku MCP depuis GitHub en utilisant la commande suivante :
git clone https://github.com/heroku/heroku-mcp-server.git
- Naviguer dans le répertoire : Changez dans le répertoire du dépôt cloné :
cd heroku-mcp-server
- Exécuter le serveur : Démarrez le serveur en utilisant la commande :
heroku-mcp-server start
- Accéder à l'interface : Ouvrez votre navigateur et accédez à l'URL du serveur pour accéder à l'interface utilisateur et commencer à gérer vos applications.
Questions Fréquemment Posées
Quel est le but du serveur Heroku MCP ?
Le serveur Heroku MCP est conçu pour faciliter la gestion des applications sur la plateforme Heroku, fournissant aux développeurs des outils pour déployer, surveiller et faire évoluer leurs applications efficacement.
Le serveur Heroku MCP est-il gratuit à utiliser ?
Oui, le serveur Heroku MCP est open-source et disponible gratuitement. Les développeurs peuvent contribuer à son développement et l'utiliser sans aucun coût.
Puis-je contribuer au serveur Heroku MCP ?
Absolument ! Le serveur Heroku MCP est un dépôt public, et les contributions sont les bienvenues. Vous pouvez soumettre des problèmes, des demandes de fonctionnalités ou même des demandes de tirage pour améliorer la fonctionnalité du serveur.
Quelles langages de programmation le serveur Heroku MCP prend-il en charge ?
Le serveur Heroku MCP prend principalement en charge les applications construites sur la plateforme Heroku, qui inclut une large gamme de langages de programmation tels que Ruby, Node.js, Python, Java, et plus encore.
Comment signaler des problèmes ou des bogues ?
Si vous rencontrez des problèmes ou des bogues lors de l'utilisation du serveur Heroku MCP, vous pouvez les signaler sur le système de suivi des problèmes du dépôt GitHub. Assurez-vous de fournir des informations détaillées sur le problème pour aider les développeurs à le résoudre rapidement.
Détail
heroku-mcp-server
The Heroku Platform MCP Server works on Common Runtime, Cedar Private and Shield Spaces, and Fir Private Spaces.
Prerequisites
- Heroku CLI must be installed globally on your system, version 10.8.1 or higher.
Deploy on Heroku
Overview
The Heroku Platform MCP Server is a specialized Model Context Protocol (MCP) implementation designed to facilitate seamless interaction between large language models (LLMs) and the Heroku Platform. This server provides a robust set of tools and capabilities that enable LLMs to read, manage, and operate Heroku Platform resources.
Key Features:
- Direct interaction with Heroku Platform resources through LLM-driven tools
- Secure and authenticated access to Heroku Platform APIs, leveraging the Heroku CLI
- Natural language interface for Heroku Platform interactions
Note: The Heroku Platform MCP Server is currently in early development. As we continue to enhance and refine the implementation, the available functionality and tools may evolve. We welcome feedback and contributions to help shape the future of this project.
Note: The Heroku Platform MCP Server requires the Heroku CLI to be installed globally (v10.8.1+). Ensure you have the correct version by running
heroku --version
.
Configure the Heroku Platform MCP Server
You can configure Claude Desktop, Zed, Cursor, Windsurf, and other clients to work with the Heroku Platform MCP Server.
Configure the Heroku Platform MCP Server with heroku mcp:start
Use heroku mcp:start
to launch the Heroku Platform MCP Server. We recommend this method as it leverages your existing
Heroku CLI authentication, so you don't need to set the
HEROKU_API_KEY
environment variable. The
heroku mcp:start
command is available in Heroku CLI version 10.8.1 and later.
There are several benefits to configuring with heroku mcp:start
:
- No need to manage or expose your Heroku API key
- Uses your current Heroku CLI authentication context
- Works seamlessly with supported clients
Example configuration for Claude Desktop:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}
Example configuration for Zed:
{
"context_servers": {
"heroku": {
"command": {
"path": "heroku",
"args": ["mcp:start"]
}
}
}
}
Example configuration for Cursor:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}
Example configuration for Windsurf:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}
Example configuration for Cline:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}
Example configuration for VSCode:
{
"mcp": {
"servers": {
"heroku": {
"type": "stdio",
"command": "heroku",
"args": ["mcp:start"]
}
}
}
}
Example configuration for Trae:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}
Note: When you use
heroku mcp:start
, the server authenticates using your current Heroku CLI session so you don't need to set theHEROKU_API_KEY
environment variable. We recommend you useheroku mcp:start
, but if you prefer to use an API key, you can use the alternate configuration below.
Configure the Heroku Platform MCP Server with npx -y @heroku/mcp-server
You can also launch the Heroku Platform MCP Server using the npx -y @heroku/mcp-server
command. This method requires
you to set the HEROKU_API_KEY
environment
variable with your Heroku
authorization token.
Generating the HEROKU_API_KEY
Generate a Heroku authorization token with one of these methods:
-
Use the Heroku CLI command:
heroku authorizations:create
-
Use an existing token in the CLI
heroku auth:token
Copy the token and use it as your
HEROKU_API_KEY
in the following steps. -
In your Heroku Dashboard:
- Select your avatar, then select Account Settings.
- Open the Applications tab.
- Next to Authorizations, click Create authorization.
Example configuration for Claude Desktop:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Example configuration for Zed:
{
"context_servers": {
"heroku": {
"command": {
"path": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
}
Example configuration for Cursor:
{
"mcpServers": {
"heroku": {
"command": "npx -y @heroku/mcp-server",
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Example configuration for Windsurf:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Example configuration for Cline:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Example configuration for VSCode:
{
"mcp": {
"servers": {
"heroku": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
}
Example configuration for Trae:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Note: When you use
npx -y @heroku/mcp-server
, you must set theHEROKU_API_KEY
environment variable with your Heroku authorization token.
Available Tools
Application Management
list_apps
- List all Heroku apps. You can filter apps by personal, collaborator, team, or space.get_app_info
- Get detailed information about an app, including its configuration, dynos, and add-ons.create_app
- Create a new app with customizable settings for region, team, and space.rename_app
- Rename an existing app.transfer_app
- Transfer ownership of an app to another user or team.deploy_to_heroku
- Deploy projects to Heroku with anapp.json
configuration, supporting team deployments, private spaces, and environment setups.deploy_one_off_dyno
- Execute code or commands in a sandboxed environment on a Heroku one-off dyno. Supports file creation, network access, environment variables, and automatic cleanup. Ideal for running scripts, tests, or temporary workloads.
Process & Dyno Management
ps_list
- List all dynos for an app.ps_scale
- Scale the number of dynos up or down, or resize dynos.ps_restart
- Restart specific dynos, process types, or all dynos.
Add-ons
list_addons
- List all add-ons for all apps or for a specific app.get_addon_info
- Get detailed information about a specific add-on.create_addon
- Provision a new add-on for an app.
Maintenance & Logs
maintenance_on
- Enable maintenance mode for an app.maintenance_off
- Disable maintenance mode for an app.get_app_logs
- View application logs.
Pipeline Management
pipelines_create
- Create a new pipeline.pipelines_promote
- Promote apps to the next stage in a pipeline.pipelines_list
- List available pipelines.pipelines_info
- Get detailed pipeline information.
Team & Space Management
list_teams
- List teams you belong to.list_private_spaces
- List available spaces.
PostgreSQL Database Management
pg_psql
- Execute SQL queries against the Heroku PostgreSQL database.pg_info
- Display detailed database information.pg_ps
- View active queries and execution details.pg_locks
- View database locks and identify blocking transactions.pg_outliers
- Identify resource-intensive queries.pg_credentials
- Manage database credentials and access.pg_kill
- Terminate specific database processes.pg_maintenance
- Show database maintenance information.pg_backups
- Manage database backups and schedules.pg_upgrade
- Upgrade PostgreSQL to a newer version.
Debugging
You can use the MCP inspector or the VS Code Run and Debug function to run and debug the server.
- Link the project as a global CLI using
npm link
from the project root. - Build with
npm run build:dev
or watch for file changes and build automatically withnpm run build:watch
.
Use the MCP Inspector
Use the MCP inspector with no breakpoints in the code:
### Breakpoints are not available
npx @modelcontextprotocol/inspector heroku-mcp-server
Alternatively, if you installed the package in a specific directory or are actively developing on the Heroku MCP server:
cd /path/to/servers
npx @modelcontextprotocol/inspector dist/index.js
Use the VS Code Run and Debug Function
Use the VS Code Run and Debug launcher with fully functional breakpoints in the code:
- Locate and select the run debug.
- Select the configuration labeled "
MCP Server Launcher
" in the dropdown. - Select the run/debug button.
VS Code / Cursor Debugging Setup
To set up local debugging with breakpoints:
-
Store your Heroku auth token in the VS Code user settings:
- Open the Command Palette (Cmd/Ctrl + Shift + P).
- Type
Preferences: Open User Settings (JSON)
. - Add the following snippet:
{ "heroku.mcp.authToken": "your-token-here" }
-
Create or update
.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"] } ] }
-
Create
.vscode/tasks.json
:{ "version": "2.0.0", "tasks": [ { "type": "npm", "script": "build:watch", "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$tsc"] } ] }
-
(Optional) Set breakpoints in your TypeScript files.
-
Press F5 or use the
Run and Debug
sidebar.
Note: the debugger automatically builds your TypeScript files before launching.
Installing via Smithery
To install Heroku Platform MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @heroku/heroku-mcp-server --client claude
Environment Variables
The Heroku Platform MCP Server supports the following environment variables:
HEROKU_API_KEY
Your Heroku authorization token. Required for authentication with the Heroku Platform.
MCP_SERVER_REQUEST_TIMEOUT
Timeout in milliseconds for command execution. Defaults to 15000 (15 seconds) if not set.
Example configuration with custom timeout:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>",
"MCP_SERVER_REQUEST_TIMEOUT": "30000"
}
}
}
}
Configuration du serveur
{
"mcpServers": {
"heroku-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--heroku--heroku-mcp-server--heroku-mcp-server",
"heroku mcp:start"
],
"env": {
"HEROKU_API_KEY": "heroku-api-key"
}
}
}
}