ai. dataecho/ mcp
by dataecho.ai · remote · no sign-in to list tools · v1.0.0 · published by ai.dataecho
Deploy files, sites, and Dockerfile apps to live URLs + private drives for agent memory.
26 tools: 4 can delete or cancel things, 2 do something that can't be undone, 11 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone2Claude Code: ask: see these tools
- Changes things11Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http dataecho https://dataecho.ai/mcpFindings
Matches of fixed checks, with the text they matched.
The description refers to "~/.artifact/credentials".
What this check looks forMatched text
description: "...of this MCP connection (and/or save to ~/.artifact/credentials for the CLI scripts). Never echo it int..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
26 tools
Deletes or cancels 4Claude Code: deny
delete_sitePermanently delete an owned site.No findings
Why it is in this group
- The name "delete_site" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
Description, as the server wrote it Permanently delete an owned site. Irreversible — confirm with the user first.
delete_variableDelete an account variable.No findings
Why it is in this group
- The name "delete_variable" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete an account variable.
drive_delete_fileDelete one file from a drive.No findings
Why it is in this group
- The name "drive_delete_file" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete one file from a drive.
drive_revoke_tokenRevoke a drive share token.No findings
Why it is in this group
- The name "drive_revoke_token" says "revoke": a word for removing or ending something.
Description, as the server wrote it Revoke a drive share token.
Can't be undone 2Claude Code: ask
drive_move_fileMove/rename a file inside a drive.No findings
Why it is in this group
- The name "drive_move_file" says "move": a word for a change.
- The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it Move/rename a file inside a drive.
publish_siteDeploy files to a live URL.No findings
Why it is in this group
- The name "publish_site" says "publish": a word for a change that another call does not undo.
Description, as the server wrote it 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.
Changes things 11Claude Code: ask
claim_siteMake a previously-anonymous site permanent under the authenticated account (requires auth + the claimToken from publish_site).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Make a previously-anonymous site permanent under the authenticated account (requires auth + the claimToken from publish_site).
create_driveCreate a new private drive.No findings
Why it is in this group
- The name "create_drive" says "create": a word for a change.
Description, as the server wrote it Create a new private drive.
drive_historyVersion timeline of a drive (every write is a restorable version).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Version timeline of a drive (every write is a restorable version).
drive_restoreRestore a drive to a prior version (commits a new version; nothing is lost).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Restore a drive to a prior version (commits a new version; nothing is lost).
drive_write_fileWrite/overwrite one file in a drive (ETag-safe: pass ifMatch to assert the version you read, otherwise the current version is used automatically).No findings
Why it is in this group
- The name "drive_write_file" says "write": a word for a change.
Description, as the server wrote it Write/overwrite one file in a drive (ETag-safe: pass ifMatch to assert the version you read, otherwise the current version is used automatically).
platform_infoDataEcho platform overview: what it can host, auth state of this connection, docs links.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it DataEcho platform overview: what it can host, auth state of this connection, docs links. Call this first if unsure.
request_login_codeStart sign-in: email a one-time code to the user.No findings
Why it is in this group
- The name "request_login_code" says "request": a word for a change.
Description, as the server wrote it Start sign-in: email a one-time code to the user. Follow with verify_login_code.
set_variableCreate/update a write-only account secret (uppercase name).No findings
Why it is in this group
- The name "set_variable" says "set": a word for a change.
Description, as the server wrote it 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.
update_site_metadataPatch site settings without redeploying: viewer title/description, SPA mode, TTL, password (string sets, null removes).No findings
Why it is in this group
- The name "update_site_metadata" says "update": a word for a change.
Description, as the server wrote it Patch site settings without redeploying: viewer title/description, SPA mode, TTL, password (string sets, null removes).
verify_login_codeComplete sign-in with the emailed code.1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
Findings
- High
The description refers to "~/.artifact/credentials".
What this check looks forMatched text
description: "...of this MCP connection (and/or save to ~/.artifact/credentials for the CLI scripts). Never echo it int..."
Description, as the server wrote it 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.
Only reads 9Claude Code: allow
app_statusBuild/run status of a container app deployed via publish_site with a Dockerfile.No findings
Why it is in this group
- The name "app_status" says "status": a word for reading.
Description, as the server wrote it Build/run status of a container app deployed via publish_site with a Dockerfile. Poll until status is `live` or `failed`.
drive_list_filesList files in a drive (by drive name or drv_… id), optionally under a path prefix.No findings
Why it is in this group
- The name "drive_list_files" says "list": a word for reading.
Description, as the server wrote it List files in a drive (by drive name or drv_… id), optionally under a path prefix.
drive_read_fileRead a file from a drive.No findings
Why it is in this group
- The name "drive_read_file" says "read": a word for reading.
Description, as the server wrote it 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).
drive_tokensList active share tokens of a drive (secrets are never shown again).No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List active share tokens of a drive (secrets are never shown again).
get_siteFull details + current file manifest of an owned site.No findings
Why it is in this group
- The name "get_site" says "get": a word for reading.
Description, as the server wrote it Full details + current file manifest of an owned site.
list_drivesList the authenticated account's private cloud drives.No findings
Why it is in this group
- The name "list_drives" says "list": a word for reading.
Description, as the server wrote it List the authenticated account's private cloud drives.
list_sitesList all sites owned by the authenticated account.No findings
Why it is in this group
- The name "list_sites" says "list": a word for reading.
Description, as the server wrote it List all sites owned by the authenticated account.
list_variablesList account variable NAMES (values are write-only — they are injected into proxy calls and container apps, never read back).No findings
Why it is in this group
- The name "list_variables" says "list": a word for reading.
Description, as the server wrote it List account variable NAMES (values are write-only — they are injected into proxy calls and container apps, never read back).
search_sitesFull-text search across the authenticated account's sites (names, metadata, and text content).No findings
Why it is in this group
- The name "search_sites" says "search": a word for reading.
Description, as the server wrote it Full-text search across the authenticated account's sites (names, metadata, and text content).
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http dataecho https://dataecho.ai/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__dataecho__list_sites",
"mcp__dataecho__search_sites",
"mcp__dataecho__get_site",
"mcp__dataecho__app_status",
"mcp__dataecho__list_drives",
"mcp__dataecho__drive_list_files",
"mcp__dataecho__drive_read_file",
"mcp__dataecho__drive_tokens",
"mcp__dataecho__list_variables"
],
"ask": [
"mcp__dataecho__platform_info",
"mcp__dataecho__request_login_code",
"mcp__dataecho__verify_login_code",
"mcp__dataecho__publish_site",
"mcp__dataecho__claim_site",
"mcp__dataecho__update_site_metadata",
"mcp__dataecho__create_drive",
"mcp__dataecho__drive_write_file",
"mcp__dataecho__drive_move_file",
"mcp__dataecho__drive_share",
"mcp__dataecho__drive_history",
"mcp__dataecho__drive_restore",
"mcp__dataecho__set_variable"
],
"deny": [
"mcp__dataecho__delete_site",
"mcp__dataecho__drive_delete_file",
"mcp__dataecho__drive_revoke_token",
"mcp__dataecho__delete_variable"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as dataecho. Review it before you use it.