The Heroku Platform MCP Server is a specialized implementation of the Model Context Protocol that enables large language models to interact with Heroku Platform resources. It provides tools for managing apps, dynos, add-ons, and other Heroku resources through natural language commands.
Before using the MCP server, you need to generate a Heroku authorization token:
heroku authorizations:create
Alternatively, you can use an existing token:
heroku auth:token
You can also create a token through the Heroku Dashboard by going to Account Settings > Applications > Create authorization.
The simplest way to deploy the server is using the Heroku Deploy button available at https://www.herokucdn.com/deploy/button.svg, which will deploy directly from the template at https://github.com/heroku/heroku-mcp-server.
Add this to your claude_desktop_config.json
:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Add this to your Zed settings.json
:
{
"context_servers": {
"heroku": {
"command": {
"path": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
}
Add either of these options to your Cursor mcp.json
:
Simple form:
{
"mcpServers": {
"heroku": {
"command": "npx -y @heroku/mcp-server",
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Explicit form:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Add this to your Windsurf mcp_config.json
:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Add this to your Cline config.json
:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Add this to your VSCode settings.json
or .vscode/mcp.json
:
{
"mcp": {
"servers": {
"heroku": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
}
Add this to your Trae mcp_settings.json
:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
To install via Smithery:
npx -y @smithery/cli install @heroku/heroku-mcp-server --client claude
list_apps
- List all Heroku apps with filtering optionsget_app_info
- Get detailed information about an appcreate_app
- Create a new app with customizable settingsrename_app
- Rename an existing apptransfer_app
- Transfer ownership of an appdeploy_to_heroku
- Deploy projects to Herokudeploy_one_off_dyno
- Execute code in a sandboxed environmentps_list
- List all dynos for an appps_scale
- Scale dynos up or downps_restart
- Restart dynoslist_addons
- List all add-onsget_addon_info
- Get add-on detailscreate_addon
- Provision a new add-onmaintenance_on
- Enable maintenance modemaintenance_off
- Disable maintenance modeget_app_logs
- View application logspipelines_create
- Create a new pipelinepipelines_promote
- Promote apps to next stagepipelines_list
- List available pipelinespipelines_info
- Get pipeline detailslist_teams
- List your teamslist_private_spaces
- List available spacespg_psql
- Execute SQL queriespg_info
- Display database informationpg_ps
- View active queriespg_locks
- View database lockspg_outliers
- Identify resource-intensive queriespg_credentials
- Manage database credentialspg_kill
- Terminate database processespg_maintenance
- Show maintenance informationpg_backups
- Manage database backupspg_upgrade
- Upgrade PostgreSQLThe server supports these environment variables:
HEROKU_API_KEY
: Your Heroku authorization token (required)MCP_SERVER_REQUEST_TIMEOUT
: Timeout for command execution in milliseconds (default: 15000)Example with custom timeout:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>",
"MCP_SERVER_REQUEST_TIMEOUT": "30000"
}
}
}
}
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.