Contract-first REST for builders and agents. Same control plane as Fat Heron products — documented here for the developer surface.
Fat Heron is an MCP-first control plane for AI-supported developers. The official server (com.fatheron/fat-heron, npm @fat-heron/mcp) maps tools to the live /v1 API. Auth with an account API key — never put secrets in chat logs. New here? Start at Get started.
Env on every install: FH_API_KEY (required), optional FH_API_URL (default https://api.fatheron.dev).
Create a key at app.fatheron.dev/keys (builders) or app.fatheron.com/developers (portal / domainers). Use fh_test_ for sandbox rehearsal.
Largest installed base — preferred default. Full walkthrough + verify checklist: /docs/agents/vscode.
.vscode/mcp.json.example → .vscode/mcp.json (root key servers; use inputs for the API key).MCP: List Servers → start fat-heron.sandbox_status, then create a sandbox project.Workspace (recommended)
{
"inputs": [
{
"type": "promptString",
"id": "fh-api-key",
"description": "Fat Heron API key (fh_test_… or fh_live_…)",
"password": true
}
],
"servers": {
"fat-heron": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/packages/mcp/dist/stdio.js"],
"env": {
"FH_API_KEY": "${input:fh-api-key}",
"FH_API_URL": "https://api.fatheron.dev"
}
}
}
}Build once: npm run build -w @fat-heron/mcp. On the app VM: /opt/fatheron/packages/mcp/dist/stdio.js.
claude_desktop_config.json..mcp.json (or user MCP config).sandbox_status.{
"mcpServers": {
"fat-heron": {
"command": "node",
"args": ["/absolute/path/to/packages/mcp/dist/stdio.js"],
"env": {
"FH_API_KEY": "fh_live_…",
"FH_API_URL": "https://api.fatheron.dev"
}
}
}
}.cursor/mcp.json or user ~/.cursor/mcp.json.fat-heron.{
"mcpServers": {
"fat-heron": {
"command": "node",
"args": ["/absolute/path/to/packages/mcp/dist/stdio.js"],
"env": {
"FH_API_KEY": "fh_live_…",
"FH_API_URL": "https://api.fatheron.dev"
}
}
}
}VM path example: /opt/fatheron/packages/mcp/dist/stdio.js.
get_developer_entitlement — package limits, usage, overage estimate, and resetlist_managed_tenants / create_managed_tenant / revoke_managed_tenantlist_projects / create_projectlist_api_keys / create_api_keylist_aliases / check_alias / claim_aliasstart_dns_delegation / verify_dns_ns / get_dnsget_billinglist_webhooks / create_webhooksandbox_status / sandbox_simulate / sandbox_planTenant-aware tools accept target_account_id. The key must also have an explicit binding to that managed customer tenant; action scopes alone never grant tenant access. Omitting the target uses the key owner's account.
Streamable HTTP for hosts that prefer HTTP over stdio: PORT=3104 node packages/mcp/dist/http.js. The /mcp endpoint accepts an API key or OAuth access token and publishes protected-resource metadata at /.well-known/oauth-protected-resource. Hosted remote URL comes next.
Canonical MCP Registry name: com.fatheron/fat-heron. Agents and directories can read the server manifest, llms.txt, and the OpenAPI document.
Hosting, web application protection, and log-stream tools are not advertised until their control-plane APIs are operational.