Dispatch nearby humans for on-site checks, photos, pickups and queues with verified evidence.
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.
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.
Id returned by errand_dispatch.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
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.
| Argument | Type | Description |
|---|---|---|
| dispatch_id* | string | Id returned by errand_dispatch. |
{
"type": "object",
"required": [
"dispatch_id"
],
"properties": {
"dispatch_id": {
"type": "string",
"description": "Id returned by errand_dispatch."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lng* | number | |
| radius_m | integer | Default 3000. |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"radius_m": {
"type": "integer",
"maximum": 10000,
"minimum": 100,
"description": "Default 3000."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lng* | number | |
| title* | string | Short worker-facing title, e.g. "성수동 XYZ 팝업 대기줄 확인". |
| radius_m* | integer | Dispatch radius for worker matching. |
| task_type* | string | |
| reward_krw* | integer | |
| webhook_url | string | 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. |
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. Also returns share_url: a read-only result page (valid 30 days, no login) you can send to the person who asked for the check.
| Argument | Type | Description |
|---|---|---|
| dispatch_id* | string | Id returned by errand_dispatch. |
{
"type": "object",
"required": [
"dispatch_id"
],
"properties": {
"dispatch_id": {
"type": "string",
"description": "Id returned by errand_dispatch."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| dispatch_id* | string | Id returned by errand_dispatch. |
{
"type": "object",
"required": [
"dispatch_id"
],
"properties": {
"dispatch_id": {
"type": "string",
"description": "Id returned by errand_dispatch."
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lng* | number | |
| radius_m | integer | Default 3000. |
| task_type* | string | |
| reward_krw* | integer |
{
"type": "object",
"required": [
"task_type",
"lat",
"lng",
"reward_krw"
],
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"radius_m": {
"type": "integer",
"maximum": 10000,
"minimum": 100,
"description": "Default 3000."
},
"task_type": {
"enum": [
"verify",
"photograph",
"pickup",
"queue",
"check"
],
"type": "string"
},
"reward_krw": {
"type": "integer",
"maximum": 200000,
"minimum": 1000
}
},
"additionalProperties": false
}| address_hint | string | Human-readable place name/address shown to the worker. |
| instructions* | string | Exactly what the worker should do on site, in the worker's language. |
| report_fields | array | 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. |
| expires_in_minutes* | integer |
| validation_criteria* | string | What the photos must show for the evidence to pass, e.g. "매장 입구와 대기줄 전체가 한 프레임에 보여야 함". |
{
"type": "object",
"required": [
"task_type",
"title",
"instructions",
"validation_criteria",
"lat",
"lng",
"radius_m",
"reward_krw",
"expires_in_minutes"
],
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"title": {
"type": "string",
"description": "Short worker-facing title, e.g. \"성수동 XYZ 팝업 대기줄 확인\"."
},
"radius_m": {
"type": "integer",
"maximum": 10000,
"minimum": 100,
"description": "Dispatch radius for worker matching."
},
"task_type": {
"enum": [
"verify",
"photograph",
"pickup",
"queue",
"check"
],
"type": "string"
},
"reward_krw": {
"type": "integer",
"maximum": 200000,
"minimum": 1000
},
"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."
},
"address_hint": {
"type": "string",
"description": "Human-readable place name/address shown to the worker."
},
"instructions": {
"type": "string",
"description": "Exactly what the worker should do on site, in the worker's language."
},
"report_fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"label",
"type"
],
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,39}$"
},
"type": {
"enum": [
"text",
"number"
],
"type": "string"
},
"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."
},
"label": {
"type": "string",
"description": "Worker-facing prompt in Korean, e.g. \"현재 대기 인원\"."
},
"placeholder": {
"type": "string",
"description": "Example answer shown in the empty field, e.g. \"약 40\"."
}
},
"additionalProperties": false
},
"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."
},
"expires_in_minutes": {
"type": "integer",
"maximum": 1440,
"minimum": 10
},
"validation_criteria": {
"type": "string",
"description": "What the photos must show for the evidence to pass, e.g. \"매장 입구와 대기줄 전체가 한 프레임에 보여야 함\"."
}
},
"additionalProperties": false
}