Model Context Protocol server for dropkit. Lets any MCP-aware agent (Claude Desktop, Cursor, Windsurf, ChatGPT desktop, custom MCP clients) upload files and get back permanent CDN URLs.
npx -y @dropkit/mcpThat's it. With no DROPKIT_KEY set, the server falls back to the public demo project so the agent can show the user a working URL on first run.
When an agent produces a file for the user (a screenshot, an exported chart, a generated image, a transcript), the file usually ends up in a tmp dir the user can't see. With dropkit's MCP server, the agent uploads it and replies with a CDN URL that opens directly in the browser.
dropkit's pricing is storage-only: downloads are always free, so an agent reading back its own outputs doesn't run up a bill.
| tool | what it does |
|---|---|
dropkit_upload |
Upload a file. Returns a permanent public CDN URL. |
dropkit_list |
List files in the project (paginated, newest first). |
dropkit_get |
Get metadata for one file by id. |
dropkit_sign |
Mint a time-limited signed URL (for private files; supports image transforms). |
dropkit_delete |
Delete a file. Server keys (sk_live_*) only on real projects. |
dropkit_usage |
Storage and 30-day bandwidth totals for the current project. |
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"dropkit": {
"command": "npx",
"args": ["-y", "@dropkit/mcp"],
"env": {
"DROPKIT_KEY": "sk_live_..."
}
}
}
}Restart Claude. Ask: "upload this file to dropkit." The dropkit_upload tool will appear in the tool picker.
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"dropkit": {
"command": "npx",
"args": ["-y", "@dropkit/mcp"],
"env": { "DROPKIT_KEY": "sk_live_..." }
}
}
}Edit ~/.codeium/windsurf/mcp_config.json with the same shape as above.
The server is plain stdio JSON-RPC. Point any MCP client at:
- command:
npx - args:
["-y", "@dropkit/mcp"]
Key resolution, in order:
DROPKIT_KEYenv var~/.config/dropkit/auth.json(set bydropkit loginfrom@dropkit/cli)- The bundled demo key (
pk_demo_dropkit_try_0001) — uploads go to a shared public project, 10 MB cap, 1-hour TTL
Get a real key at dash.dropkit.app. Use a public key (pk_live_*) for upload/sign/list/get. Use a server key (sk_live_*) if the agent should also delete.
| var | default |
|---|---|
DROPKIT_KEY |
falls back to demo |
DROPKIT_ENDPOINT |
https://api.dropkit.app |
DROPKIT_TIMEOUT_MS |
60000 |
| plan | per-file | total |
|---|---|---|
| demo (no key) | 10 MB | 50 GB shared, 1-hour TTL |
| free | 100 MB | 5 GB hard cap |
| hobby+ | 5 GiB | metered overage at $0.12/GB/month |
Files over 100 MiB are routed through the sign+PUT+complete flow automatically.
- dropkit — the service
- @dropkit/sdk — JS/TS SDK
- @dropkit/cli — CLI scaffolding tool
- @dropkit/skill — Claude Code skill (for users wiring dropkit into their own apps)
MIT