Heroku Platform

Interactúa con los recursos de la plataforma Heroku de forma segura usando la CLI de Heroku. Requiere la CLI de Heroku y una clave de API válida.

Documentación

heroku-mcp-server

Install MCP Server

El servidor MCP de la Plataforma Heroku funciona en Common Runtime, Cedar Private y Shield Spaces, y Fir Private Spaces.

Requisitos previos

Desplegar en Heroku

Deploy

Resumen

El servidor MCP de la Plataforma Heroku es una implementación especializada del Protocolo de Contexto de Modelo (MCP) diseñada para facilitar la interacción fluida entre modelos de lenguaje grandes (LLMs) y la Plataforma Heroku. Este servidor proporciona un conjunto robusto de herramientas y capacidades que permiten a los LLMs leer, gestionar y operar los recursos de la Plataforma Heroku.

Características principales:

  • Interacción directa con los recursos de la Plataforma Heroku a través de herramientas impulsadas por LLM
  • Acceso seguro y autenticado a las API de la Plataforma Heroku, aprovechando la Heroku CLI
  • Interfaz de lenguaje natural para las interacciones con la Plataforma Heroku

Nota: El servidor MCP de la Plataforma Heroku se encuentra actualmente en desarrollo temprano. A medida que continuamos mejorando y refinando la implementación, la funcionalidad y las herramientas disponibles pueden evolucionar. Agradecemos comentarios y contribuciones para ayudar a dar forma al futuro de este proyecto.

Nota: El servidor MCP de la Plataforma Heroku requiere que la Heroku CLI esté instalada globalmente (v10.8.1+). Asegúrate de tener la versión correcta ejecutando heroku --version.

Configurar el servidor MCP de la Plataforma Heroku

Puedes configurar Claude Desktop, Zed, Cursor, Windsurf y otros clientes para que funcionen con el servidor MCP de la Plataforma Heroku.

Configurar el servidor MCP de la Plataforma Heroku con heroku mcp:start

Usa heroku mcp:start para lanzar el servidor MCP de la Plataforma Heroku. Recomendamos este método porque aprovecha tu autenticación existente de la Heroku CLI, por lo que no necesitas configurar la variable de entorno HEROKU_API_KEY. El comando heroku mcp:start está disponible en la versión 10.8.1 y posteriores de la Heroku CLI.

Hay varios beneficios al configurar con heroku mcp:start:

  • No es necesario gestionar ni exponer tu clave de API de Heroku
  • Usa tu contexto de autenticación actual de la Heroku CLI
  • Funciona sin problemas con los clientes compatibles

Ejemplo de configuración para Claude Desktop:

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

Ejemplo de configuración para Zed:

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

Ejemplo de configuración para Cursor:

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

Ejemplo de configuración para Windsurf:

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

Ejemplo de configuración para Cline:

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

Ejemplo de configuración para VSCode:

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

Ejemplo de configuración para Trae:

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

Nota: Cuando usas heroku mcp:start, el servidor se autentica usando tu sesión actual de la Heroku CLI, por lo que no necesitas configurar la variable de entorno HEROKU_API_KEY. Recomendamos usar heroku mcp:start, pero si prefieres usar una clave de API, puedes usar la configuración alternativa a continuación.

Configurar el servidor MCP de la Plataforma Heroku con npx -y @heroku/mcp-server

También puedes lanzar el servidor MCP de la Plataforma Heroku usando el comando npx -y @heroku/mcp-server. Este método requiere que configures la variable de entorno HEROKU_API_KEY con tu token de autorización de Heroku.

Generando el HEROKU_API_KEY

Genera un token de autorización de Heroku con uno de estos métodos:

  • Usa el comando de la Heroku CLI:

      heroku authorizations:create
    
  • Usa un token existente en la CLI

      heroku auth:token
    

    Copia el token y úsalo como tu HEROKU_API_KEY en los siguientes pasos.

  • En tu Panel de Heroku:

    1. Selecciona tu avatar y luego Configuración de la cuenta.
    2. Abre la pestaña Aplicaciones.
    3. Junto a Autorizaciones, haz clic en Crear autorización.

Ejemplo de configuración para Claude Desktop:

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

Ejemplo de configuración para Zed:

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

Ejemplo de configuración para Cursor:

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

Ejemplo de configuración para Windsurf:

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

Ejemplo de configuración para Cline:

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

Ejemplo de configuración para VSCode:

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

Ejemplo de configuración para Trae:

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

Nota: Cuando usas npx -y @heroku/mcp-server, debes configurar la variable de entorno HEROKU_API_KEY con tu token de autorización de Heroku.

Herramientas disponibles

Gestión de aplicaciones

  • list_apps - Lista todas las aplicaciones de Heroku. Puedes filtrar aplicaciones por personal, colaborador, equipo o espacio.
  • get_app_info - Obtén información detallada sobre una aplicación, incluida su configuración, dynos y add-ons.
  • create_app - Crea una nueva aplicación con configuraciones personalizables para región, equipo y espacio.
  • rename_app - Renombra una aplicación existente.
  • transfer_app - Transfiere la propiedad de una aplicación a otro usuario o equipo.
  • deploy_to_heroku - Despliega proyectos en Heroku con una configuración app.json, con soporte para despliegues de equipo, espacios privados y configuraciones de entorno.
  • deploy_one_off_dyno - Ejecuta código o comandos en un entorno aislado en un dyno de una sola vez de Heroku. Admite creación de archivos, acceso a red, variables de entorno y limpieza automática. Ideal para ejecutar scripts, pruebas o cargas de trabajo temporales.

Gestión de procesos y dynos

  • ps_list - Lista todos los dynos de una aplicación.
  • ps_scale - Escala el número de dynos hacia arriba o hacia abajo, o redimensiona dynos.
  • ps_restart - Reinicia dynos específicos, tipos de proceso o todos los dynos.

Add-ons

  • list_addons - Lista todos los add-ons para todas las aplicaciones o para una aplicación específica.
  • get_addon_info - Obtén información detallada sobre un add-on específico.
  • create_addon - Aprovisiona un nuevo add-on para una aplicación.

Mantenimiento y registros

  • maintenance_on - Habilita el modo de mantenimiento para una aplicación.
  • maintenance_off - Deshabilita el modo de mantenimiento para una aplicación.
  • get_app_logs - Ver los registros de la aplicación.

Gestión de pipelines

  • pipelines_create - Crea un nuevo pipeline.
  • pipelines_promote - Promueve aplicaciones a la siguiente etapa en un pipeline.
  • pipelines_list - Lista los pipelines disponibles.
  • pipelines_info - Obtén información detallada del pipeline.

Gestión de equipos y espacios

  • list_teams - Lista los equipos a los que perteneces.
  • list_private_spaces - Lista los espacios disponibles.

Gestión de bases de datos PostgreSQL

  • pg_psql - Ejecuta consultas SQL contra la base de datos PostgreSQL de Heroku.
  • pg_info - Muestra información detallada de la base de datos.
  • pg_ps - Ver consultas activas y detalles de ejecución.
  • pg_locks - Ver bloqueos de la base de datos e identificar transacciones bloqueantes.
  • pg_outliers - Identificar consultas que consumen muchos recursos.
  • pg_credentials - Gestionar credenciales y acceso de la base de datos.
  • pg_kill - Terminar procesos específicos de la base de datos.
  • pg_maintenance - Mostrar información de mantenimiento de la base de datos.
  • pg_backups - Gestionar copias de seguridad y programaciones de la base de datos.
  • pg_upgrade - Actualizar PostgreSQL a una versión más reciente.

Depuración

Puedes usar el inspector MCP o la función Ejecutar y depurar de VS Code para ejecutar y depurar el servidor.

  1. Vincula el proyecto como una CLI global usando npm link desde la raíz del proyecto.
  2. Compila con npm run build:dev o observa los cambios de archivos y compila automáticamente con npm run build:watch.

Usar el inspector MCP

Usa el inspector MCP sin puntos de interrupción en el código:

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

Alternativamente, si instalaste el paquete en un directorio específico o estás desarrollando activamente en el servidor MCP de Heroku:

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

Usar la función Ejecutar y depurar de VS Code

Usa el lanzador Ejecutar y depurar de VS Code con puntos de interrupción totalmente funcionales en el código:

  1. Localiza y selecciona la ejecución de depuración.
  2. Selecciona la configuración etiquetada como "MCP Server Launcher" en el menú desplegable.
  3. Selecciona el botón de ejecutar/depurar.

Configuración de depuración en VS Code / Cursor

Para configurar la depuración local con puntos de interrupción:

  1. Guarda tu token de autenticación de Heroku en la configuración de usuario de VS Code:

    • Abre la Paleta de comandos (Cmd/Ctrl + Shift + P).
    • Escribe Preferences: Open User Settings (JSON).
    • Agrega el siguiente fragmento:
    {
      "heroku.mcp.authToken": "your-token-here"
    }
    
  2. Crea o actualiza .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. Crea .vscode/tasks.json:

    {
      "version": "2.0.0",
      "tasks": [
        {
          "type": "npm",
          "script": "build:watch",
          "group": {
            "kind": "build",
            "isDefault": true
          },
          "problemMatcher": ["$tsc"]
        }
      ]
    }
    
  4. (Opcional) Establece puntos de interrupción en tus archivos TypeScript.

  5. Presiona F5 o usa la barra lateral Run and Debug.

Nota: el depurador compila automáticamente tus archivos TypeScript antes de lanzar.

Variables de entorno

El servidor MCP de la Plataforma Heroku admite las siguientes variables de entorno:

HEROKU_API_KEY

Tu token de autorización de Heroku. Requerido para la autenticación con la Plataforma Heroku.

MCP_SERVER_REQUEST_TIMEOUT

Tiempo de espera en milisegundos para la ejecución de comandos. El valor predeterminado es 15000 (15 segundos) si no se establece.

Ejemplo de configuración con tiempo de espera personalizado:

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