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
O Heroku Platform MCP Server funciona em Common Runtime, Cedar Private e Shield Spaces, e Fir Private Spaces.
Pré-requisitos
- Heroku CLI deve estar instalado globalmente no seu sistema, versão 10.8.1 ou superior.
Implantar no Heroku
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 ambienteHEROKU_API_KEY. Recomendamos que você useheroku 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:tokenCopie o token e use-o como seu
HEROKU_API_KEYnas etapas a seguir. -
No seu Heroku Dashboard:
- Selecione seu avatar e depois selecione Configurações da conta.
- Abra a guia Aplicativos.
- 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 ambienteHEROKU_API_KEYcom 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çãoapp.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.
- Vincule o projeto como um CLI global usando
npm linka partir da raiz do projeto. - Compile com
npm run build:devou observe as alterações de arquivo e compile automaticamente comnpm 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:
- Localize e selecione a execução de depuração.
- Selecione a configuração rotulada como "
MCP Server Launcher" no menu suspenso. - 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:
-
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" } -
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"] } ] } -
Crie
.vscode/tasks.json:{ "version": "2.0.0", "tasks": [ { "type": "npm", "script": "build:watch", "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$tsc"] } ] } -
(Opcional) Defina pontos de interrupção em seus arquivos TypeScript.
-
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"
}
}
}
}