staticx
v0.1.8
Published
Public CLI for STATICX using token-authenticated /api/v1 routes.
Downloads
1,186
Maintainers
Readme
STATICX CLI
staticx is the public CLI for STATICX. It uses the same token-authenticated /api/v1 contract as the dashboard, the agent instructions, and the MCP server.
Install
npm install -g staticxLogin
staticx login --base-url "https://staticx.site/api/v1" --token "STATICX_API_TOKEN"
staticx whoami
staticx guide
staticx mcpstaticx login stores the credentials locally, verifies them with GET /user, and prints the active user, token scope, access level, expiry, and next safe commands.
Use staticx guide or staticx commands when you want the full command map from the terminal.
Use staticx mcp when you want copy-safe MCP snippets for Claude, Cursor, Codex, Cline, Windsurf, Zed, and generic clients.
Core commands
staticx guide
staticx workspaces
staticx sites --workspace-id WORKSPACE_ID
staticx create --workspace-id WORKSPACE_ID --name "Marketing Site"
staticx create --name "Imported Site" --archive site.zip
staticx create --name "Imported Site" --source-url "https://example.com"
staticx deploy --site-id SITE_ID --dir dist
staticx domain --site-id SITE_ID --domain app.example.com
staticx domain-status --site-id SITE_ID
staticx logs --site-id SITE_ID
staticx mcpCustom domains
Use the CLI when you want to start custom domain setup without opening the dashboard.
staticx domain --site-id SITE_ID --domain app.example.comThe command starts the manual DNS flow and prints the single DNS record to create. After the DNS record is added, StaticX detects it and activates SSL automatically.
If you want StaticX to create the DNS record inside an external DNS account, approve DNS Connect from the dashboard. The CLI cannot authorize an external provider silently because the domain owner must approve access in a browser.
Generated subdomain suffixes are configured from the dashboard. If an account has an active publishing domain, open Site → Settings → Domain to save a free subdomain on either the StaticX default domain or that publishing domain. The CLI custom-domain command is for exact hosts such as app.example.com.
Check progress any time:
staticx domain-status --site-id SITE_IDMachine-readable sources
Use these when you want the same contract that the dashboard, CLI, and agents share:
- https://staticx.site/llms.txt
- https://staticx.site/llms-full.txt
- https://staticx.site/api/v1/openapi.json
Plan limits
StaticX enforces the same limits through the dashboard, API, CLI, MCP, URL imports, and hosted forms runtime.
| Plan | Sites | Storage | Max upload | Form entries | Team seats | Rollback history | | --- | ---: | ---: | ---: | ---: | ---: | ---: | | Free | 1 | 500 MB | 500 MB | 1,000 | 1 | Last 5 versions | | Plus | 15 | 10 GB | 50 GB | 20,000 | 5 | Last 10 versions | | Pro | 100 | 20 GB | 50 GB | 100,000 | 10 | Last 50 versions | | Agency | Custom | Custom | 50 GB | Custom | Custom | Custom |
If a command receives PLAN_QUOTA_EXCEEDED, stop and return the exact message. Clean up files/form entries or upgrade before retrying.
Token scopes
- Global token: account-wide access for internal operator tools.
- Site token: one-site deploys, logs, and release verification.
- Workspace token: several sites inside one workspace.
Generate those tokens from:
Settings → API tokensfor GlobalProject Settings → Agent deployfor SiteWorkspace → Agent deployfor Workspace
MCP for AI agents
StaticX MCP uses the separate public package staticx-mcp-server and the same scoped API tokens as the CLI.
{
"mcpServers": {
"staticx": {
"command": "npx",
"args": ["-y", "staticx-mcp-server"],
"env": {
"STATICX_API_TOKEN": "sx_replace_with_your_token",
"STATICX_API_BASE_URL": "https://staticx.site/api/v1"
}
}
}
}For local HTTP debugging:
STATICX_API_TOKEN=sx_replace_with_your_token npx staticx-mcp-server httpNotes
staticx loginstores the base URL and bearer token locally.staticx whoamiverifies the token withGET /user.staticx deployzips the contents of the given build directory, uploads them, and publishes a new release. The directory must containindex.htmlorindex.htmplus404.htmlat its root.staticx domaincallsPOST /projects/{project}/domainand returns the manual DNS record plus activation status.- Golden deploy prompt: “Deploy
distto StaticX projectSITE_IDusingSTATICX_API_TOKEN. Build, validateindex.html+404.html, apply StaticX form rules if forms exist, zipdistroot, upload, deploy, check logs, then return the live URL or the exact API error. If you receivePLAN_QUOTA_EXCEEDED, stop and return the exact quota message. Never expose the token.”
