Delegate a real-world digital task to a vetted human, straight from your AI chat.
Offload's MCP server gives any MCP client (Claude, Cowork, Cursor, ChatGPT, …) three tools:
| Tool | What it does | Auth |
|---|---|---|
offload_get_quote |
Describe a task → instant AI-scoped category, time estimate, and fair price. | None (free) |
offload_post_task |
Post the task to the marketplace → escrow-protected checkout link. | Optional key |
offload_task_status |
Check a posted task by ID. | Optional key |
The wedge: you're mid-conversation, hit something you don't want to do, and instead of context-switching you just say "offload this." The AI does the automatable ~80%; a vetted human finishes the rest. Escrow-protected, and Offload never asks for your passwords.
Interactive quote card (MCP Apps). In hosts that support MCP Apps (Claude, Claude Desktop, VS Code), offload_get_quote renders an inline card with the category, time estimate, price, and the AI-vs-human split, plus a one-tap Post task button that returns the escrow checkout link. Every other host shows the same information as text, so nothing is lost.
npm install
npm run build
npm start # runs the stdio serverAdd to your MCP config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"offload": {
"command": "npx",
"args": ["-y", "offload-mcp"],
"env": {
"OFFLOAD_API_BASE": "https://offloads.io"
}
}
}
}offload_get_quote works with no API key. To enable posting and status, add OFFLOAD_API_KEY.
One-click deploy with the included Dockerfile + render.yaml. See DEPLOY.md for the 3-minute, no-terminal walkthrough.
Or run it yourself:
npm run build
npm run start:http # POST /mcp (Streamable HTTP), GET /healthzDeploy anywhere (Render, Fly, Railway, a container) to get a stable https://…/mcp URL, then submit it to the Anthropic Connectors Directory. A linked privacy policy is required — we point to https://offloads.io/trust.
| Env var | Default | Purpose |
|---|---|---|
OFFLOAD_API_BASE |
https://offloads.io |
Offload API base URL |
OFFLOAD_API_KEY |
(empty) | Enables post_task / task_status |
PORT |
8787 |
Port for the HTTP server |
The tools call these public Offload endpoints (implemented as edge functions on the Offload backend):
POST /api/public/mcp/quote { description } -> Quote
POST /api/public/mcp/task { title, description, urgency?, budget?, email? } -> CreatedTask
GET /api/public/mcp/task/:id -> TaskStatus
See src/offloadClient.ts for the exact response shapes.
Same server, multiple front doors: Glama, mcp.so, Smithery, PulseMCP, and the punkpeye/awesome-mcp-servers GitHub list.
MIT — see LICENSE.
.gitignore secured BEFORE any push: added health-log.jsonl (the local monitoring log was NOT ignored - *.log does not match .jsonl) and dist-ui/ (the UI build - dist/ does not match dist-ui/). The health-monitor is now safe to stage. GATE (Deo): the actual commit + push of offload-mcp to PUBLIC GitHub is your go - verify nothing sensitive is in the diff first.