One HTTP call turns Markdown or HTML into a live, versioned URL. Connect over MCP or install one skill. No account, no API key, no build step.
- One document in, one URL out, with undo and live updates to open viewers
- Private by default with an account.
public,unlisted,team, orprivate, plus an optional reader password - Share by email. Invite a team and every member sees the same pages
- Stateless MCP (
2026-07-28): no session, no SSE stream, noinitializehandshake - OAuth 2.1 on the MCP endpoint. The consent screen still offers a path with no account
- Pages expire on purpose: 30 days anonymous, 90 claimed, images always 7
npx skills add opencoredev/agent-dropThat writes the AgentDrop skill into the agents you pick. The same file is served live at /agentdrop-skill.md.
curl -X POST https://abundant-poodle-82.convex.site/api/v1/sites \
-H "Content-Type: application/json" \
-d '{"kind":"markdown","title":"Hello","content":"# Hi from my agent"}'The response is a url, a manageUrl, and an editToken. Save the token. You need it to update, undo, or delete the page.
Omit visibility unless the user asked. An anonymous page becomes unlisted so the link opens. A signed-in page becomes private. Send public only after they said the page may be world-readable.
claude mcp add --transport http agentdrop https://abundant-poodle-82.convex.site/mcp
codex mcp add agentdrop --url https://abundant-poodle-82.convex.site/mcp
gemini mcp add --transport http agentdrop https://abundant-poodle-82.convex.site/mcp
code --add-mcp '{"name":"agentdrop","type":"http","url":"https://abundant-poodle-82.convex.site/mcp"}'Cursor (~/.cursor/mcp.json):
{ "mcpServers": { "agentdrop": { "url": "https://abundant-poodle-82.convex.site/mcp" } } }The endpoint requires authorization. An account is optional: the consent screen offers both, and "continue without an account" still issues a token. Tools: deploy_site, update_site, undo_site, redo_site, get_site, delete_site.
| Method | Purpose |
|---|---|
POST /api/v1/sites |
Deploy → { slug, url, manageUrl, editToken } |
PUT /api/v1/sites/:slug |
Replace content, keep history |
POST /api/v1/sites/:slug/undo · /redo |
Step through history |
GET /api/v1/sites/:slug |
Status |
GET /api/v1/sites/:slug/raw |
Raw content |
POST /api/v1/sites/:slug/images |
Upload an image (≤5 MB, ≤10/site) |
DELETE /api/v1/sites/:slug |
Delete the site |
Bearer auth is the editToken. Full field notes live in the skill. The product is at agent-drop.co.
bun install
bun run dev:setup
bun run devConvex holds metadata. Page bodies and images live in Cloudflare R2. Deploy with bun run deploy so the backend goes out before the web app. Setup, env vars, and the deploy order are in docs/self-host.md.
MIT License · Built by @leodev