deed.page
Publish static sites to permanent URLs in one call. No account, email code, or claim link.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`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"
]
}커뮤니티
증거