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
El servidor MCP de la Plataforma Heroku funciona en Common Runtime, Cedar Private y Shield Spaces, y Fir Private Spaces.
Requisitos previos
- Heroku CLI debe estar instalado globalmente en tu sistema, versión 10.8.1 o superior.
Desplegar en Heroku
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 entornoHEROKU_API_KEY. Recomendamos usarheroku 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:tokenCopia el token y úsalo como tu
HEROKU_API_KEYen los siguientes pasos. -
En tu Panel de Heroku:
- Selecciona tu avatar y luego Configuración de la cuenta.
- Abre la pestaña Aplicaciones.
- 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 entornoHEROKU_API_KEYcon 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ónapp.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.
- Vincula el proyecto como una CLI global usando
npm linkdesde la raíz del proyecto. - Compila con
npm run build:devo observa los cambios de archivos y compila automáticamente connpm 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:
- Localiza y selecciona la ejecución de depuración.
- Selecciona la configuración etiquetada como "
MCP Server Launcher" en el menú desplegable. - 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:
-
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" } -
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"] } ] } -
Crea
.vscode/tasks.json:{ "version": "2.0.0", "tasks": [ { "type": "npm", "script": "build:watch", "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$tsc"] } ] } -
(Opcional) Establece puntos de interrupción en tus archivos TypeScript.
-
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"
}
}
}
}