deed.page
Publish static sites to permanent URLs in one call. No account, email code, or claim link.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"deed-page": {
"url": "https://deed.page/mcp"
}
}
}远程端点
https://deed.page/mcpstreamable-http它能做什么
工具清单
工具(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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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"
]
}社区
证据