Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.zyntarasystems/human-dispatch-mcp

NPM · HUMAN-DISPATCH-MCP · SCANNED AUG 3

MCP server that dispatches physical-world tasks to humans through a unified API

Available components

+40 this week 65 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (122 of 124), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (122 of 124), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability57
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1990 tokens (~398/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · human-dispatch-mcp

# add to Claude Code
claude mcp add zyntarasystems-human-dispatch-mcp -- npx -y human-dispatch-mcp
# add to Codex CLI
codex mcp add zyntarasystems-human-dispatch-mcp -- npx -y human-dispatch-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "zyntarasystems-human-dispatch-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "human-dispatch-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add zyntarasystems-human-dispatch-mcp --command npx --arg -y --arg human-dispatch-mcp
# ~/.hermes/config.yaml
mcp_servers:
  zyntarasystems-human-dispatch-mcp:
    command: "npx"
    args: ["-y", "human-dispatch-mcp"]
// mcp.json
{
  "mcpServers": {
    "zyntarasystems-human-dispatch-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "human-dispatch-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +48
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Tool coverage: 100 → unverified functional
    • Security disclosure: fail → unverified functional
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Stability: unverified → 0.20 functional
    • Dependency health: unverified → partial functional
    • License: unverified → pass functional
    • Schema quality: unverified → excellent functional
    • Licence: MIT functional
  • 31 Jul 26 −6
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −18
    • Malware scan: pass → unverified security
  • 28 Jul 26 +16
    • Dependency health: partial → unverified functional
    • Tool coverage: unverified → 100 functional
    • First check of Schema quality: unverified functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 100 functional
  • 27 Jul 26 25

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 122 packages

122 packages in the resolved dependency tree · 122 deprecated · 35 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 5 exposed · ~1,990 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
human_cancel_task ~173

Cancel a pending or in-progress human task. Attempts to cancel the task both in the local system and on the backend service. Cancellation may not be possible if the task is already completed. PARAMETERS: - task_id: The UUID of the task to cancel. RETURNS: { task_id, cancelled: boolean, message: string } EXAMPLES: 1. Cancel a task: { task_id: "550e8400-e29b-41d4-a716-446655440000" } DON'T USE WHEN: - The task is already completed (check status first with human_get_task_status) - You want to modify a task (cancellation is permanent — dispatch a new task instead)

NameTypeReqDescription
task_idstringyesThe UUID of the task to look up, as returned by human_dispatch_task

No output schema declared.

No examples provided.

human_dispatch_task ~1,018

Dispatch a task to a human worker via the best available backend service. This is the primary tool for sending work to humans. You describe what needs to be done, and the system routes it to the most appropriate backend (Amazon Mechanical Turk for digital microtasks, RentAHuman.ai for physical/local tasks, or a manual fallback). PARAMETERS: - description: What the human should do. Be specific about location, timing, and deliverables. - category: Task category (errand, photo_video, data_collection, verification, delivery, digital_micro, in_person, custom) - task_type: physical (requires presence), digital (remote), or hybrid (both) - location: Where to perform the task (required for physical tasks). Include address or coordinates. - budget: Maximum USD to pay. Different backends have different ranges. - deadline: When it must be done, with urgency level. - proof_required: What evidence the worker must submit (photo, video, gps_checkin, text_report, receipt, signature). - quality_sla: low (fast/cheap), medium (default), high (verified workers, multiple proofs). - preferred_backends: Optional ordered list of backends to try first. - fallback_chain: Optional ordered fallback list if preferred backends fail. - callback_url: Optional webhook URL for status notifications. - metadata: Optional key-value pairs for your own tracking. EXAMPLES: 1. Photo task: { description: "Take a photo of the menu board at the Starbucks on 5th Ave and 42nd St, NYC", category: "photo_video", task_type: "physical", location: { address: "5th Ave & 42nd St, New York, NY" }, budget: { max_usd: 15, currency: "USD" }, deadline: { complete_by: "2025-01-15T18:00:00Z", urgency: "medium" }, proof_required: ["photo", "gps_checkin"], quality_sla: "medium" } 2. Data collection: { description: "Count the number of electric vehicle charging stations within 1km of Times Square", category: "data_collection", task_type: "physical", location: { address: "Times Square, NYC", radius_km: 1 }, budget: { max_us…

NameTypeReqDescription
budgetobjectyesBudget constraints for the task
callback_urlWebhook URL to receive status update notifications. Set to null or omit if you will poll for status instead.
categorystringyesCategory of the task — determines which backends are best suited
deadlineobjectyesWhen the task needs to be completed
descriptionstringyesClear, detailed description of what the human worker should do. Be specific about location, timing, and expected output. Example: 'Take a photo of the menu board at the Starbucks on 5th Ave and 42nd…
fallback_chainarrayOrdered list of fallback backends if the preferred ones fail. The 'manual' backend is always available as a last resort.
locationWhere the task should be performed. Required for physical tasks. Set to null or omit for digital tasks.
metadataobjectArbitrary key-value pairs for your own tracking (e.g. {'order_id': '12345', 'agent_name': 'my-bot'})
preferred_backendsarrayPreferred backend services to route this task to, tried in order. If omitted, the router picks the best backend automatically.
proof_requiredarrayyesTypes of proof the worker must submit upon completion. At least one is required. Example: ['photo', 'gps_checkin']
quality_slastringyesQuality/speed tradeoff: low=fastest/cheapest, medium=default, high=verified workers with multi-proof
task_typestringyesWhether the task requires physical presence, is digital-only, or both

No output schema declared.

No examples provided.

human_get_task_status ~225

Get the current status of a previously dispatched human task. Returns the full task state including: current status, which backend is handling it, worker info (if assigned), proof submissions (if any), actual cost, and timing info. If the task has been routed to a backend, this tool fetches fresh status from that backend and merges any new data (worker assignment, proof uploads, completion). PARAMETERS: - task_id: The UUID returned by human_dispatch_task. RETURNS: Full task object with status, backend_id, worker_id, proof array, cost, timestamps, and routing attempts. EXAMPLES: 1. Check on a task: { task_id: "550e8400-e29b-41d4-a716-446655440000" } DON'T USE WHEN: - You don't have a task_id (use human_list_tasks to find tasks) - You want to check all tasks at once (use human_list_tasks instead)

NameTypeReqDescription
task_idstringyesThe UUID of the task to look up, as returned by human_dispatch_task

No output schema declared.

No examples provided.

human_list_backends ~222

List all available backend services and their capabilities. Shows which backends are configured (have API keys), what types of tasks they support, their regional availability, budget ranges, and average completion times. Use this to understand what backends are available before dispatching a task, or to debug why a task was routed to a particular backend. NO PARAMETERS REQUIRED. RETURNS: Array of backend capabilities including: - id: Backend identifier - name: Human-readable name - supports_physical/digital: What task types it handles - supports_location: Whether it can handle location-specific tasks - available_regions: Where it operates - min/max_budget_usd: Budget range - avg_completion_minutes: Typical turnaround time - requires_api_key: Whether an API key is needed - configured: Whether the API key is present and the backend is ready EXAMPLES: 1. List all backends: {} (no parameters needed) DON'T USE WHEN: - You already know which backend to use (just set preferred_backends in human_dispatch_task)

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

human_list_tasks ~352

List all dispatched human tasks with optional filters and pagination. Returns tasks sorted by creation time (newest first). Use filters to narrow results by status, backend, or category. PARAMETERS: - status: (optional) Filter by task status: pending, routed, assigned, in_progress, awaiting_review, completed, failed, cancelled - backend_id: (optional) Filter by backend: mturk, rentahuman, manual - category: (optional) Filter by category: errand, photo_video, data_collection, verification, delivery, digital_micro, in_person, custom - limit: (optional) Max results to return, 1-100, default 20 - offset: (optional) Skip N results for pagination, default 0 RETURNS: { total, count, tasks[], has_more, next_offset } EXAMPLES: 1. List all tasks: {} 2. List completed tasks: { status: "completed" } 3. List physical tasks on RentAHuman: { backend_id: "rentahuman", limit: 10 } 4. Paginate: { limit: 5, offset: 5 } DON'T USE WHEN: - You know the exact task_id (use human_get_task_status for a single task)

NameTypeReqDescription
backend_idstringFilter tasks by which backend is handling them
categorystringFilter tasks by their category
limitintegerMaximum number of tasks to return (1-100, default 20)
offsetintegerNumber of tasks to skip for pagination (default 0)
statusstringFilter tasks by status (e.g. 'pending', 'completed')

No output schema declared.

No examples provided.