
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 发布
提交产品以获得真人撰写的诚实评价,并让助手凭秘密回执令牌查询进度或读取已完成的反馈。