关于 handwork
handwork 是连接 Agent 与人工服务台的 MCP 服务,可处理制作、测量、组装、测试或运输等现实任务。它支持查看服务、申请报价和查询状态;申请报价不会下单或触发付款。
主要功能
- 01查看可提供的人工服务
- 02申请固定价格报价
- 03查询报价请求状态
- 04将调用转发至远程服务台
适用场景
- 01确认某项现实任务是否受理
- 02提交任务详情以获取人工审核报价
- 03查询先前请求的状态
- 04让 Agent 对接现实世界的工作
MCP 相关
向 MCP 客户端提供服务目录、报价申请和状态查询工具。它将工具调用转发至远程 handwork 端点,并原样传回响应。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 1 周前
此工具无需参数。
详细介绍
handwork
有些工作需要现实世界中的人员参与:制作、测量、组装、测试或发货。handwork 是一个小型 MCP 服务,可将 Agent 连接到承接此类工作的人工服务台。它提供三个工具——服务目录、报价请求和状态查询——并将每次调用转发到服务台的公开远程端点,原样返回响应。
请求报价并不等于下单。报价通过电子邮件发送并在邮件中接受之前,不会收取任何费用,也不会制作任何东西;这些工具本身不具备下单或付款功能。
工具
list_services— 介绍服务会做和不会做的事、拒绝承接的类别、示例价格、付款方式以及关键合同条款。不接受参数,也无需身份验证。request_quote— 描述一项现实世界中的任务(要做什么、需要哪些服务、交付物、截止日期、送货地址、输入文件、货币),并提供客户端的账单信息。工作人员会审核请求,并在 24 小时内通过电子邮件回复固定价格的报价。回复中包含quote_id和access_token;请妥善保存令牌,因为这是读取请求记录的唯一方式。顶层没有必填字段,但嵌套的task对象必须包含description,嵌套的client对象必须包含email和name。get_status— 查询之前报价请求的状态。必须同时提供id(即quote_id)和access_token。记录保留 90 天,报价本身会通过电子邮件发送。
工作原理
handwork 是一个转发客户端,而不是重新实现。它根据远程服务发布的工具定义自行提供 tools/list;对于每次 tools/call,它都会与上游建立一个可流式传输的 HTTP JSON-RPC 会话——先发送 initialize,再发送 notifications/initialized,然后执行调用;只要上游提供了 Mcp-Session-Id 标头,就会在请求中携带该标头。随后,它会原样传递上游结果。如果无法连接上游或上游返回错误,调用会以 handwork error: 消息失败,而不会伪造结果。
上游端点默认为 https://handsforagents.com/mcp。设置 HANDS_MCP_URL 环境变量可将客户端指向其他端点(这是重构时提供的便利;已发布的服务本身没有指定覆盖方式)。
运行
作为通过 stdio 通信的 MCP 服务:
npx -y @reneturcios/handwork mcp
MCP 客户端配置:
{
"mcpServers": {
"handwork": {
"command": "npx",
"args": ["-y", "@reneturcios/handwork", "mcp"]
}
}
}
在容器中运行(默认命令为 mcp):
docker run -i ghcr.io/cloudcorprecords/handwork
docker run --rm ghcr.io/cloudcorprecords/handwork --version
CLI
handwork mcp # serve the tools over stdio
handwork --version # print the version
任何其他子命令都会打印用法说明并以代码 2 退出。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner via tsx; stubbed upstream, no network
npm run dev # run the CLI from source
测试会将转发核心连接到一个通过替代 fetch 注入的虚假 JSON-RPC 上游,涵盖握手顺序、会话处理、原样传递、事件流响应、错误呈现,并检查所提供的 tools/list 是否与捕获到的上游工具列表完全一致。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。