demo.st

st.demoPublished by demo.stOfficial publisherv1.1.0Updated Oct 25, 2026

Reserve a subdomain, upload .zip via MCP, get a link. Optional document API at api.demo.st.

VerifiedStreamable HTTPWeb executableCloud & InfrastructureFiles & Storage

Overview

AI-generated overview

A remote MCP server for demo.st that lets an assistant reserve a subdomain, publish a zipped static site, and manage a small document store for it.

What you can do
Check subdomain availability and reserve one subdomain per account, then release it when done (release also deletes the site and its document data). Upload a .zip as site content via base64, a public URL, or a local path, and clear deployed content while keeping the reservation. Get or rotate the public site API key used to call the site's document API. List, create and delete document collections, and list, upsert and delete JSON records in them.
When to use it
Useful when you want an agent to publish a quick static prototype or demo to a clean public link without setting up hosting yourself, and to keep a small JSON document store behind it.
Requirements
Remote endpoint at demo.st over streamable HTTP. A demo.st account and a Bearer token in the Authorization header, obtained by signing in and copying it from the MCP page or token endpoint; the README suggests storing it in a DEMO_ST_MCP_TOKEN environment variable. Network access is required.
Before you install
The Authorization bearer token grants access to your account's hosting and document tools, so keep it private. Release deletes the reservation, the deployed site and all document data for that site, and deleting a collection removes all its records; these are irreversible. The site API key is public and embedded in the static site, so rotate it if exposed and never use another site's key.

Installation

In SourceWeft

  1. Open demo.st in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/st.demo%2Fdemost/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "demo-st": {
      "type": "http",
      "url": "https://demo.st/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

demo.st

Demo stage for vibe-coded prototypes. Reserve a subdomain, publish from your agent via MCP, get a clean link like yourproject.demo.st. Static hosting only (Nginx; no PHP, no databases).

Cursor plugin

This repo is a Cursor plugin. Install it from the Cursor Marketplace (after it’s published) or add the repo in Cursor to use the demo.st MCP server.

Getting your MCP token

Authenticated tools (reserve subdomain, upload zip, clear, release) require a Bearer token:

  1. Sign in at https://demo.st (create an account if needed).
  2. Open https://demo.st/api/mcp/token or the MCP page and copy the token.
  3. Set it as an environment variable:
    • Windows (PowerShell): $env:DEMO_ST_MCP_TOKEN = "your-token-here"
    • macOS / Linux: export DEMO_ST_MCP_TOKEN="your-token-here"
    • Or add to your shell profile (.bashrc, .zshrc) so Cursor picks it up.
  4. Restart Cursor (or reload the window). The Agent can then use demo.st tools.

MCP tools

  • check_subdomain_availability — Check if a subdomain is available (no token).
  • reserve_subdomain — Reserve a subdomain (token required).
  • upload_site — Upload a .zip as site content; use zip_base64 (easiest for agents) or file_url for a public zip URL (token required).
  • clear_site — Remove deployed content; subdomain stays reserved (token required).
  • release_subdomain — Release your subdomain (token required).

License

See LICENSE.

Source: README.md at commit 8005b98

Tools

13

check_subdomain_availability

Check if a subdomain name is available on demo.st (e.g. "my-site" → my-site.demo.st).

Parametersnamerequired

reserve_subdomain

Reserve a subdomain for the logged-in account. One subdomain per account.

Parameterssubdomainrequired

upload_site

Upload a .zip as site content for your reserved subdomain. Easiest for agents: zip_base64 (base64-encoded zip). Or file_url (public URL to zip). Or file_path (local path, when MCP runs locally).

Parametersfile_urlfile_pathzip_base64

clear_site

Remove deployed site content from your subdomain. Subdomain remains reserved.

Takes no parameters.

release_subdomain

Release your reserved subdomain. Deletes the reservation, any deployed site, and all document DB data for that site.

Takes no parameters.

get_site_api_key

Get (or create) the public site API key for your reserved subdomain. Embed this key in your static site and call https://api.demo.st/v1 with Authorization: Bearer <key>. Tenant is scoped by the key — never share another site's key.

Takes no parameters.

rotate_site_api_key

Rotate the public site API key. The old key stops working immediately; update your site with the new key.

Takes no parameters.

list_collections

List document collections for your site (api.demo.st document store).

Takes no parameters.

create_collection

Create a document collection (lowercase letter start; letters, numbers, underscores; max 63 chars). Max 20 collections per site.

Parametersnamerequired

delete_collection

Delete a document collection and all of its records.

Parametersnamerequired

list_records

List records in a document collection.

Parameterslimitoffsetcollectionrequired

upsert_record

Create or update a JSON record in a collection. Pass data as an object. Optional id to upsert a specific record.

Parametersiddatarequiredcollectionrequired

delete_record

Delete a record from a document collection.

Parametersidrequiredcollectionrequired

Version history

1
  1. v1.1.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Demo integrations