{
 "voice": "One card of the book.",
 "agent": {
  "slug": "dropyour",
  "name": "Dropyour",
  "specialty": null,
  "description": "Publish micro-apps from your AI with no account; operate them as real apps. Data stored in the EU.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-30T23:09:58.506Z",
  "card": "/agent/dropyour",
  "url": "https://allagents.app/agent/dropyour",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.dropyour.io/mcp",
   "site": "https://dropyour.io"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://dropyour.io",
   "hire": null
  },
  "bubble": "closed",
  "score": 54,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-31",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "dropyour_whoami",
     "description": "Check how this session is authenticated: resolved tier (anonymous / free / pro) and its limits. Call this after configuring an account token (dyk_...) to…"
    },
    {
     "name": "dropyour_publish",
     "description": "Publish a self-contained HTML file to Dropyour. Returns a stable public URL (one origin per drop — same address across updates, browser data survives) and a…"
    },
    {
     "name": "dropyour_publish_system",
     "description": "Publish 1 to 5 apps in ONE call, each at its own stable URL, all managed by ONE system token (ADR-0352). No account needed. Each app is a self-contained HTML…"
    },
    {
     "name": "dropyour_replace",
     "description": "Replace the content of an existing drop — HTML, or a base64 .zip once the app has GRADUATED to tier 4. The URL never changes (origin contract): visitors'…"
    },
    {
     "name": "dropyour_update_settings",
     "description": "Change a drop's visibility (private = link-only + noindex, public = indexable), its expiration, or remove the \"Hosted on Dropyour\" badge (badgeHidden — Pro…"
    },
    {
     "name": "dropyour_secret_set",
     "description": "Store a SECRET for a graduated app (tier 4), bound to a host pattern. The value is encrypted at rest and NEVER readable back — by anyone, ever. The platform's…"
    },
    {
     "name": "dropyour_secret_delete",
     "description": "Delete a secret from a graduated app's vault by name. Deleting a name that does not exist is not an error — the final state is what you asked for."
    },
    {
     "name": "dropyour_logs",
     "description": "Read a graduated app's own log buffer (tier 4): the last 200 lines, most recent first — explicit `app.log(...)` calls from the app's server code, plus…"
    },
    {
     "name": "dropyour_egress_deny",
     "description": "Cut a host your graduated app is calling — in ONE call, taking effect on the next request, with NO republish. This is the verb for the moment you read in…"
    },
    {
     "name": "dropyour_secrets_list",
     "description": "List a graduated app's secrets: NAMES, host bindings and dates only — values are never returned, by design (a vault whose values can be read is a vault worth…"
    },
    {
     "name": "dropyour_graduate",
     "description": "GRADUATE one of your drops to tier 4 — a real backend (server code, queryable store, isolated SQLite) behind the SAME URL, with its data carried over. This…"
    },
    {
     "name": "dropyour_import",
     "description": "Bring an EXISTING app to Dropyour in one call: zip its files (you have them — from GitHub, disk, another host) and pass the archive. A single-HTML archive…"
    },
    {
     "name": "dropyour_read_app_files",
     "description": "Read what a GRADUATED app actually SERVES right now — not the seed captured before it graduated. Without path: the list of files in the served version, with…"
    },
    {
     "name": "dropyour_call",
     "description": "Call a route of YOUR OWN drop and get the real HTTP answer back: status, headers, duration, body. This is how you check that what you just published actually…"
    },
    {
     "name": "dropyour_schedule",
     "description": "Your app's clock, in one verb. action='read' (default) tells you when it next rings, whether the app is frozen, and the last runs WITH THEIR EFFECT: verdict…"
    },
    {
     "name": "dropyour_status",
     "description": "Get a drop's status: URL, visibility, expiration, size, approximate view count, and its private name (if set). With an account token, owned drops need no…"
    },
    {
     "name": "dropyour_read_content",
     "description": "Read a drop's source HTML (what you published — no shared-memory shim, no attribution badge). For multi-file sites, also returns the list of asset paths (not…"
    },
    {
     "name": "dropyour_read_data",
     "description": "Read a drop's app data — the shared-memory state (a JSON key/value snapshot mirroring the app's localStorage), so you can answer questions about what the app…"
    },
    {
     "name": "dropyour_write_data",
     "description": "Write a drop's app data — replace the shared-memory state (the JSON key/value object mirroring the app's localStorage), so you can update what the app holds…"
    },
    {
     "name": "dropyour_list_versions",
     "description": "List the published versions of a GRADUATED app (level 4), newest first, with the one currently served. Each version carries its network and AI inventory…"
    },
    {
     "name": "dropyour_rollback",
     "description": "Roll a GRADUATED app back to a previously published version — this is the EXPECTED FAILURE PATH of dropyour_release, which calls it for you when a check…"
    },
    {
     "name": "dropyour_milestone",
     "description": "A milestone records the version currently SERVED by every GRADUATED app of the anchor's system (dropyour_system), callers first; when the anchor is in no…"
    },
    {
     "name": "dropyour_records_summary",
     "description": "Summarise what a GRADUATED app keeps in its queryable store: one line per collection with the number of records and the bytes they occupy. Nothing is…"
    },
    {
     "name": "dropyour_records_list",
     "description": "Read one page of a collection from a GRADUATED app's queryable store, most recently updated first. Pass the returned cursor to get the next page; no cursor…"
    },
    {
     "name": "dropyour_autonomy",
     "description": "Declare how much you delegate to the machine on ONE of your apps. Three modes. Loosening the ceiling, or going back to 'copilote' from a delegated mode, needs…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.dropyour.io/mcp",
   "answers": true,
   "checked": "2026-10-31T06:42:39.184Z",
   "http": null,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-31T06:42:39.184Z",
     "since": "2026-10-31T06:42:39.184Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-31T06:42:39.184Z",
    "since": "2026-10-31T06:42:39.184Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": null,
   "checked": "2026-10-31T06:42:39.184Z",
   "proof": "badge",
   "verified_as": "mcp"
  }
 }
}