Heroku Code MCP
io.github.dsouzaAnushPublished by GitHub account dsouzaAnushv0.1.0Updated Oct 24, 2026
Search and execute Heroku Platform API operations
Overview
Compact MCP server that lets an assistant search and execute Heroku Platform API operations through three tools: auth_status, search and execute.
- What you can do
- Check whether the caller is authenticated with Heroku before doing API work
- Search and rank Heroku operations from schema and documentation context using natural-language intent
- Execute a chosen operation with path parameters, query parameters and a request body
- Dry-run write operations and replay them with a confirmation token when writes are enabled
- When to use it
- Useful when an assistant should manage Heroku apps and platform resources through live API calls while keeping the tool list small and token-efficient. It suits users who already work with the Heroku CLI and want agent-driven reads, with optional guarded writes.
- Requirements
- Runs locally as a Node.js process built from the repository (npm install, build, start) and serves a local HTTP MCP endpoint, or can be started via npx from GitHub. Needs a Heroku account token, seeded from the Heroku CLI or via OAuth, plus TOKEN_STORE_PATH and TOKEN_ENCRYPTION_KEY_BASE64; clients connect with an x-user-id header. Writes additionally need ALLOW_WRITES and WRITE_CONFIRMATION_SECRET.
Installation
In SourceWeft
- Open Heroku Code MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Heroku Code MCP
A compact MCP server for the Heroku Platform API using a Code Mode pattern:
search+execute+auth_status.
Heroku Code MCP gives agent clients a small, token-efficient control surface for Heroku operations. Pair it with Heroku Skills when you want workflow guidance, safety checks, and Heroku product context alongside live API tools.
Design references:
Quick Start
Default MCP URL: http://127.0.0.1:3000/mcp
Seed auth from the Heroku CLI:
Start the server:
Smoke test:
Before npm publication, the package can also run from GitHub:
Install in Agent Clients
[Claude Code] Claude Code
Install the companion plugin for skills plus MCP wiring:
Or add the running MCP server directly:
[Claude Desktop] Claude Desktop
Use the HTTP endpoint directly when supported:
For Desktop builds that expect stdio servers, bridge through mcp-remote:
Build a .mcpb bundle with:
[OpenAI Codex] Codex
Codex uses Heroku Plugin for skills and optional MCP wiring:
Enable heroku-plugin@heroku-plugin in the Codex Plugins tab, or add:
Run this MCP server on http://127.0.0.1:3333/mcp when you want live Heroku API tools through the plugin.
[Cursor] Cursor
Add the MCP server to ~/.cursor/mcp.json or project-local .cursor/mcp.json:
Other MCP Clients
Use streamable HTTP:
Or bridge to stdio:
How It Works
Typical flow:
- Call
auth_status. - Call
searchwith natural language intent. - Choose one
operation_id. - Call
executewithpath_params,query_params, andbody. - For writes, run
dry_run=true, then replay withconfirm_write_tokenandALLOW_WRITES=true.
Examples:
Safety and Configuration
Mutations (POST, PATCH, PUT, DELETE) are blocked by default. To allow a write, set ALLOW_WRITES=true, request a dry run, and replay with the returned confirm_write_token. Sensitive headers and body fields are redacted.
Key env vars:
ALLOW_WRITESREQUEST_TIMEOUT_MSMAX_RETRIESCATALOG_CACHE_PATHREAD_CACHE_TTL_MSEXECUTE_MAX_BODY_BYTESEXECUTE_BODY_PREVIEW_CHARS
Full example: .env.example
Benchmarks
Benchmarks were captured on February 22, 2026 on the same machine and account for both implementations.
Charts:
Full methodology and artifacts live in BENCHMARKS.md and benchmarks/results/.
Development and Release
Validate locally:
This repo uses free GitHub Actions:
validate.ymlruns build, tests,server.jsonvalidation, and npm pack dry-run on PRs and pushes tomain.release.ymlruns onv*tags, builds the.mcpb, updates releaseserver.json, creates or updates the GitHub Release, and publishes to the MCP Registry through GitHub OIDC.- Dependabot checks npm and GitHub Actions dependencies weekly.
Publish manually when needed:
For CI-based npm publishing, configure npm trusted publishing for repo dsouzaAnush/heroku-code-mcp and workflow release.yml, then run the release workflow with publish_npm=true.
Repository Layout
src/schema/*: ingestion, operation normalization, and cachesrc/search/*: search index and rankingsrc/execute/*: validation and Heroku API executionsrc/auth/*: OAuth and encrypted token storagetests/*: catalog, search, and execute testsbenchmarks/results/*: benchmark artifactsserver.json: MCP Registry metadata
Brand and Troubleshooting
This repo includes the official Heroku wordmark and mark under assets. Use them according to the Heroku Brand Guidelines.
Common fixes:
- MCP Inspector connection error: confirm URL
http://127.0.0.1:3000/mcpand server health. AUTH_REQUIRED: seed a token or complete OAuth.- Write blocked: confirm
ALLOW_WRITES=trueand send the dry-run confirmation token. - Large response body: narrow query scope or lower output caps.
Source: README.md at commit 79ff865
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts