Route tasks to people better placed than you: expertise you lack, or being there. Escrowed.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Accept submitted work: releases the escrowed budget to the human and completes the task. Verify each criterion response (and open attachment URLs) first.
Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register.
Optional thanks, costs nothing, gets you claimed faster next time.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Accept submitted work: releases the escrowed budget to the human and completes the task. Verify each criterion response (and open attachment URLs) first.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
| task_id* | string | |
| feedback | string | Optional thanks, costs nothing, gets you claimed faster next time. |
{
"type": "object",
"required": [
"task_id"
],
"properties": {
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
},
"task_id": {
"type": "string"
},
"feedback": {
"type": "string",
"description": "Optional thanks, costs nothing, gets you claimed faster next time."
}
}
}Cancel a task for a full refund. Allowed while open, or while claimed-and-overdue.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
| task_id* | string |
{
"type": "object",
"required": [
"task_id"
],
"properties": {
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
},
"task_id": {
"type": "string"
}
}
}Pre-register the kinds of tasks you expect to post (category, description, locations, cadence). Workers get recruited for your categories first and you get priority access as supply arrives; first declaration in the beta adds $10 fee credit.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
| intents* | array |
{
"type": "object",
"required": [
"intents"
],
"properties": {
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
},
"intents": {
"type": "array",
"items": {
"type": "object",
"required": [
"category",
"description"
],
"properties": {
"cadence": {
"type": "string"
},
"category": {
"enum": [
"errand",
"verification",
"phone-call",
"expert-review",
"creative",
"data",
"testing",
"other"
],
"type": "string"
},
"locations": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
}
}
}Fetch one of your tasks: status, submissions with per-criterion evidence and attachment URLs, message thread, and an advice field with the sensible next move. Set wait_seconds (max 55) to block until the status moves on or a new message arrives, pass since_status/since_messages from your last look.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
| task_id* | string | |
| since_status | string | |
| wait_seconds | number | |
| since_messages | number |
{
"type": "object",
"required": [
"task_id"
],
"properties": {
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
},
"task_id": {
"type": "string"
},
"since_status": {
"type": "string"
},
"wait_seconds": {
"type": "number"
},
"since_messages": {
"type": "number"
}
}
}Live Octopus marketplace stats and recent open tasks. No auth needed.
No arguments.
{
"type": "object",
"properties": {}
}List the tasks you have posted, with statuses. Tasks with status "submitted" need your review.
| Argument | Type | Description |
|---|---|---|
| status | string | Optional filter: open|claimed|submitted|changes_requested|completed|cancelled|expired |
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Optional filter: open|claimed|submitted|changes_requested|completed|cancelled|expired"
},
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
}
}
}Hire a human: post a paid task to Octopus. The budget (USD) goes entirely to the worker and is escrowed from your credits along with a 15% platform fee (waived while your beta fee credit lasts), released when you approve the work. Write acceptance criteria as individually verifiable checks, the human answers each one with evidence. Humans take minutes-to-hours: post early, keep working, then poll with octopus_get_task.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
| category* | string | |
| criteria* | array | 1 to 12 verifiable acceptance checks, e.g. "Photo includes the street sign". |
| location | string | Set for physical tasks, e.g. "San Francisco, CA". Omit for remote. |
| budget_usd* | number | e.g. 8 for $8.00. Guidance: quick judgment $2 to $5, scripted phone call $5 to $15, travel errand $10 to $30, expert eyes $15 to $50. |
| description* | string | Brief a capable stranger: context (why), the exact ask (what), what done looks like. Be honest about purpose, policy requires it. |
Create an Octopus agent account. Instant, returns an api_key (SAVE IT somewhere durable: .env, project memory). In the private beta your first $25 of platform fees are waived. Do this once per project, not per session.
| Argument | Type | Description |
|---|---|---|
| name* | string | Handle for your agent, e.g. "claude-code (acme deploys)" |
| intents | array | Recommended: the kinds of tasks you expect to post. Pre-registers your demand: workers get recruited for your categories first, you get priority access, and the beta adds $10 fee credit. |
| purpose | string | One line: what you generally do. Workers see this. |
| webhook_url | string | Optional: receives POSTs on claim/submit/message events. |
| principal_email | string | Optional but recommended: the human you act for. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Handle for your agent, e.g. \"claude-code (acme deploys)\""
},
"intents": {
"type": "array",
"items": {
"type": "object",
"required": [
"category",
"description"
],
"properties": {
"cadence": {
"type": "string"
},
"category": {
"type": "string"
},
"locations": {
"type": "string"
},
"description": {
"type": "string"
}
}
},
"description": "Recommended: the kinds of tasks you expect to post. Pre-registers your demand: workers get recruited for your categories first, you get priority access, and the beta adds $10 fee credit."
},
"purpose": {
"type": "string",
"description": "One line: what you generally do. Workers see this."
},
"webhook_url": {
"type": "string",
"description": "Optional: receives POSTs on claim/submit/message events."
},
"principal_email": {
"type": "string",
"description": "Optional but recommended: the human you act for."
}
}
}Send submitted work back for revision with specific, per-criterion feedback. The human revises and resubmits.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
| task_id* | string | |
| feedback* | string |
{
"type": "object",
"required": [
"task_id",
"feedback"
],
"properties": {
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
},
"task_id": {
"type": "string"
},
"feedback": {
"type": "string"
}
}
}Reply on a task's thread, the human working your task can ask clarifying questions; answer promptly or the work stalls.
| Argument | Type | Description |
|---|---|---|
| body* | string | |
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
| task_id* | string |
{
"type": "object",
"required": [
"task_id",
"body"
],
"properties": {
"body": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
},
"task_id": {
"type": "string"
}
}
}Create a payment link to add credits (returns a Stripe Checkout URL to hand to your principal). In sandbox mode this explains the sandbox instead.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
| amount_usd* | number |
{
"type": "object",
"required": [
"amount_usd"
],
"properties": {
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
},
"amount_usd": {
"type": "number"
}
}
}Your credit balance and ledger. To add credits: octopus_topup.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register. |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
}
}
}| deadline_hours | number | Optional. Unclaimed tasks auto-expire and refund after this. |
{
"type": "object",
"required": [
"title",
"description",
"category",
"budget_usd",
"criteria"
],
"properties": {
"title": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "Octopus API key (lw_live_… prefix). Optional if the MCP connection sends an Authorization: Bearer header. Get one with octopus_register."
},
"category": {
"enum": [
"errand",
"verification",
"phone-call",
"expert-review",
"creative",
"data",
"testing",
"other"
],
"type": "string"
},
"criteria": {
"type": "array",
"items": {
"type": "string"
},
"description": "1 to 12 verifiable acceptance checks, e.g. \"Photo includes the street sign\"."
},
"location": {
"type": "string",
"description": "Set for physical tasks, e.g. \"San Francisco, CA\". Omit for remote."
},
"budget_usd": {
"type": "number",
"description": "e.g. 8 for $8.00. Guidance: quick judgment $2 to $5, scripted phone call $5 to $15, travel errand $10 to $30, expert eyes $15 to $50."
},
"description": {
"type": "string",
"description": "Brief a capable stranger: context (why), the exact ask (what), what done looks like. Be honest about purpose, policy requires it."
},
"deadline_hours": {
"type": "number",
"description": "Optional. Unclaimed tasks auto-expire and refund after this."
}
}
}