Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,559Letters: 14Defects: 1,336counted 4 min ago
teppi

Server definition

Hash
sha256:da96259a5484ac587e4ef9564c32f84fc5a46f305b2e5dde875c1b7bbea32d5f
What it is
What a remote MCP server returned when asked what it offers: 26 tools

The blob, as servednamed by its sha256

{ "instructions": "DataEcho hosts what agents build: publish_site deploys files/sites/apps to a live URL (anonymous works — 24h expiry, ALWAYS show the user the claimUrl), drives are private versioned cloud storage. Authenticate by sending the platform API key as `Authorization: Bearer <key>` (get one via request_login_code → verify_login_code). Container apps: include a Dockerfile, must listen on process.env.PORT, persist under /data, poll app_status. Large folders: prefer the dataecho skill (npx skills add mohocp/dataecho).", "tools": [ { "description": "Build/run status of a container app deployed via publish_site with a Dockerfile. Poll until status is `live` or `failed`.", "inputSchema": { "additionalProperties": false, "properties": { "logs": { "description": "Include build logs", "type": "boolean" }, "slug": { "description": "Site slug", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "app_status", "outputSchema": null }, { "description": "Make a previously-anonymous site permanent under the authenticated account (requires auth + the claimToken from publish_site).", "inputSchema": { "additionalProperties": false, "properties": { "claimToken": { "description": "Claim token returned by the anonymous publish", "type": "string" }, "slug": { "description": "Site slug", "type": "string" } }, "required": [ "slug", "claimToken" ], "type": "object" }, "name": "claim_site", "outputSchema": null }, { "description": "Create a new private drive.", "inputSchema": { "additionalProperties": false, "properties": { "name": { "description": "Drive name", "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "create_drive", "outputSchema": null }, { "description": "Permanently delete an owned site. Irreversible — confirm with the user first.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "description": "Site slug", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "delete_site", "outputSchema": null }, { "description": "Delete an account variable.", "inputSchema": { "additionalProperties": false, "properties": { "name": { "description": "Variable name", "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "delete_variable", "outputSchema": null }, { "description": "Delete one file from a drive.", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" }, "path": { "description": "File path", "type": "string" } }, "required": [ "drive", "path" ], "type": "object" }, "name": "drive_delete_file", "outputSchema": null }, { "description": "Version timeline of a drive (every write is a restorable version).", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" } }, "required": [ "drive" ], "type": "object" }, "name": "drive_history", "outputSchema": null }, { "description": "List files in a drive (by drive name or drv_… id), optionally under a path prefix.", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" }, "prefix": { "description": "Path prefix filter", "type": "string" } }, "required": [ "drive" ], "type": "object" }, "name": "drive_list_files", "outputSchema": null }, { "description": "Move/rename a file inside a drive.", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" }, "from": { "description": "Current path", "type": "string" }, "to": { "description": "New path", "type": "string" } }, "required": [ "drive", "from", "to" ], "type": "object" }, "name": "drive_move_file", "outputSchema": null }, { "description": "Read a file from a drive. Text comes back as utf-8 `content`; binary as `contentBase64`. Files over 1 MB are refused (use the skill scripts).", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" }, "path": { "description": "File path in the drive", "type": "string" } }, "required": [ "drive", "path" ], "type": "object" }, "name": "drive_read_file", "outputSchema": null }, { "description": "Restore a drive to a prior version (commits a new version; nothing is lost).", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" }, "versionId": { "description": "dv_… id from drive_history", "type": "string" } }, "required": [ "drive", "versionId" ], "type": "object" }, "name": "drive_restore", "outputSchema": null }, { "description": "Revoke a drive share token.", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" }, "tokenId": { "description": "dtok_… id from drive_tokens", "type": "string" } }, "required": [ "drive", "tokenId" ], "type": "object" }, "name": "drive_revoke_token", "outputSchema": null }, { "description": "Mint a scoped drive access token for another agent (perms read|write, optional path prefix + TTL like `7d`). The secret is returned ONCE.", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" }, "label": { "description": "Human label for the token", "type": "string" }, "pathPrefix": { "description": "Restrict the token to this path prefix", "type": "string" }, "perms": { "description": "read (default) or write", "type": "string" }, "ttl": { "description": "Lifetime, e.g. 1h, 7d (omit for no expiry)", "type": "string" } }, "required": [ "drive" ], "type": "object" }, "name": "drive_share", "outputSchema": null }, { "description": "List active share tokens of a drive (secrets are never shown again).", "inputSchema": { "additionalProperties": false, "properties": { "drive": { "description": "Drive name or drv_… id", "type": "string" } }, "required": [ "drive" ], "type": "object" }, "name": "drive_tokens", "outputSchema": null }, { "description": "Write/overwrite one file in a drive (ETag-safe: pass ifMatch to assert the version you read, otherwise the current version is used automatically).", "inputSchema": { "additionalProperties": false, "properties": { "content": { "description": "UTF-8 text content", "type": "string" }, "contentBase64": { "description": "Base64 content for binary files", "type": "string" }, "contentType": { "description": "Optional MIME type", "type": "string" }, "drive": { "description": "Drive name or drv_… id", "type": "string" }, "ifMatch": { "description": "Optional ETag precondition", "type": "string" }, "path": { "description": "Destination path in the drive", "type": "string" } }, "required": [ "drive", "path" ], "type": "object" }, "name": "drive_write_file", "outputSchema": null }, { "description": "Full details + current file manifest of an owned site.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "description": "Site slug", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_site", "outputSchema": null }, { "description": "List the authenticated account's private cloud drives.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "list_drives", "outputSchema": null }, { "description": "List all sites owned by the authenticated account.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "list_sites", "outputSchema": null }, { "description": "List account variable NAMES (values are write-only — they are injected into proxy calls and container apps, never read back).", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "list_variables", "outputSchema": null }, { "description": "DataEcho platform overview: what it can host, auth state of this connection, docs links. Call this first if unsure.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "platform_info", "outputSchema": null }, { "description": "Deploy files to a live URL. No slug → create a NEW site (works without auth; anonymous sites expire in 24h — always show the user the claimUrl). With slug → UPDATE that site (complete snapshot: send ALL files). A Dockerfile in the files makes it a server-side app (auth required; listen on process.env.PORT; persist under /data; poll app_status). Total payload ≤ 8 MB — for bigger sites use the dataecho skill scripts.", "inputSchema": { "additionalProperties": false, "properties": { "claimToken": { "description": "Claim token — required to update an anonymous site without auth", "type": "string" }, "description": { "description": "Viewer page description", "type": "string" }, "files": { "description": "Files to publish. Each file: { path, content (utf-8 text) OR contentBase64 (binary), contentType? }. The publish is a COMPLETE snapshot — omitted files are removed on update.", "items": { "additionalProperties": false, "properties": { "content": { "description": "UTF-8 text content (use for html/css/js/json/text)", "type": "string" }, "contentBase64": { "description": "Base64 content (use for binary files)", "type": "string" }, "contentType": { "description": "Optional MIME type; guessed from the extension if omitted", "type": "string" }, "path": { "description": "Site-relative path, e.g. index.html or assets/app.js", "type": "string" } }, "required": [ "path" ], "type": "object" }, "type": "array" }, "slug": { "description": "Existing site slug to update (omit to create a new site)", "type": "string" }, "spa": { "description": "Enable SPA fallback routing (serve index.html for unknown paths)", "type": "boolean" }, "title": { "description": "Viewer page title (used when there's no index.html)", "type": "string" }, "ttlSeconds": { "description": "Expiry for authenticated sites, in seconds", "type": "number" } }, "required": [ "files" ], "type": "object" }, "name": "publish_site", "outputSchema": null }, { "description": "Start sign-in: email a one-time code to the user. Follow with verify_login_code.", "inputSchema": { "additionalProperties": false, "properties": { "email": { "description": "The user's email address", "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "request_login_code", "outputSchema": null }, { "description": "Full-text search across the authenticated account's sites (names, metadata, and text content).", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "description": "Max results (optional)", "type": "number" }, "query": { "description": "Search query", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_sites", "outputSchema": null }, { "description": "Create/update a write-only account secret (uppercase name). Injected as env vars into container apps and as ${VAR} into proxy calls. Optionally pin which upstream hosts may receive it.", "inputSchema": { "additionalProperties": false, "properties": { "allowedUpstreams": { "description": "Optional allow-list of upstream hosts", "items": { "type": "string" }, "type": "array" }, "name": { "description": "UPPER_SNAKE_CASE variable name", "type": "string" }, "value": { "description": "Secret value (never readable back)", "type": "string" } }, "required": [ "name", "value" ], "type": "object" }, "name": "set_variable", "outputSchema": null }, { "description": "Patch site settings without redeploying: viewer title/description, SPA mode, TTL, password (string sets, null removes).", "inputSchema": { "additionalProperties": false, "properties": { "description": { "description": "Viewer description", "type": "string" }, "password": { "description": "Password-gate the site; pass an empty string to REMOVE the password", "type": "string" }, "slug": { "description": "Site slug", "type": "string" }, "spaMode": { "description": "SPA fallback routing", "type": "boolean" }, "title": { "description": "Viewer title", "type": "string" }, "ttlSeconds": { "description": "Expiry in seconds (null-like 0 not allowed; omit to keep)", "type": "number" } }, "required": [ "slug" ], "type": "object" }, "name": "update_site_metadata", "outputSchema": null }, { "description": "Complete sign-in with the emailed code. Returns the apiKey ONCE — configure it as the `Authorization: Bearer <key>` header of this MCP connection (and/or save to ~/.artifact/credentials for the CLI scripts). Never echo it into chat.", "inputSchema": { "additionalProperties": false, "properties": { "code": { "description": "The one-time code from the email", "type": "string" }, "email": { "description": "Same email as request_login_code", "type": "string" } }, "required": [ "email", "code" ], "type": "object" }, "name": "verify_login_code", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:da96259a5484ac587e4ef9564c32f84fc5a46f305b2e5dde875c1b7bbea32d5f | sha256sum