Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,533Letters: 13Defects: 1,322counted just now
teppi

Server definition

Hash
sha256:3f2a2161f0231a58a36b2e739cc5fb8e0464a2b78b807108fd501c0100904af7
What it is
What a remote MCP server returned when asked what it offers: 7 tools

The blob, as servednamed by its sha256

{ "instructions": "deed.page publishes static files to a permanent public HTTPS URL. No account, email code, or claim link.\nFlow: call publish_site with a files map and a slug. The first call without a token returns \"token\" once: keep it and pass it (Authorization: Bearer header or the \"token\" argument) to update_site, delete_site, list_sites. There is no way to recover a lost token.\nSlugs must already match ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ (lowercase, 1-63, no leading or trailing hyphen). They are not rewritten. Reserved names (www, api, hello, my-page, and other docs examples) return an error.\nFile paths are stored exactly as given. merge=true overwrites only the paths you send and leaves every other path alone.\nSites never expire unless ttl_seconds is set. Up to ~4 MB per call; for bigger sites call update_site again with merge=true to add files. Custom domains are not supported. Previous file sets are not stored; publish the earlier files again to undo a change.", "tools": [ { "description": "Use this only when the user explicitly asks to take a site down. Permanently removes the slug you own; the slug becomes free.", "inputSchema": { "properties": { "slug": { "description": "Slug you own.", "type": "string" }, "token": { "description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer.", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "delete_site", "outputSchema": null }, { "description": "Use this to check whether a slug is live and read its URL, version, size, and timestamps. Public; no token needed.", "inputSchema": { "properties": { "slug": { "description": "Slug to look up.", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_site", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "plan": { "description": "Plan to buy.", "enum": [ "hobby", "pro" ], "type": "string" }, "token": { "description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer.", "type": "string" } }, "required": [ "plan" ], "type": "object" }, "name": "get_upgrade_link", "outputSchema": null }, { "description": "Use this to list every live site owned by your token, with URLs and versions.", "inputSchema": { "properties": { "token": { "description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer.", "type": "string" } }, "type": "object" }, "name": "list_sites", "outputSchema": null }, { "description": "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. Paths are stored exactly. Returns {url, slug, version, token?}. The token appears only on the first anonymous publish; store it. There is no recovery if you lose it.", "inputSchema": { "properties": { "files": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "properties": { "base64": { "type": "string" }, "content": { "type": "string" } }, "type": "object" } ] }, "description": "Map of relative path to file contents. Paths are stored exactly as given (a single top-level directory is not removed). Text as a string, binary as {\"base64\":\"...\"}. Example: {\"index.html\":\"<!doctype html><h1>Hi</h1>\",\"img/logo.png\":{\"base64\":\"iVBOR...\"}}", "type": "object" }, "merge": { "description": "Add or overwrite only these exact paths on the existing site. Paths omitted from this call are left unchanged. Nothing is moved to the site root.", "type": "boolean" }, "slug": { "description": "Exact slug matching ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ (lowercase letters, digits, hyphens, 1-63, no leading or trailing hyphen). Invalid slugs return slug_invalid and are not rewritten. Reserved names (hello, my-page, www, api, docs, admin, mcp, blog, app, status, and other docs examples) return slug_reserved on a new claim. A token that already owns one can still update it. Omit for a random slug.", "type": "string" }, "spa": { "description": "Serve index.html for unknown paths (single-page apps).", "type": "boolean" }, "token": { "description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer.", "type": "string" }, "ttl_seconds": { "description": "Opt-in expiry in seconds. Omit for a permanent site.", "type": "integer" } }, "required": [ "files" ], "type": "object" }, "name": "publish_site", "outputSchema": null }, { "description": "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. There is no restore-version call; send the previous files again to undo. Returns the same shape as publish_site with a bumped version.", "inputSchema": { "properties": { "files": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "properties": { "base64": { "type": "string" }, "content": { "type": "string" } }, "type": "object" } ] }, "description": "Map of relative path to file contents. Paths are stored exactly as given (a single top-level directory is not removed). Text as a string, binary as {\"base64\":\"...\"}. Example: {\"index.html\":\"<!doctype html><h1>Hi</h1>\",\"img/logo.png\":{\"base64\":\"iVBOR...\"}}", "type": "object" }, "merge": { "description": "Keep every path you do not send, and add or overwrite only these exact paths.", "type": "boolean" }, "slug": { "description": "Slug you own. Must match ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$. Not rewritten. Reserved slugs are rejected.", "type": "string" }, "spa": { "description": "Serve index.html for unknown paths.", "type": "boolean" }, "token": { "description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer.", "type": "string" } }, "required": [ "slug", "files" ], "type": "object" }, "name": "update_site", "outputSchema": null }, { "description": "Use this to read your plan, limits, and how many sites your token owns.", "inputSchema": { "properties": { "token": { "description": "Bearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer.", "type": "string" } }, "type": "object" }, "name": "whoami", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:3f2a2161f0231a58a36b2e739cc5fb8e0464a2b78b807108fd501c0100904af7 | sha256sum