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
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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-httpQué puede hacer
Inventario de herramientas
Herramientas (13)
🟢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
Evidencia