Skip to main content
Glama

☁️ MCP Heroku Server

npm version License: MIT MCP

A complete Heroku management server for the Model Context Protocol (MCP). Provides comprehensive Heroku app management through the Heroku Platform API for AI assistants like Claude.

✨ Features

  • 📋 App Management - List, view, and manage your Heroku applications

  • 🚀 Deployment History - View releases and deployment timeline

  • 📊 Dyno Operations - Scale, restart, and monitor dynos

  • 📝 Log Access - Stream and filter application logs

  • 🔧 Configuration - Manage environment variables (config vars)

  • 📦 Add-on Management - List and monitor add-ons (databases, caches, etc.)

  • 🔒 Secure - Uses your Heroku API key with proper authentication

📋 Prerequisites

  • Heroku CLI (optional, for generating API keys)

  • Node.js 16+ for running the MCP server

  • Heroku API Key - Get from Dashboard Account Settings

🚀 Quick Start

HEROKU_API_KEY=your-api-key npx @artik0din/mcp-heroku

Install globally

npm install -g @artik0din/mcp-heroku export HEROKU_API_KEY=your-api-key mcp-heroku

🔧 Environment Variables

Set your Heroku API key:

Option 1: Environment Variable

export HEROKU_API_KEY=your-heroku-api-key

Option 2: .env file

cp .env.example .env # Edit .env and add your HEROKU_API_KEY

Getting Your API Key

  1. Visit Heroku Dashboard Account Settings

  2. Scroll to "API Key" section

  3. Click "Reveal" to show your key

  4. Or use CLI: heroku auth:token

🔧 MCP Client Setup

Add this server to your MCP client configuration:

Claude Desktop Configuration

{ "mcpServers": { "heroku": { "command": "npx", "args": ["@artik0din/mcp-heroku"], "env": { "HEROKU_API_KEY": "your-heroku-api-key-here" } } } }

Other MCP Clients

{ "name": "heroku", "command": "npx", "args": ["@artik0din/mcp-heroku"], "env": { "HEROKU_API_KEY": "your-heroku-api-key-here" } }

📚 Available Tools

App Management

  • heroku_list_apps - List all your Heroku apps

    • team (string, optional) - Filter apps by team name

  • heroku_get_app - Get detailed app information

    • appName (string, required) - Name of the Heroku app

Deployment & Releases

  • heroku_list_releases - View deployment history

    • appName (string, required) - Name of the Heroku app

    • limit (number) - Max releases to return (default: 10)

Dyno Management

  • heroku_restart - Restart app dynos

    • appName (string, required) - Name of the Heroku app

    • dyno (string, optional) - Specific dyno (e.g., "web.1"), or omit for all

  • heroku_scale - Scale dynos up or down

    • appName (string, required) - Name of the Heroku app

    • dyno (string, required) - Dyno type (e.g., "web", "worker")

    • quantity (number, required) - Number of dynos to run

    • size (string, optional) - Dyno size (eco, basic, standard-1x, etc.)

Logs & Monitoring

  • heroku_get_logs - Retrieve application logs

    • appName (string, required) - Name of the Heroku app

    • lines (number) - Number of log lines (default: 100)

    • dyno (string, optional) - Filter by dyno (e.g., "web.1")

    • source (string, optional) - Filter by source ("app" or "heroku")

Add-ons

  • heroku_list_addons - List attached add-ons

    • appName (string, required) - Name of the Heroku app

Configuration

  • heroku_config_vars - Manage environment variables

    • appName (string, required) - Name of the Heroku app

    • set (boolean) - Set to true to modify (default: false, just lists)

    • key (string) - Config var key name

    • value (string) - Config var value (use with set=true)

💡 Usage Examples

List all apps

// Use the heroku_list_apps tool // Returns array of apps with basic info

Scale web dynos

// Use heroku_scale tool with: // appName: "my-app" // dyno: "web" // quantity: 2 // size: "standard-1x"

Get recent logs

// Use heroku_get_logs tool with: // appName: "my-app" // lines: 50 // source: "app"

Set environment variable

// Use heroku_config_vars tool with: // appName: "my-app" // set: true // key: "DATABASE_URL" // value: "postgres://..."

🔒 Security

This server uses the Heroku Platform API securely:

  • API key is read from environment variables only

  • No credential storage or caching

  • All requests use HTTPS

  • Sensitive config vars are masked in responses

  • Uses official Heroku API endpoints

🛠️ Development

# Clone the repository git clone https://github.com/artik0din/mcp-heroku.git cd mcp-heroku # Install dependencies npm install # Set environment variable export HEROKU_API_KEY=your-key # Build and run npm run build npm start # Development mode npm run dev

📝 License

MIT License - see LICENSE file for details.

🤝 Contributing

Contributions welcome! Please feel free to submit a Pull Request.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/globodai-group/mcp-heroku'

If you have feedback or need assistance with the MCP directory API, please join our Discord server