Errand

Dispatch nearby humans for on-site checks, photos, pickups and queues with verified evidence.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
85%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,518Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (1.19% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "errand": {
      "url": "https://errand.be/api/mcp"
    }
  }
}

Remote endpoints

https://errand.be/api/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒errand_list_capabilities

Use before a local-human or physical-world task to see what Errand can do for this account: supported on-site task types (check, verify, photograph, queue, pickup), spend caps, allowed area, KRW balance, and pricing. Read-only.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟒errand_check_coverage(lat, lng, radius_m)

Check whether a nearby human can be dispatched to a physical location before spending. Returns reachable_workers (switched on, seen within 24h β€” these get the push) and online_workers (app open this minute). Use for on-site or store checks, photos, queues, pickups, and other real-world tasks when you need current human availability.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number"
    },
    "lng": {
      "type": "number"
    },
    "radius_m": {
      "type": "integer",
      "minimum": 100,
      "maximum": 10000,
      "description": "Default 3000."
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false
}
🟒errand_quote(task_type, lat, lng, radius_m, reward_krw)

Get the exact read-only quote for sending a human to a real-world location for a check, verification, photo, queue task, or pickup. Validates account caps, live worker coverage, and balance; returns reward_krw, platform_fee_krw, and exact total_charge_krw. Present that total to the user and obtain explicit confirmation before errand_dispatch.

Input Schema

{
  "type": "object",
  "properties": {
    "task_type": {
      "type": "string",
      "enum": [
        "verify",
        "photograph",
        "pickup",
        "queue",
        "check"
      ]
    },
    "lat": {
      "type": "number"
    },
    "lng": {
      "type": "number"
    },
    "radius_m": {
      "type": "integer",
      "minimum": 100,
      "maximum": 10000,
      "description": "Default 3000."
    },
    "reward_krw": {
      "type": "integer",
      "minimum": 1000,
      "maximum": 200000
    }
  },
  "required": [
    "task_type",
    "lat",
    "lng",
    "reward_krw"
  ],
  "additionalProperties": false
}
πŸ”΄errand_dispatch(task_type, title, instructions, validation_criteria, lat, ...)

Send a nearby real human to a physical location for on-site verification, store/shelf/price checks, photos, queue checks or holding, or a pickup. This spends money and creates a real-world action: call errand_quote first, present its exact total_charge_krw, and obtain explicit user confirmation. The worker travels to the site, completes the instructions, and submits GPS/time-verified in-app evidence. Completed tasks pay the worker; failed, expired, or pre-acceptance cancelled tasks refund escrow.

Input Schema

{
  "type": "object",
  "properties": {
    "task_type": {
      "type": "string",
      "enum": [
        "verify",
        "photograph",
        "pickup",
        "queue",
        "check"
      ]
    },
    "title": {
      "type": "string",
      "description": "Short worker-facing title, e.g. \"μ„±μˆ˜λ™ XYZ νŒμ—… λŒ€κΈ°μ€„ 확인\"."
    },
    "instructions": {
      "type": "string",
      "description": "Exactly what the worker should do on site, in the worker's language."
    },
    "validation_criteria": {
      "type": "string",
      "description": "What the photos must show for the evidence to pass, e.g. \"λ§€μž₯ μž…κ΅¬μ™€ λŒ€κΈ°μ€„ 전체가 ν•œ ν”„λ ˆμž„μ— 보여야 함\"."
    },
    "lat": {
      "type": "number"
    },
    "lng": {
      "type": "number"
    },
    "address_hint": {
      "type": "string",
      "description": "Human-readable place name/address shown to the worker."
    },
    "radius_m": {
      "type": "integer",
      "minimum": 100,
      "maximum": 10000,
      "description": "Dispatch radius for worker matching."
    },
    "reward_krw": {
      "type": "integer",
      "minimum": 1000,
      "maximum": 200000
    },
    "expires_in_minutes": {
      "type": "integer",
      "minimum": 10,
      "maximum": 1440
    },
    "report_fields": {
      "type": "array",
      "maxItems": 5,
      "description": "Structured values the worker must report from the site (e.g. how many people are waiting). Returned in the result and included in the webhook.",
      "items": {
        "type": "object",
        "required": [
          "key",
          "label",
          "type"
        ],
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{0,39}$"
          },
          "label": {
            "type": "string",
            "description": "Worker-facing prompt in Korean, e.g. \"ν˜„μž¬ λŒ€κΈ° 인원\"."
          },
          "type": {
            "type": "string",
            "enum": [
              "text",
              "number"
            ]
          },
          "unit": {
            "type": "string",
            "description": "Unit shown beside the label, e.g. \"λͺ…\" or \"λΆ„\". Set it whenever the answer is a quantity: without it a worker asked for \"μ˜ˆμƒ λŒ€κΈ° μ‹œκ°„\" may reply \"11\" and you cannot tell minutes from people."
          },
          "placeholder": {
            "type": "string",
            "description": "Example answer shown in the empty field, e.g. \"μ•½ 40\"."
          }
        },
        "additionalProperties": false
      }
    },
    "webhook_url": {
      "type": "string",
      "description": "HTTPS URL that receives mission.completed / mission.failed / mission.cancelled / mission.expired events, so you do not have to poll. Payload is advisory β€” confirm via errand_get_result."
    }
  },
  "required": [
    "task_type",
    "title",
    "instructions",
    "validation_criteria",
    "lat",
    "lng",
    "radius_m",
    "reward_krw",
    "expires_in_minutes"
  ],
  "additionalProperties": false
}
🟒errand_get_status(dispatch_id)

Track a previously dispatched local human task: open Β· accepted Β· arrived Β· submitted Β· completed Β· failed Β· cancelled Β· expired, plus its event timeline. Use after errand_dispatch while the person is traveling or working on site.

Input Schema

{
  "type": "object",
  "properties": {
    "dispatch_id": {
      "type": "string",
      "description": "Id returned by errand_dispatch."
    }
  },
  "required": [
    "dispatch_id"
  ],
  "additionalProperties": false
}
🟒errand_get_result(dispatch_id)

Retrieve the verified on-site result from a human task: pass/fail verdict, score and feedback, signed photo URLs, structured answers, and evidence provenance including GPS distance, capture time, and server checks.

Input Schema

{
  "type": "object",
  "properties": {
    "dispatch_id": {
      "type": "string",
      "description": "Id returned by errand_dispatch."
    }
  },
  "required": [
    "dispatch_id"
  ],
  "additionalProperties": false
}
πŸ”΄errand_cancel(dispatch_id)

Cancel a real-world human dispatch while it is still open and refund the escrow in full. Fails once a worker has accepted and may already be traveling.

Input Schema

{
  "type": "object",
  "properties": {
    "dispatch_id": {
      "type": "string",
      "description": "Id returned by errand_dispatch."
    }
  },
  "required": [
    "dispatch_id"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
auth requiredversion not recordedβ€”