Hands for Agents MCP server
online · 96% uptimecom.handsforagents/hands·v0.2.0Human-operated physical world in the EU: make, assemble, measure, verify, ship.
0 stars231 downloads/wk
Reviews
Write oneNobody has reviewed Hands for Agents yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Hands for Agents tools (5, 2 write)
write = sends, deletes, buys or postsconfirm_deliveryFreeAccepts 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.
create_taskwrite actionFreeAccepts 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.
get_statusFreeReturns 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.
list_servicesFreeReturns 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.
request_quotewrite actionFreeCreates 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":"ops@example.com","name":"Example Inc."}. With a delivery address and an input file: {"description":"Make 20 rubber gaskets, 60 mm outer diameter, black EPDM.","email":"ops@example.com","name":"Example Inc.","delivery_address":"Example GmbH, Musterstr. 1, 10115 Berlin, DE, +49 30 000000","input_files":["https://example.com/gasket-drawing.pdf"]}
Public scan report
scanner v0.1.10 · 2026-10-03 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned25/25
- Live reliabilityremote reachable in 1714ms20/20
- Tool poisoning5 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 2 write-action tools with no auth3/15
- Maintenancelast push 9 days ago15/15
- Maintainer identityregistry namespace matches repository owner; website matches verified namespace8/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
How Hands for Agents compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 86/100
- higher than 72% of 48,243 servers
- Tools
- 5
- the typical server has 7
- Tools that change things
- 40%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 96%
- of our recent checks; the typical remote server answers 100%
- Response time
- 783 ms
- faster than 19% of 30,027 servers
- Downloads a week
- 231
- more than 77% of 12,306 servers with a package
What its tools let an agent do: 3 read · 1 create · 1 change
Release history: 2 versions in the registry since 2026-09-19, latest 2026-09-23, typically one every 4 days.
Install Hands for Agents in Claude Code, Cursor or VS Code
claude mcp add --transport http hands https://mcp.handsforagents.com/mcp
What the publisher says
From the Hands for Agents repository's README, as published. We do not edit it. Read it on GitHub
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://handsforagents.com/mcp (Streamable HTTP)
- REST: https://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:
{
"mcpServers": {
"handsforagents": {
"type": "http",
"url": "https://handsforagents.com/mcp"
}
}
}For a client that only speaks stdio, this package bridges to the same endpoint and adds nothing of its own:
{
"mcpServers": {
"handsforagents": {
"command": "npx",
"args": ["-y", "handsforagents-mcp"]
}
}
}No API key, no account, no registration. listservices and requestquote are open; getstatus needs the accesstoken that request_quote handed you.
Tools
There is deliberately no createtask and no confirmdelivery yet. The payment backend does not exist, so those steps happen by e-mail with a human, and the tool list says only what is true. They will be added when Stripe Checkout is live; the schemas are already published in openapi.yaml and in services.json.
Try it without installing anything
curl -s https://handsforagents.com/mcp \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/list' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list",
"params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28"}}}'Or without MCP at all:
curl -s https://handsforagents.com/v1/services | head -40What 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 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
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Grade history
- 2026-10-03restoreB → Ascore 86: Write-action tools reachable without authentication
- 2026-09-19downgradeA → Bscore 83: Write-action tools reachable without authentication
Hands for Agents: common questions
- Is Hands for Agents MCP server safe?
- Yes, by our scan: it is graded A (86/100). Read the Hands for Agents safety report
- How do I install Hands for Agents?
- It runs remotely at mcp.handsforagents.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Hands for Agents need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Hands for Agents maintained?
- The last commit was 42 days ago (2026-09-24). The latest release is v0.2.0.
- Is Hands for Agents up?
- 96% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does Hands for Agents compare with other MCP servers?
- safety score 86/100 (higher than 72% of 48,243 servers); tools 5 (the typical server has 7); tools that change things 40% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.