☁️ 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-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
- Visit Heroku Dashboard Account Settings
- 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 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.