Provides comprehensive application management through the Heroku Platform API, including tools for managing dynos (scaling and restarting), viewing deployment history and releases, accessing logs, and managing configuration variables and add-ons.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Heroku Servershow me the last 50 log lines for my-web-app"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
☁️ MCP Heroku Server
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
Using with npx (recommended)
HEROKU_API_KEY=your-api-key npx @artik0din/mcp-herokuInstall 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-keyOption 2: .env file
cp .env.example .env
# Edit .env and add your HEROKU_API_KEYGetting Your API Key
Scroll to "API Key" section
Click "Reveal" to show your key
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 applimit(number) - Max releases to return (default: 10)
Dyno Management
heroku_restart - Restart app dynos
appName(string, required) - Name of the Heroku appdyno(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 appdyno(string, required) - Dyno type (e.g., "web", "worker")quantity(number, required) - Number of dynos to runsize(string, optional) - Dyno size (eco, basic, standard-1x, etc.)
Logs & Monitoring
heroku_get_logs - Retrieve application logs
appName(string, required) - Name of the Heroku applines(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 appset(boolean) - Set to true to modify (default: false, just lists)key(string) - Config var key namevalue(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 infoScale 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.