demo.st

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

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
72%
Naming quality
92%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,147Tokens (tool definitions)
~605 BTypical response size
Moderate attention impact (0.90% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "demost": {
      "url": "https://demo.st/mcp"
    }
  }
}

Remote endpoints

https://demo.st/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_subdomain_availability(name)

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

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Subdomain name: letters, numbers, hyphens only; 1–63 chars."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪reserve_subdomain(subdomain)

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

Input Schema

{
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string",
      "description": "Subdomain to reserve (letters, numbers, hyphens; 1–63 chars)."
    }
  },
  "required": [
    "subdomain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡upload_site(zip_base64, file_url, file_path)

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).

Input Schema

{
  "type": "object",
  "properties": {
    "zip_base64": {
      "description": "Base64-encoded .zip content. Easiest for agents: create zip locally and pass here (no hosting needed).",
      "type": "string"
    },
    "file_url": {
      "description": "Public URL of a .zip file.",
      "type": "string",
      "format": "uri"
    },
    "file_path": {
      "description": "Local path to a .zip file (for local/stdio MCP only).",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴clear_site

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

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪release_subdomain

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

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡rotate_site_api_key

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

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_collections

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

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_collection(name)

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

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Collection name, e.g. todos or posts."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_collection(name)

Delete a document collection and all of its records.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Collection name to delete."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_records(collection, limit, offset)

List records in a document collection.

Input Schema

{
  "type": "object",
  "properties": {
    "collection": {
      "type": "string",
      "description": "Collection name."
    },
    "limit": {
      "description": "Max records to return (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Offset for pagination.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "collection"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡upsert_record(collection, data, id)

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

Input Schema

{
  "type": "object",
  "properties": {
    "collection": {
      "type": "string",
      "description": "Collection name."
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "JSON object to store."
    },
    "id": {
      "description": "Optional record id (create or replace).",
      "type": "string"
    }
  },
  "required": [
    "collection",
    "data"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_record(collection, id)

Delete a record from a document collection.

Input Schema

{
  "type": "object",
  "properties": {
    "collection": {
      "type": "string",
      "description": "Collection name."
    },
    "id": {
      "type": "string",
      "description": "Record id."
    }
  },
  "required": [
    "collection",
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools