deed.page
Publish static sites to permanent URLs in one call. No account, email code, or claim link.
¿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": {
"deed-page": {
"url": "https://deed.page/mcp"
}
}
}Puntos de conexión remotos
https://deed.page/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (7)
🟡publish_site(slug, files, spa, ttl_seconds, merge, ...)
Use this when the user wants something put online, shared as a link, or hosted. Publishes files to a live permanent URL at the chosen slug. Returns {url, slug, version, token?}. The token appears only on the first anonymous publish; store it to update later.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Lowercase letters, digits, hyphens (1-63). Omit for a random slug."
},
"files": {
"type": "object",
"description": "Map of relative path to file contents. Text as a string, binary as {\"base64\":\"...\"}. Example: {\"index.html\":\"<!doctype html><h1>Hi</h1>\",\"img/logo.png\":{\"base64\":\"iVBOR...\"}}",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"base64": {
"type": "string"
},
"content": {
"type": "string"
}
}
}
]
}
},
"spa": {
"type": "boolean",
"description": "Serve index.html for unknown paths (single-page apps)."
},
"ttl_seconds": {
"type": "integer",
"description": "Opt-in expiry in seconds. Omit for a permanent site."
},
"merge": {
"type": "boolean",
"description": "Add these files to the existing site instead of replacing it."
},
"token": {
"type": "string",
"description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer."
}
},
"required": [
"files"
]
}🔴update_site(slug, files, spa, merge, token)
Use this to replace (or with merge=true, add to) the files of a slug you already own. Requires the token from the first publish. Returns the same shape as publish_site with a bumped version.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Slug you own."
},
"files": {
"type": "object",
"description": "Map of relative path to file contents. Text as a string, binary as {\"base64\":\"...\"}. Example: {\"index.html\":\"<!doctype html><h1>Hi</h1>\",\"img/logo.png\":{\"base64\":\"iVBOR...\"}}",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"base64": {
"type": "string"
},
"content": {
"type": "string"
}
}
}
]
}
},
"spa": {
"type": "boolean",
"description": "Serve index.html for unknown paths."
},
"merge": {
"type": "boolean",
"description": "Keep existing files and add/overwrite only these paths."
},
"token": {
"type": "string",
"description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer."
}
},
"required": [
"slug",
"files"
]
}🟢get_site(slug)
Use this to check whether a slug is live and read its URL, version, size, and timestamps. Public; no token needed.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Slug to look up."
}
},
"required": [
"slug"
]
}🟢list_sites(token)
Use this to list every live site owned by your token, with URLs and versions.
Esquema de entrada
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer."
}
}
}🔴delete_site(slug, token)
Use this only when the user explicitly asks to take a site down. Permanently removes the slug you own; the slug becomes free.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Slug you own."
},
"token": {
"type": "string",
"description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer."
}
},
"required": [
"slug"
]
}🟢whoami(token)
Use this to read your plan, limits, and how many sites your token owns.
Esquema de entrada
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer."
}
}
}🟢get_upgrade_link(plan, token)
Use this only when the user asks for higher limits. Returns a Stripe Checkout URL for Hobby ($3/mo) or Pro ($15/mo) tied to your token. A human must open it and pay; nothing is charged by this call.
Esquema de entrada
{
"type": "object",
"properties": {
"plan": {
"type": "string",
"enum": [
"hobby",
"pro"
],
"description": "Plan to buy."
},
"token": {
"type": "string",
"description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer."
}
},
"required": [
"plan"
]
}Comunidad
Evidencia