Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:6df6f5b52a5299cc6acb7e00aeab97a94e960d039fd346fd403660abedef9309
What it is
What a remote MCP server returned when asked what it offers: 7 tools

The blob, as servednamed by its sha256

{ "instructions": "Errand is a physical-world execution layer for AI agents in Seoul (Gangnam beta). Use it when a user needs eyes, hands, or physical presence at a real place: on-site verification, store/shelf/price/open-hours checks, photos, queue checks or holding, and pickups. Do not use Errand for purely digital tasks. Safe flow: list_capabilities → check_coverage → quote → present total_charge_krw and obtain explicit user confirmation → dispatch → poll get_status → get_result. Rewards are KRW; dispatch escrows reward plus platform fee, and failure/expiry/pre-acceptance cancellation refunds in full. Never call errand_dispatch when quote.can_dispatch is false. Account caps are pre-approved boundaries; a cap violation means the owner must raise it, not that you should retry.", "tools": [ { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "dispatch_id": { "description": "Id returned by errand_dispatch.", "type": "string" } }, "required": [ "dispatch_id" ], "type": "object" }, "name": "errand_cancel", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "lat": { "type": "number" }, "lng": { "type": "number" }, "radius_m": { "description": "Default 3000.", "maximum": 10000, "minimum": 100, "type": "integer" } }, "required": [ "lat", "lng" ], "type": "object" }, "name": "errand_check_coverage", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "address_hint": { "description": "Human-readable place name/address shown to the worker.", "type": "string" }, "expires_in_minutes": { "maximum": 1440, "minimum": 10, "type": "integer" }, "instructions": { "description": "Exactly what the worker should do on site, in the worker's language.", "type": "string" }, "lat": { "type": "number" }, "lng": { "type": "number" }, "radius_m": { "description": "Dispatch radius for worker matching.", "maximum": 10000, "minimum": 100, "type": "integer" }, "report_fields": { "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": { "additionalProperties": false, "properties": { "key": { "pattern": "^[a-z][a-z0-9_]{0,39}$", "type": "string" }, "label": { "description": "Worker-facing prompt in Korean, e.g. \"현재 대기 인원\".", "type": "string" }, "placeholder": { "description": "Example answer shown in the empty field, e.g. \"약 40\".", "type": "string" }, "type": { "enum": [ "text", "number" ], "type": "string" }, "unit": { "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.", "type": "string" } }, "required": [ "key", "label", "type" ], "type": "object" }, "maxItems": 5, "type": "array" }, "reward_krw": { "maximum": 200000, "minimum": 1000, "type": "integer" }, "task_type": { "enum": [ "verify", "photograph", "pickup", "queue", "check" ], "type": "string" }, "title": { "description": "Short worker-facing title, e.g. \"성수동 XYZ 팝업 대기줄 확인\".", "type": "string" }, "validation_criteria": { "description": "What the photos must show for the evidence to pass, e.g. \"매장 입구와 대기줄 전체가 한 프레임에 보여야 함\".", "type": "string" }, "webhook_url": { "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.", "type": "string" } }, "required": [ "task_type", "title", "instructions", "validation_criteria", "lat", "lng", "radius_m", "reward_krw", "expires_in_minutes" ], "type": "object" }, "name": "errand_dispatch", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "dispatch_id": { "description": "Id returned by errand_dispatch.", "type": "string" } }, "required": [ "dispatch_id" ], "type": "object" }, "name": "errand_get_result", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "dispatch_id": { "description": "Id returned by errand_dispatch.", "type": "string" } }, "required": [ "dispatch_id" ], "type": "object" }, "name": "errand_get_status", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "errand_list_capabilities", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "lat": { "type": "number" }, "lng": { "type": "number" }, "radius_m": { "description": "Default 3000.", "maximum": 10000, "minimum": 100, "type": "integer" }, "reward_krw": { "maximum": 200000, "minimum": 1000, "type": "integer" }, "task_type": { "enum": [ "verify", "photograph", "pickup", "queue", "check" ], "type": "string" } }, "required": [ "task_type", "lat", "lng", "reward_krw" ], "type": "object" }, "name": "errand_quote", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:6df6f5b52a5299cc6acb7e00aeab97a94e960d039fd346fd403660abedef9309 | sha256sum