Errand

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

使うべきか

品質と安全性

A
説明の品質
97%
スキーマの完全性
85%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,518トークン数(ツール定義)
~1.4 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.19%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

リモートエンドポイント

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

できること

ツール一覧

ツール(7)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

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

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 7 件
認証が必要バージョンは記録されていません—