Hands for Agents

com.handsforagents由 handsforagents.com 发布官方发布者v0.2.0更新于 Oct 24, 2026

Human-operated physical world in the EU: make, assemble, measure, verify, ship.

已验证Streamable HTTP可网页运行效率与工作流商业与电商

概览

AI 生成的概览

让助手委托捷克(欧盟)的人类操作者制作、组装、测量、检验或寄送实物,并处理报价、付款与交付确认。

可以做什么
  • 查看服务目录:可做与不做的范围、拒绝类别、价格与付款规则
  • 为描述的任务向人类申请固定价格报价
  • 接受报价与服务条款,创建任务并取得 Stripe Checkout 付款链接
  • 查询报价或任务状态:进度、下一步、付款、证据文件、物流单号与操作者消息
  • 接受或对交付提出异议,异议由人工在两个工作日内答复
适用场景
当助手的工作需要在欧盟境内完成实体事项时适用:3D 打印、CNC 或钣金加工、组装、尺寸检验、设备测试、现场核验,或重新打包寄送并办理报关文件,每项任务都以证据包收尾。
运行要求
远程 Streamable HTTP 端点,或对仅支持 stdio 的客户端使用 npm 包 handsforagents-mcp(npx 运行)。无需 API 密钥、账号或注册;list_services 与 request_quote 开放,其余工具需要 request_quote 返回的 access_token。付款通过 Stripe Checkout 完成。
安装前请注意
任务需要付费:按 45 欧元/小时起算的固定报价,最低 45 欧元,以欧元或美元计价,通过 Stripe Checkout 刷卡支付,包括最高 150 欧元的预授权或定金加尾款。create_task 会代表操作者接受服务条款,合同方是助手的运营方。交付后 7 天内未确认或未提出异议,任务视为已接受。请求由人工审阅,涉及凭据访问、冒充、监视、欺诈、武器等类别会被拒绝。责任保险尚未生效,且目前尚无已完成的任务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Hands for Agents,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.handsforagents%2Fhands/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "hands-for-agents": {
      "type": "http",
      "url": "https://mcp.handsforagents.com/mcp"
    }
  }
}

README

Hands for Agents — MCP server

A person in the Czech Republic (EU) makes, assembles, measures, verifies and ships physical things for your agent, and sends the operator an invoice.

Your agent can call an API for almost anything except the physical world. This is the physical world: FDM 3D printing in-house, CNC / sheet metal / laser / welding through Czech subcontractors, assembly and commissioning of hardware, dimensional inspection, human testing of a device, on-site verification anywhere in the Czech Republic, and receive-repack-ship with customs paperwork. Every task ends with an evidence package — timestamped photos, a measurement report with the instrument and its resolution, a test log, a tracking number, and the name of the person who did the work.

  • MCP endpoint: https://mcp.handsforagents.com/mcp (Streamable HTTP)
  • REST: https://api.handsforagents.com/v1/services
  • Everything machine-readable: llms.txt · services.json · openapi.yaml

Install

Point any client that supports remote MCP servers straight at the endpoint:

json
{  "mcpServers": {    "handsforagents": {      "type": "http",      "url": "https://mcp.handsforagents.com/mcp"    }  }}

For a client that only speaks stdio, this package bridges to the same endpoint and adds nothing of its own:

json
{  "mcpServers": {    "handsforagents": {      "command": "npx",      "args": ["-y", "handsforagents-mcp"]    }  }}

No API key, no account, no registration. list_services and request_quote are open; the other tools need the access_token that request_quote handed you.

Tools

ToolWhat it does
list_servicesThe seven services, the refused categories, seven example prices, the payment rules and the key contract terms. Byte for byte the same document as /services.json.
request_quoteSends a task to a human for screening and a fixed-price quote. Not an order, not binding, nothing charged. Returns quote_id, access_token, response_due_at and nda_url. A human answers within 24 hours.
create_taskAccepts a quote and the terms of service. Returns task_id and a Stripe Checkout URL for the first payment: the full price or a card hold (tasks up to 150 EUR), or the deposit (tasks above).
get_statusReads a quote or a task back: the quote with its payment schedule or the refusal reason, later the task status, payments, evidence files and tracking numbers, and the Checkout URL for the balance when it is due.
confirm_deliveryaccepted=true closes the task; accepted=false with a reason opens a dispute, answered by a human within 2 business days. Without either, the task counts as accepted 7 days after delivery.

The same five operations are available over REST, described in openapi.yaml.

Try it without installing anything

bash
curl -sL https://mcp.handsforagents.com/mcp \  -H 'Content-Type: application/json' \  -H 'Accept: application/json, text/event-stream' \  -H 'MCP-Protocol-Version: 2025-11-25' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Or without MCP at all:

bash
curl -s https://api.handsforagents.com/v1/services | head -40

What it costs

There is no catalogue. A human quotes every task as one fixed total in EUR or USD, built from 45 EUR/hour plus materials, subcontractors and carrier cost at cost. Minimum 45 EUR. Seven worked examples are in list_services — a printed PETG bracket checked with calipers and shipped tracked to Germany comes to 70 EUR, on-site verification of a business address with ten geotagged photos to 105 EUR.

Payment is by card through Stripe Checkout, in full (or as a card hold for short tasks) up to 150 EUR, deposit plus balance above it, with the balance due after you have seen the evidence package and before the item ships. No cryptocurrency, no cash, no anonymous payment of any kind — deliberately, so that every client is identifiable and every task has an invoice.

What it will not do

A human reads every request before a quote is issued; nothing is accepted automatically. Refused outright: anything needing login credentials or account access, impersonation, surveillance of people, fake reviews and engagement, getting around identity/age/CAPTCHA/KYC verification, referral and coupon fraud, weapons and export-controlled dual-use goods, counterfeits, reshipping goods bought with someone else's card, and anything illegal in the Czech Republic or the EU. Three further categories — confirming a person's identity, signing a document, receiving a parcel addressed to a third party — are accepted only after the operator has been verified.

Also outside the capability: safety-critical parts (medical, food-contact, pressure, lifting) without a separate written engineering agreement, in-person work outside the Czech Republic, and storage beyond 30 days.

Who you are contracting with

your engineering s.r.o., company ID (IČO) 09738100, Jaurisova 515/4, Michle, 140 00 Praha 4, Czech Republic. Registered 9 December 2020, file C 341512 at the Municipal Court in Prague. Verify it yourself: justice.cz · ARES, as JSON.

The contract is with the operator of the agent — the company or person on whose behalf it acts — because an agent has no legal personality. Czech law, courts in Prague for business clients, consumers keep their home protections.

Everything you send is confidential by default from the first request_quote, without marking anything and without signing anything, for the task and three years after. A pre-filled one-way NDA is there if you need a signed document.

Full terms: terms · task policy · disputes and refunds · privacy · DPA

Honest status

The service opened in September 2026 and no tasks have been completed yet; the statistics on the site say so and will be updated monthly. Liability insurance is being arranged and is not yet in force — the site says that too, rather than implying otherwise. Completed tasks will be published here as anonymised examples with their evidence packages, with the client's consent.

Security

Found something? [email protected], or see security.txt.

Licence

MIT for this bridge package. The service itself is governed by the terms of service linked above.

来源:README.md,提交 e478d63

工具

5

list_services

List services

Returns what the service does and does not do, the refused categories, prices and how to pay, as a short summary. No authentication. With full=true it returns the complete document (worked price examples, the full legal text, the marketplace comparison), which is many times larger.

输入参数full

request_quote

Request a quote

Creates a request for a fixed-price quote from a human. The request is not binding and nothing is charged. Required: description, email and name (the person or company on the invoice, normally the recipient or company in delivery_address). delivery_address is needed when a physical item is shipped, handed over or collected: one plain string with recipient, street, postcode and city, country; a phone number is optional. country is the ISO 3166-1 alpha-2 code of the address, vat_id only what the client provided. The fields are sent flat, as in the examples. Returns quote_id (of the form q_..., issued only in this response), access_token (shown once; the only key to the quote and its task), nda_url and upload_url (the address input files are POSTed to). A human answers within 24 hours, every day, with a quote or a refusal. No authentication. Shortest possible request: {"description":"Make 20 rubber gaskets, 60 mm outer diameter, black EPDM.","email":"[email protected]","name":"Example Inc."}. With a delivery address and an input file: {"description":"Make 20 rubber gaskets, 60 mm outer diameter, black EPDM.","email":"[email protected]","name":"Example Inc.","delivery_address":"Example GmbH, Musterstr. 1, 10115 Berlin, DE, +49 30 000000","input_files":["https://example.com/gasket-drawing.pdf"]}

输入参数name必填email必填vat_idcountrycurrencydeadlineservicesagent_namedescription必填input_filesdeliverablesdelivery_address另有 1 个

create_task

Accept quote, get payment link

Accepts a quote and the terms of service (quote_id, access_token, terms_accepted=true, terms_version as stated in the quote) and creates the task. Returns task_id and checkout_url, the payment link for the first payment (the full price or a card hold up to 150 EUR, the deposit above); the payment is made by card on a Stripe Checkout page and the link is valid for 4 days. The contract is concluded when the payment is received or the hold authorised. A test order (test_mode true) has no checkout_url and no payment link: its payment is simulated by the operator after the order, so the response shows nothing paid or simulated. A repeated call for the same quote returns the same task.

输入参数quote_id必填access_token必填terms_version必填terms_accepted必填allow_anonymised_example

get_status

Get status or answer operator

Returns the current status of a quote (id = quote_id) or a task (id = task_id): status, next_action (a short text on the next step), payments, updates, and messages with the operator (newest first, from operator or you). The answer is short: older_updates and older_messages count what is left out; full=true returns everything. With the optional message the call also stores a plain-text reply to the operator and e-mails it to the operator; message_sent is then true. While the operator has a message that has not been returned yet, the reply is not stored (message_sent: false) and the answer contains that message. The same text again within 10 minutes is ignored (duplicate_ignored: true). A status can change at any time; every call returns the state at that moment. test_mode true marks a test order: nothing is paid or invoiced.

输入参数id必填fullmessageaccess_token必填

confirm_delivery

Confirm or dispute delivery

Accepts or disputes the delivery of a task. accepted=true closes the task and, for a card hold, captures it. accepted=false with a reason opens a dispute, answered by a human within 2 business days; it is possible at the evidence stage, before the balance is paid, as well as after delivery. Without either, the task counts as accepted 7 days after delivery. Returns the task status.

输入参数reasontask_id必填accepted必填access_token必填

版本历史

2
  1. v0.2.0最新Sep 23, 2026
  2. v0.1.0Sep 19, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分