Heroku Platform

Interaja com os recursos da Plataforma Heroku de forma segura usando a Heroku CLI. Requer a Heroku CLI e uma chave de API válida.

Documentação

heroku-mcp-server

Install MCP Server

O Heroku Platform MCP Server funciona em Common Runtime, Cedar Private e Shield Spaces, e Fir Private Spaces.

Pré-requisitos

Implantar no Heroku

Deploy

Visão Geral

O Heroku Platform MCP Server é uma implementação especializada do Model Context Protocol (MCP) projetada para facilitar a interação perfeita entre modelos de linguagem de grande porte (LLMs) e a Heroku Platform. Este servidor fornece um conjunto robusto de ferramentas e capacidades que permitem que LLMs leiam, gerenciem e operem recursos da Heroku Platform.

Principais Recursos:

  • Interação direta com recursos da Heroku Platform por meio de ferramentas orientadas por LLM
  • Acesso seguro e autenticado às APIs da Heroku Platform, utilizando o Heroku CLI
  • Interface de linguagem natural para interações com a Heroku Platform

Nota: O Heroku Platform MCP Server está atualmente em desenvolvimento inicial. À medida que continuamos a aprimorar e refinar a implementação, a funcionalidade e as ferramentas disponíveis podem evoluir. Agradecemos feedback e contribuições para ajudar a moldar o futuro deste projeto.

Nota: O Heroku Platform MCP Server requer que o Heroku CLI esteja instalado globalmente (v10.8.1+). Certifique-se de ter a versão correta executando heroku --version.

Configurar o Heroku Platform MCP Server

Você pode configurar Claude Desktop, Zed, Cursor, Windsurf e outros clientes para trabalhar com o Heroku Platform MCP Server.

Configurar o Heroku Platform MCP Server com heroku mcp:start

Use heroku mcp:start para iniciar o Heroku Platform MCP Server. Recomendamos este método, pois ele aproveita sua autenticação existente do Heroku CLI, então você não precisa definir a variável de ambiente HEROKU_API_KEY. O comando heroku mcp:start está disponível na versão 10.8.1 ou posterior do Heroku CLI.

Há vários benefícios em configurar com heroku mcp:start:

  • Não é necessário gerenciar ou expor sua chave de API do Heroku
  • Usa seu contexto de autenticação atual do Heroku CLI
  • Funciona perfeitamente com clientes suportados

Exemplo de configuração para Claude Desktop:

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

Exemplo de configuração para Zed:

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

Exemplo de configuração para Cursor:

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

Exemplo de configuração para Windsurf:

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

Exemplo de configuração para Cline:

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

Exemplo de configuração para VSCode:

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

Exemplo de configuração para Trae:

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

Nota: Quando você usa heroku mcp:start, o servidor autentica usando sua sessão atual do Heroku CLI, então você não precisa definir a variável de ambiente HEROKU_API_KEY. Recomendamos que você use heroku mcp:start, mas se preferir usar uma chave de API, você pode usar a configuração alternativa abaixo.

Configurar o Heroku Platform MCP Server com npx -y @heroku/mcp-server

Você também pode iniciar o Heroku Platform MCP Server usando o comando npx -y @heroku/mcp-server. Este método exige que você defina a variável de ambiente HEROKU_API_KEY com seu token de autorização do Heroku.

Gerando o HEROKU_API_KEY

Gere um token de autorização do Heroku com um destes métodos:

  • Use o comando do Heroku CLI:

      heroku authorizations:create
    
  • Use um token existente no CLI

      heroku auth:token
    

    Copie o token e use-o como seu HEROKU_API_KEY nas etapas a seguir.

  • No seu Heroku Dashboard:

    1. Selecione seu avatar e depois selecione Configurações da conta.
    2. Abra a guia Aplicativos.
    3. Ao lado de Autorizações, clique em Criar autorização.

Exemplo de configuração para Claude Desktop:

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

Exemplo de configuração para Zed:

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

Exemplo de configuração para Cursor:

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

Exemplo de configuração para Windsurf:

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

Exemplo de configuração para Cline:

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

Exemplo de configuração para VSCode:

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

Exemplo de configuração para Trae:

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

Nota: Quando você usa npx -y @heroku/mcp-server, você deve definir a variável de ambiente HEROKU_API_KEY com seu token de autorização do Heroku.

Ferramentas Disponíveis

Gerenciamento de Aplicativos

  • list_apps - Liste todos os aplicativos Heroku. Você pode filtrar aplicativos por pessoal, colaborador, equipe ou espaço.
  • get_app_info - Obtenha informações detalhadas sobre um aplicativo, incluindo sua configuração, dynos e add-ons.
  • create_app - Crie um novo aplicativo com configurações personalizáveis para região, equipe e espaço.
  • rename_app - Renomeie um aplicativo existente.
  • transfer_app - Transfira a propriedade de um aplicativo para outro usuário ou equipe.
  • deploy_to_heroku - Implante projetos no Heroku com uma configuração app.json, suportando implantações de equipe, espaços privados e configurações de ambiente.
  • deploy_one_off_dyno - Execute código ou comandos em um ambiente isolado em um dyno único do Heroku. Suporta criação de arquivos, acesso à rede, variáveis de ambiente e limpeza automática. Ideal para executar scripts, testes ou cargas de trabalho temporárias.

Gerenciamento de Processos e Dynos

  • ps_list - Liste todos os dynos de um aplicativo.
  • ps_scale - Aumente ou diminua o número de dynos, ou redimensione dynos.
  • ps_restart - Reinicie dynos específicos, tipos de processo ou todos os dynos.

Add-ons

  • list_addons - Liste todos os add-ons para todos os aplicativos ou para um aplicativo específico.
  • get_addon_info - Obtenha informações detalhadas sobre um add-on específico.
  • create_addon - Provisione um novo add-on para um aplicativo.

Manutenção e Logs

  • maintenance_on - Ative o modo de manutenção para um aplicativo.
  • maintenance_off - Desative o modo de manutenção para um aplicativo.
  • get_app_logs - Visualize os logs do aplicativo.

Gerenciamento de Pipelines

  • pipelines_create - Crie um novo pipeline.
  • pipelines_promote - Promova aplicativos para o próximo estágio em um pipeline.
  • pipelines_list - Liste os pipelines disponíveis.
  • pipelines_info - Obtenha informações detalhadas do pipeline.

Gerenciamento de Equipes e Espaços

  • list_teams - Liste as equipes às quais você pertence.
  • list_private_spaces - Liste os espaços disponíveis.

Gerenciamento de Banco de Dados PostgreSQL

  • pg_psql - Execute consultas SQL no banco de dados PostgreSQL do Heroku.
  • pg_info - Exiba informações detalhadas do banco de dados.
  • pg_ps - Visualize consultas ativas e detalhes de execução.
  • pg_locks - Visualize bloqueios de banco de dados e identifique transações bloqueadas.
  • pg_outliers - Identifique consultas que consomem muitos recursos.
  • pg_credentials - Gerencie credenciais e acesso ao banco de dados.
  • pg_kill - Encerre processos específicos do banco de dados.
  • pg_maintenance - Mostre informações de manutenção do banco de dados.
  • pg_backups - Gerencie backups e agendamentos do banco de dados.
  • pg_upgrade - Atualize o PostgreSQL para uma versão mais recente.

Depuração

Você pode usar o inspetor MCP ou a função Executar e Depurar do VS Code para executar e depurar o servidor.

  1. Vincule o projeto como um CLI global usando npm link a partir da raiz do projeto.
  2. Compile com npm run build:dev ou observe as alterações de arquivo e compile automaticamente com npm run build:watch.

Usar o Inspetor MCP

Use o inspetor MCP sem pontos de interrupção no código:

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

Alternativamente, se você instalou o pacote em um diretório específico ou está desenvolvendo ativamente no servidor Heroku MCP:

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

Usar a Função Executar e Depurar do VS Code

Use o iniciador Executar e Depurar do VS Code com pontos de interrupção totalmente funcionais no código:

  1. Localize e selecione a execução de depuração.
  2. Selecione a configuração rotulada como "MCP Server Launcher" no menu suspenso.
  3. Selecione o botão executar/depurar.

Configuração de Depuração no VS Code / Cursor

Para configurar a depuração local com pontos de interrupção:

  1. Armazene seu token de autenticação do Heroku nas configurações do usuário do VS Code:

    • Abra a Paleta de Comandos (Cmd/Ctrl + Shift + P).
    • Digite Preferences: Open User Settings (JSON).
    • Adicione o seguinte trecho:
    {
      "heroku.mcp.authToken": "your-token-here"
    }
    
  2. Crie ou atualize .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. Crie .vscode/tasks.json:

    {
      "version": "2.0.0",
      "tasks": [
        {
          "type": "npm",
          "script": "build:watch",
          "group": {
            "kind": "build",
            "isDefault": true
          },
          "problemMatcher": ["$tsc"]
        }
      ]
    }
    
  4. (Opcional) Defina pontos de interrupção em seus arquivos TypeScript.

  5. Pressione F5 ou use a barra lateral Run and Debug.

Nota: o depurador compila automaticamente seus arquivos TypeScript antes de iniciar.

Variáveis de Ambiente

O Heroku Platform MCP Server suporta as seguintes variáveis de ambiente:

HEROKU_API_KEY

Seu token de autorização do Heroku. Necessário para autenticação com a Heroku Platform.

MCP_SERVER_REQUEST_TIMEOUT

Tempo limite em milissegundos para execução de comandos. O padrão é 15000 (15 segundos) se não for definido.

Exemplo de configuração com tempo limite personalizado:

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