npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

staticx-mcp-server

v1.0.4

Published

Official API-token-first MCP server for deploying and operating StaticX static sites.

Readme

StaticX MCP Server

npm license

Official Model Context Protocol server for StaticX, the deployment infrastructure for static websites.

Give Claude Code, Cursor, Codex, Cline, Windsurf, Claude Desktop, Zed, Continue, or another MCP client a scoped StaticX API token. The agent can then create sites, upload files, publish immutable releases, inspect logs, start manual custom domain setup, and roll back with explicit confirmation.

StaticX intentionally uses scoped API tokens instead of OAuth because it is designed for developers, CI/CD, automation tools, and AI agents.

Install

The package runs directly through npx; a global install is not required.

{
  "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"
      }
    }
  }
}

Create the narrowest token that fits the job. A short-lived, site-scoped token is the safest default for one-site deployments.

Full client-specific snippets are available in the StaticX MCP documentation.

Claude Code

claude mcp add staticx --scope user \
  --env STATICX_API_TOKEN=sx_replace_with_your_token \
  --env STATICX_API_BASE_URL=https://staticx.site/api/v1 \
  -- npx -y staticx-mcp-server

Codex

codex mcp add staticx \
  --env STATICX_API_TOKEN=sx_replace_with_your_token \
  --env STATICX_API_BASE_URL=https://staticx.site/api/v1 \
  -- npx -y staticx-mcp-server

Local HTTP debugging

STATICX_API_TOKEN=sx_replace_with_your_token npx staticx-mcp-server http

Then connect a Streamable HTTP client or the MCP Inspector to:

http://localhost:3100/mcp

HTTP mode listens on 127.0.0.1 by default. Do not expose it publicly without a secure reverse proxy and a deliberate authentication policy.

Environment variables

| Variable | Required | Purpose | | --- | --- | --- | | STATICX_API_TOKEN | Yes | Scoped StaticX API token. | | STATICX_API_BASE_URL | No | Defaults to https://staticx.site/api/v1. | | STATICX_PROJECT_ID | No | Default site ID for site-specific tools. | | STATICX_TIMEOUT_MS | No | API request timeout in milliseconds. | | STATICX_MCP_PORT | No | Local HTTP port, default 3100. | | STATICX_MCP_HOST | No | Local HTTP bind host, default 127.0.0.1. |

Never paste a real token into documentation, source control, screenshots, prompts, or issue reports.

Plan limits

MCP tools use the public StaticX API and cannot bypass account capacity.

| 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 tool returns PLAN_QUOTA_EXCEEDED, stop and return the exact message to the user. Do not retry blindly, change endpoints, or bypass StaticX Forms.

Tools

| Tool | Purpose | | --- | --- | | staticx_config | Show configuration state without exposing secrets. | | staticx_auth_check | Validate the configured token. | | staticx_list_workspaces | List accessible workspaces. | | staticx_create_workspace | Create a workspace. | | staticx_list_projects | List accessible sites. | | staticx_get_project | Read one site. | | staticx_create_project | Create a site. | | staticx_upload_zip | Upload a static build ZIP. | | staticx_import_url | Import a public website URL. | | staticx_deploy_project | Publish the current workspace. | | staticx_deploy_zip | Upload and deploy a ZIP end to end. | | staticx_list_deployments | List immutable releases. | | staticx_rollback_deployment | Roll back with exact confirmation text. | | staticx_delete_deployment | Delete an inactive release with exact confirmation text. | | staticx_get_logs | Read recent site activity. | | staticx_connect_custom_domain | Start manual one-record custom domain setup. | | staticx_get_custom_domain_status | Read domain activation status. | | staticx_set_environment_variables | Sync site environment variables. | | staticx_agent_guide | Return the built-in safe deployment guide. |

Safety contract

  • Tokens are never returned by a tool.
  • Write tools explain their effect in their descriptions.
  • Rollback requires ROLLBACK <deployment_id>.
  • Deployment deletion requires DELETE <deployment_id>.
  • The server only calls the public StaticX /api/v1 contract.
  • Use a site-scoped token for one-site agents and revoke it when the task is complete.
  • Plan limits are enforced by the API and hosted forms runtime. Tools must stop on PLAN_QUOTA_EXCEEDED.
  • DNS Connect requires browser approval in the StaticX dashboard. MCP tools should return manual DNS records or tell the user to approve DNS Connect; they must not claim to authorize an external DNS provider silently.
  • Generated subdomain suffix changes are dashboard-only. If an account has an active publishing domain, use Site → Settings → Domain to save a generated address on that suffix.

Recommended agent prompt

Use StaticX MCP to deploy this static website.

Before deploying:
- build the project
- verify index.html and 404.html exist at the build root
- explain what you will publish

After deploying:
- return the live URL and release
- inspect logs if anything fails
- stop on PLAN_QUOTA_EXCEEDED and show the exact quota message
- if the user asks to move a generated subdomain to a publishing domain, direct them to Site Settings → Domain
- do not roll back or delete anything without asking me first

Development

git clone https://github.com/madprodworks-coder/staticx-mcp-server.git
cd staticx-mcp-server
npm install
npm test

The MCP package must continue to use the public StaticX API. It must not import Laravel controllers, services, or internal engine classes.

Security

Please report vulnerabilities privately as described in SECURITY.md. Do not open a public issue containing tokens, private URLs, or customer data.

License

MIT