Heroku MCP server has 36 tools with significant quality gaps. Most tools lack detailed input schemas and parameter descriptions. Tool names follow verb_noun convention (list_apps, create_app, pg_psql) but many descriptions are minimal (7-15 chars: 'List addons', 'List teams', 'PostgreSQL psql'). Only 8 of 36 tools have descriptions exceeding 50 characters. Input schemas visible for ~12 tools (apps.ts, maintenance.ts) but most lack explicit parameter type definitions or descriptions. No output schemas documented. Error handling is basic, no recovery guidance or error classification. Security concerns: pg_credentials and pg_kill expose sensitive operations without permission gates or confirmation patterns.
Create addon
Create app: custom name, region (US/EU), team, private space
Deploy one-off dyno
Deploy to Heroku
Get addon info
Get app details: config, dynos, addons, access, domains
Get app logs
List addon plans
28 of 36 tools have minimal descriptions (<20 chars: 'List addons', 'PostgreSQL psql', 'List teams'). LLMs cannot determine when to select these tools.
No input schemas visible for 24 tools (pg_*, ps_*, pipelines_*, logs, spaces, teams, addons, ai, deploy). LLMs cannot validate parameters or understand what inputs are required.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
List addon services
List addons
List available AI models
List Heroku apps: owned, collaborator access, team/space filtering
List private spaces
List teams
Disable maintenance mode and restore normal app operations
Enable maintenance mode and redirect traffic for a Heroku app
Make AI inference
PostgreSQL backups
PostgreSQL credentials
PostgreSQL info
PostgreSQL kill
PostgreSQL locks
PostgreSQL maintenance
PostgreSQL outliers
PostgreSQL processes
PostgreSQL psql
PostgreSQL upgrade
Create pipeline
Get pipeline info
List pipelines
Promote pipeline
Provision AI model
List processes
Restart processes
Scale processes
Rename app: validate and update app name
No output schemas documented for any tool. LLMs cannot plan downstream tool calls or extract required fields (e.g., app_id, addon_id). Violates pattern:tool and mxe:include-chaining-ids.
Destructive tools (pg_kill, pg_upgrade, deploy_to_heroku, ps_restart, maintenance_on) lack confirmation patterns or dry-run support. No error recovery guidance. Agents can cause irreversible damage without safeguards.
Sensitive tools (pg_credentials, pg_psql, pg_kill) expose database access without permission gates or audit trails. No scope declarations (read:db, write:db, admin:db). Violates pattern:permission-gate and pattern:scope-declaration.