
Human Dispatch Mcp
io.github.zyntarasystems由 GitHub 帳號 zyntarasystems 發布v0.2.2更新於 Oct 24, 2026
MCP server that dispatches physical-world tasks to humans through a unified API
發布方自己的服務:TAP
概覽
一個 MCP 伺服器,讓助理透過 webhook 服務商把現實世界與數位任務派發給真人工作者,支援路由、狀態追蹤與手動備援。
- 可以做什麼
- 派發任務給真人工作者,包含描述、類別、預算、截止時間與所需證明,並路由到最合適的服務商或手動備援。查詢任務狀態、工作者資訊與已提交證明,依條件篩選列出任務,取消待處理或進行中的任務。註冊、列出與移除 webhook 服務商,查看已設定的後端及其能力。
- 適用情境
- 當代理需要只有真人才能完成的工作時使用,例如到某地點拍照、現場確認或小型數位任務,而且你有可接收任務的服務商 webhook 或手動後端。
- 執行需求
- 以 npm 套件形式在本機透過 stdio 執行,或透過僅綁定回送位址的 HTTP 加上 bearer 權杖執行。選用後端需要憑證:Amazon Mechanical Turk 需要 MTURK_ACCESS_KEY_ID 與 MTURK_SECRET_ACCESS_KEY,RentAHuman.ai 需要 RENTAHUMAN_API_KEY,手動通知需要 MANUAL_WEBHOOK_URL。對外 webhook 網址必須是公開的 HTTPS 網址。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Human Dispatch Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
human-dispatch-mcp
🌐 humandispatch.ai — Homepage & provider docs
A universal dispatch layer for AI-agent-to-human task routing — Any business (law firms, VA services, freelancers, agencies) can plug in via webhooks and start receiving AI-dispatched tasks in minutes.
Routes tasks to registered webhook providers with smart matching, fallback chains, and proof-of-completion tracking. Any service provider registers a webhook, and the router matches tasks to providers based on capabilities, region, and budget.
Quick Start
Testing with MCP Inspector
The easiest way to verify the server is working:
Open http://localhost:5173, enter the proxy session token shown in your terminal, and click Connect.
Test sequence:
-
List backends — call
human_list_backendsto seewebhook_providerandmanual -
Register a provider — call
human_register_provider:
- Dispatch a task — call
human_dispatch_taskwith Raw JSON input mode:
The task should route to your registered provider. If no providers match, it falls through to the manual backend.
MCP Client Configuration
Claude Desktop / Cursor / Any MCP Client
HTTP Transport
Note: HTTP transport binds to
127.0.0.1only. For remote access, place a TLS-terminating reverse proxy (e.g. nginx, Caddy) in front of the server. Never expose the port directly.
Required: HTTP transport refuses to start without
MCP_AUTH_TOKENset. AllPOST /mcprequests must includeAuthorization: Bearer <MCP_AUTH_TOKEN>. The/callbacks/task/:taskIdendpoint uses HMAC-signature auth instead — providers do not see the bearer token.
Tools Reference
Architecture
For Service Providers
Any business can register as a provider to receive AI-dispatched tasks. Here's how:
1. Set up a webhook endpoint
Your endpoint receives POST requests with these headers:
2. Handle task.new events
Request body:
payload_version is the request-shape version; pin your parser to a known version and reject unknown ones. Today only 1 is sent.
Respond with:
Or reject:
Handle provider.verify events
When a provider is registered, the server immediately POSTs a provider.verify event to confirm the endpoint is reachable and willing. A 200 alone is not enough — your endpoint must return { "verified": true } in the JSON body. Anything else (missing field, false, non-JSON) marks verification as unreachable. This makes registration require explicit consent from your endpoint, not just URL reachability.
3. Report completion (HTTP transport only)
POST to http://<server>/callbacks/task/<task_id> with headers:
x-provider-id: Your provider UUIDx-dispatch-signature:sha256=<hmac_hex>of the body
4. Verify HMAC signatures
Always verify incoming webhooks using your shared secret:
HMAC canonicalization contract (load-bearing): the signature is computed over the exact bytes the request was POSTed with, not over a re-serialized JSON object. When you send a callback, sign the byte string you put on the wire — do not parse the body, re-stringify it, and sign that, because key ordering or whitespace may differ. Use JSON.stringify(payload) once, capture the resulting string, sign that string, send that string. The server applies the same rule on the receiving side: it captures the raw request body buffer before any JSON parser touches it.
Smart Routing
The router automatically picks the best backend based on:
- Agent preferences —
preferred_backendsandfallback_chainare honored first - Provider matching — category, task type, region, and budget compatibility
- Reliability — providers with higher completion rates are tried first
- Speed — faster providers score higher
- Fallback — the
manualbackend is always available as the ultimate fallback
Example Agent Usage
Python with LangGraph
Environment Variables
Security
This server processes outbound HTTP requests on behalf of its callers and is intended to run inside trusted infrastructure. The relevant guarantees:
- HTTP transport requires authentication.
MCP_AUTH_TOKENis mandatory; the server refuses to start without it. Bearer comparison is constant-time (timingSafeEqual). - DNS-rebinding protection is enabled on
POST /mcp. The transport rejects requests whoseHostheader points at anything other than the configured loopback. - Outbound URL guard. Every webhook URL the server fetches (provider registration,
MANUAL_WEBHOOK_URL,callback_url, proof URLs) goes through a structured validator: HTTPS only, no loopback, no RFC1918 / link-local / unique-local hosts, with a DNS resolution check at fetch time to defeat last-second rebinds. There is no opt-out — use a public tunnel (ngrok, cloudflared) for local testing. - Inbound callbacks are authenticated by HMAC, not by IP. Each provider registers its own webhook secret. The server verifies
x-dispatch-signatureover the raw request bytes before parsing JSON. A per-provider token bucket limits callback flood (30 burst, 5/sec sustained). - Terminal-state guard. Once a task reaches
completed,failed, orcancelled, callbacks for that task are rejected with 409. This blocks replays, late provider retries, and provider-driven status flips. - Webhook payload versioning. All outbound bodies carry
payload_versionandeventdiscriminators. Pin your parser; reject unknown versions. - Webhook secrets never leave the server. Provider data returned by MCP tools is sanitized to drop
webhook_secret. The same field never appears in logs. - No persistence. Tasks, providers, and per-task state live in memory. Restarting the server discards all state. If you operate this in production, terminate it cleanly so in-flight tasks fail fast rather than hang in providers.
If you discover a security issue, please open a private security advisory on GitHub rather than a public issue.
Roadmap
- Persistent provider registry (SQLite / PostgreSQL)
- Task expiration and automatic retry
- Provider quality scoring and feedback loops
- Cost estimation before dispatch
- Batch task submission
- Provider dashboard / admin UI
- OAuth-based provider authentication
Contributing
Adding a New Backend Adapter
- Create a new file in
src/services/backends/ - Extend
BaseBackendAdapter - Implement all methods from
BackendAdapterinterface - Add the backend ID to the
BackendIdenum insrc/types.ts - Register the adapter in
src/index.ts
License
MIT
來源:README.md,提交 d8d9f83
工具
0版本歷史
1- v0.2.2最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。
其他 Human 整合

TAP
tech.human官方發布者
TAP 是託管式遠端 MCP 端點,透過佔位密鑰、政策檢查與可選的人工核准,為 AI 代理隔離憑證。
UGC, the Human Ad Network
africa.ugc官方發布者
UGC(「Human Ad Network」)的遠端 MCP 端點,讓助理在對話中處理廣告活動、剪輯與 Clip Studio。

Woodstitch
com.woodstitch
對文字轉語音音訊發起付費的盲聽人工評測,回傳附信賴區間的偏好或人機判別結果。

J-Dawgs AI Tool Store & Human Hands — Catalog MCP
由 GitHub 帳號 joshuajdawg0350 發布
J-Dawgs AI 工具商店與 Human Hands for AIs 的唯讀目錄伺服器,讓助理搜尋工具、價格與套裝方案,並了解代理如何發布現實任務。

ActualHumanTake
由 GitHub 帳號 magiautonomous 發布
提交產品以取得真人撰寫的誠實評論,並讓助理憑祕密回執權杖查詢進度或讀取已完成的回饋。