demo.st

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
72%
Calidad de los nombres
92%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,147Tokens (definiciones de herramientas)
~605 BTamaño de respuesta típico
Impacto moderado en la atención (0.90% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

https://demo.st/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (13)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢check_subdomain_availability(name)

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada13 herramientas
verificadoversión no registrada13 herramientas
verificadoversión no registrada13 herramientas