$ ./products --highlight=staticbot
Built by us.
Run in your AWS. Driven by your agent.

Staticbot
A managed operations platform for complex, long-running deployment workflows. Staticbot deploys static sites and web apps to S3 + CloudFront in your own AWS account — no vendor lock-in, no PaaS markup — and orchestrates full Supabase and Firebase migrations to self-hosted infrastructure.
It owns the things agents handle poorly: state across sessions, credentials that should never appear in a context window, approval gates before destructive operations, and accumulated operational knowledge from real-world failure modes.
> Deploy my Vite app to AWS on example.com
• list_templates() → tpl_vite_spa
• create_stack(tpl, "example.com")
→ stk_3c1d
• create_deployment(stk_3c1d) → dep_91f0
• start_deployment(dep_91f0)
• get_deployment(dep_91f0) → WAITING
Add these DNS records to continue:
example.com A ALIAS d1abc.cloudfront.net
_acm.example.com CNAME …
[status: https://app.staticbot.dev/d/dep_91f0]
// mcp tools
What an agent can do
Staticbot ships as an MCP server. Any MCP-compatible runtime — Claude Code, Cursor, your own AI SDK app — can drive these workflows end-to-end.
create_template(repoUrl)Scans a GitHub repo, auto-detects platform, env vars, and builders, and produces a versioned infrastructure template pinned to a commit SHA.
create_stack + start_deploymentProvisions S3 + CloudFront + ACM in your own AWS account. Returns DNS records when WAITING, polls to COMPLETED.
create_migration(sourceType, targetType)8-phase Lovable/Bolt/Supabase pipeline or 5-phase Firebase pipeline. Targets managed Supabase Cloud or an AES-256 encrypted self-hosted package.
confirm_migration / confirm_sync_runDiscovery and destructive SQL pause for human approval. Best-effort jobs report results but never silently block the pipeline.
trigger_sync + get_sync_runContinuous sync with a granular diffInventory — new_migrations, changed_functions, frontend_changed, storage_changed, auth_changed.
download_packagePresigned URL + AES-256 password for the self-hosted delivery zip — apply to your own Supabase by following the bundled CLAUDE.md.
// safety
Approval gates, by design
- PAUSED_FOR_APPROVAL
Migrations pause after Discovery — the agent must present the inventory and get explicit user consent.
- PAUSED_FOR_REVIEW
Destructive SQL in a sync run (DROP TABLE, ALTER COLUMN) is detected and held for review.
- choice gates
Data import method, backend switchover, and frontend deploy all require a user decision — the tool descriptions enforce it.
- repoVersion pinning
Templates pin to commit SHAs. Every sync tracks fromRepoVersion → toCommitSha for reproducible diffs.
// integrations
Speaks your stack
Wire your agent into real infrastructure.
Generate an API key in Staticbot, drop the MCP config into Claude Code or Cursor, and your agent can deploy and migrate against your own AWS — with humans in the loop where it matters.