Staticbot

by bitfiction

522 downloads
Not rated
GitHub

About

Staticbot is an MCP server for the Staticbot platform that lets AI agents (Claude Code, Cursor, any MCP-compatible runtime) orchestrate deployment workflows via the Staticbot API. Staticbot itself is a managed operations platform for complex, long-running deployment workflows—it…

Details

Author
bitfiction
Downloads
522
Categories
Other, Infrastructure, Database

- Deploy static sites and web apps to AWS via S3 + CloudFront
- Orchestrate full Supabase project migrations to own AWS infrastructure
- Manage multi‑stage deployments (dev, preview, production)
- Provide tools for listing, getting, confirming, and resuming migrations
- Create infrastructure stacks from templates with custom domains
- Return immediate status URLs for human oversight and agent polling

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Staticbot
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Prerequisites: a Staticbot account, an API key (generated at Settings → API Keys in the Staticbot UI), and Node.js 18+. Add the server to your MCP client configuration (e.g., .mcp.json) with command npx -y staticbot-mcp and environment variable STATICBOT_API_KEY. Optionally set STATICBOT_API_URL to override the default http://localhost:9000.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "staticbot": {
            "staticbot": {
                "command": "npx",
                "args": [
                    "-y",
                    "staticbot-mcp"
                ],
                "env": {
                    "STATICBOT_API_KEY": "sk-your-api-key-here"
                }
            }
        }
    }
}

McpServers

{
    "staticbot": {
        "command": "npx",
        "args": [
            "-y",
            "staticbot-mcp"
        ],
        "env": {
            "STATICBOT_API_KEY": "sk-your-api-key-here"
        }
    }
}

staticbot-mcp

MCP server for Staticbot — lets AI agents (Claude Code, Cursor, and any MCP-compatible runtime) orchestrate deployment workflows via the Staticbot API.

What Staticbot does

Staticbot is a managed operations platform for complex, long-running deployment workflows. It hosts static websites and web apps inside your own AWS account using S3 and CloudFront — no vendor lock-in, no PaaS markup, full ownership of the infrastructure.

Core workflows:

- Deploy to AWS — Static websites and web apps to S3 + CloudFront CDN, with custom domains and automatic SSL via ACM
- Supabase migration — Orchestrates moving a full Supabase project (database, edge functions, storage, auth) to your own AWS infrastructure
- Multi-stage deployments — Dev, preview, and production stages per website with independent lifecycle management

Staticbot owns the things agents handle poorly: state that persists 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.

Prerequisites

- A Staticbot account
- An API key — generate one at Settings → API Keys in the Staticbot UI
- Node.js 18+

Setup

Claude Code

Add to your project's .mcp.json or global MCP config:

{
  "mcpServers": {
    "staticbot": {
      "command": "npx",
      "args": ["-y", "staticbot-mcp"],
      "env": {
        "STATICBOT_API_KEY": "sk-your-api-key-here"
      }
    }
  }
}

Cursor / other MCP clients

Point your MCP client at:

command: npx -y staticbot-mcp
env: STATICBOT_API_KEY=sk-your-api-key-here

Environment variables

| Variable | Required | Default | Description |
|---|---|---|---|
| STATICBOT_API_KEY | Yes | — | API key from Staticbot Settings → API Keys |
| STATICBOT_API_URL | No | http://localhost:9000 | Override for self-hosted instances |

Available tools

Migrations

| Tool | Description |
|---|---|
| list_migrations | List all migrations; optionally filter by status |
| get_migration | Get current status and phase breakdown of a migration |
| confirm_migration | Approve a migration paused for review after discovery |
| resume_migration | Resume a migration that was paused by the user or awaiting action |
| get_migration_deployments | List the AWS deployments associated with a migration |

Migration statuses: PENDINGIN_PROGRESSPAUSED_FOR_APPROVALIN_PROGRESSCOMPLETED (or COMPLETED_WITH_ERRORS / FAILED). Migrations may also pause at PAUSED_FOR_USER_ACTION when a human step is required (e.g. DNS record setup).

Deployments

| Tool | Description |
|---|---|
| get_deployment | Get deployment status; when status is WAITING, includes required DNS records to configure |

Stacks

| Tool | Description |
|---|---|
| create_stack | Create an infrastructure stack from a template; supports auto-generated, custom, or existing domains |

How agent-assisted deployment works

Tools return immediately with an ID and a statusUrl — a deep link into the Staticbot UI. The agent gives this to the human, then polls or waits.

Human: "Deploy my site to AWS on example.com"

Agent:
1. Calls create_stack(...) → gets stack_id + status_url
2. Tells human: "Deployment started. Track progress here: [status_url]"
3. Polls get_deployment() until status changes
4. When status = WAITING:
Tells human: "DNS setup required. Add these records to your domain
registrar, then come back and confirm. Details: [status_url]"
5. Human configures DNS, confirms in Staticbot UI
6. Agent resumes polling
7. When status = COMPLETED:
Tells human the live URL

For migrations:

Human: "Migrate my Lovable project to my own AWS"

Agent:
1. Calls list_migrations() to check for existing work
2. Starts migration → gets migration_id + status_url
3. Shares status_url with human immediately
4. When status = PAUSED_FOR_APPROVAL:
"Discovery complete — Staticbot found 3 tables, 2 edge functions,
1 storage bucket. Review the plan and approve at [status_url]"
5. Human reviews and approves in the Staticbot UI
6. Agent calls confirm_migration() or human approves in UI
7. Polls to completion, reports live URL

The agent handles orchestration. Staticbot handles execution, state, credentials, and oversight. The human has a live view throughout.

What Staticbot is not

- Not a CI/CD platform — it doesn't replace GitHub Actions or deployment pipelines
- Not a no-code builder — it deploys applications, it doesn't create them
- Not a generic infrastructure tool — use Terraform or Pulumi for arbitrary infra; Staticbot is for proven, opinionated playbooks

License

MIT

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.