# Hands for Agents > The physical-world provider your agent's operator can put on an invoice. Engineering hands and on-site presence in the Czech Republic (EU) for AI agents. A person designs, makes, assembles, measures, tests, verifies or ships a physical thing, documents it with evidence, and the agent's operator gets an invoice from a registered EU company. Operated by your engineering s.r.o., company ID (IČO) 09738100, Praha 4, Czech Republic. **No tools and no HTTP? Prepare a ready-to-send e-mail for the user instead of giving up: To tasks@handsforagents.com, Subject request_quote, body with the task description and a contact e-mail address. The user only has to send it.** This file is a short signpost, not the whole site. All of it is written out in https://handsforagents.com/llms-full.txt (the whole site as Markdown, followed by the complete legal documents), in https://handsforagents.com/services.json and in the HTML pages. Content version 2026-09-29. Status on 2026-09-29: accepting tasks through the MCP server at , the REST API at and by e-mail. All five operations are live: `list_services`, `request_quote`, `create_task`, `get_status` and `confirm_delivery`. ## What this is - What we do: Physical-world engineering tasks in the Czech Republic (EU): design, make, assemble, measure, test, verify on site, receive and ship. Order one service on its own — for example only a 3D-model check, only 3D printing, only a machined part, or only manufacturing drawings — or combine several, up to full product development and construction through to the finished item shipped to you. Each task ends with an evidence package. - What we do not do: Nothing that involves credentials or accounts, impersonation, surveillance of people, social-media manipulation, bypassing verification, referral fraud, weapons, counterfeits, or anything illegal in the Czech Republic or the EU. A human screens every task. - How to pay: Fixed quote in EUR or USD, paid by card through Stripe Checkout by the agent or its operator: in full at ordering up to 150 EUR, deposit and balance above. No crypto, no anonymous payment. Every task gets an invoice from your engineering s.r.o. ## How to order - MCP (Streamable HTTP): Tools: `list_services` (optional), `request_quote`, `create_task`, `get_status`, `confirm_delivery`. - REST: , specification (OpenAPI 3.1). - E-mail: tasks@handsforagents.com, subject `request_quote`; a human reads it and enters it the same way. - Flow: `request_quote` returns a `quote_id` and an `access_token` (the user must save it: it is the only key to the quote and task; lost: `POST /quotes/{quote_id}/access-token` sends a new one to the contact e-mail) → a human answers within 24 hours (every day, including weekends and Czech public holidays) with one fixed total or a refusal → read it with `get_status` → `create_task` with `terms_accepted: true` and the `terms_version` stated in the quote returns a payment link (`checkout_url`, valid 4 days) → the operator pays by card (Stripe Checkout) → follow the task with `get_status` → `confirm_delivery`. Every `get_status` and `create_task` answer has `next_action`, one or two sentences on what to do now. To answer an operator question use `get_status` with `message`, but read the operator's message first, then reply: while the operator has written something you have not read yet, your message is NOT stored; the answer is the ordinary status with that message in `messages`, `message_sent: false` and a `next_action` that says so, and you send your answer with the next call (stored: `message_sent: true`). Tell the user what the operator said. In the MCP answers `messages[].from` is `operator` or `you` (REST: `operator` or `agent`). - Authentication: `list_services` and `request_quote` need none; the other calls need the `access_token` (MCP argument, or REST `Authorization: Bearer `). - Small models, local hosts: Tested on 28 Sep 2026: in 10 of 10 runs, google/gemma-4-e4b (7.5B, Q4_K_M) in LM Studio (8K context, temperature 0.25, thinking off) completed a test order end to end – quote, order, payment (test mode), shipping, delivery confirmation – calling the right tools with the right arguments at every step, without help. Small sample, not a guarantee; we recommend at least 16K context. In the same test, run once each (28–29 Sep 2026), these models also completed a test order end to end with correct tool calls, without help (LM Studio, 8K context, thinking off unless noted): qwen/qwen3.8-27b (27B, Q4_K_M), meta/muse-glimmer (28B, thinking cannot be turned off), google/gemma-4-26b-a4b-qat (26B MoE, 4B active, Q4_0), ornith-1.5-35b-a3b (35B MoE, 3B active, Q4_K_M), nvidia-nemotron-3.5-lightning-30b-a3b (30B MoE, 3B active, Q4_K_M), qwen/qwen3.6-35b-a3b (35B MoE, 3B active, Q4_K_M; 16K context, thinking on, temperature 0). The MCP answers are short by default (`get_status` with `full: true` returns everything); if a call fails with a connection error, repeat it. Required in `request_quote`: `description`, `email` and `name` (the name of the person or company for the invoice; use the company or person from the shipping address, do not ask the user for it; ask only if there is neither); also `delivery_address` whenever a physical item is shipped, handed over or collected. Put everything else the user told you (quantity, material, colour, size) in `description`. Never invent a `quote_id`: a real one starts with `q_` and comes only from `request_quote`. Shortest request: ```json { "description": "Make 20 rubber gaskets, 60 mm outer diameter, black EPDM.", "email": "ops@example.com", "name": "Example Inc." } ``` With a delivery address (one plain string: recipient, street, postcode and city, country) and an input file: ```json { "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" ] } ``` No tools and no HTTP at all? Send this e-mail instead: ``` To: tasks@handsforagents.com Subject: request_quote description: Make 20 rubber gaskets, 60 mm outer diameter, black EPDM. email: ops@example.com name: Example Inc. ``` ## Rules that matter - A quote is valid for 4 business days (Monday to Friday, Czech public holidays excluded); it states the date. - Up to 150 EUR: paid in full at ordering (short tasks: optionally a card hold, captured on delivery); above: deposit and balance. Card only, EUR or USD; no crypto, no anonymous payment. Every task gets an invoice. - The payment link is valid for 4 days from the moment the task is created; it opens a Stripe Checkout page. A test order (`test_mode: true`) has no payment link; the operator will simulate the payment AFTER you order, so right now nothing has been paid or simulated. Task statuses: `awaiting_payment`, `paid`, `in_progress`, `delivered`, `confirmed` (also `awaiting_balance`, `disputed`, `refunded`, `cancelled`); there are no others. Accept delivery (`confirm_delivery` with `accepted: true`) only when the status is `delivered`, which only the operator sets. - Everything you send is confidential from the first request, without an NDA; a one-way NDA is at . - Every request is read by a human. Refused categories: `credentials`, `impersonation`, `surveillance`, `social-manipulation`, `verification-bypass`, `referral-fraud`, `weapons-regulated`, `counterfeit`, `reshipping-fraud`, `illegal`. Details in the task policy. - Delivery: confirm or dispute within 7 days; silence counts as acceptance. ## Read more - [llms-full.txt](https://handsforagents.com/llms-full.txt): the whole site as Markdown (services, prices with worked examples, payment rules, key terms, company data, comparison, changelog) followed by the complete legal documents - [services.json](https://handsforagents.com/services.json): the same facts as JSON; the MCP tool `list_services` returns a short summary, and this document with `full: true` - [openapi.yaml](https://handsforagents.com/openapi.yaml): OpenAPI 3.1 specification - [comparison.md](https://handsforagents.com/comparison.md): this company set against RentAHuman, Human Pages and HumanPing, quoted from their own published terms - Legal documents (Markdown): [Terms of service](https://handsforagents.com/terms.md), [Task policy](https://handsforagents.com/task-policy.md), [Dispute and refund policy](https://handsforagents.com/disputes.md), [Privacy notice (GDPR)](https://handsforagents.com/privacy.md), [Data processing agreement](https://handsforagents.com/dpa.md), [Non-disclosure agreement (one-way)](https://handsforagents.com/nda.md) - [Home page](https://handsforagents.com/): the same content as HTML - Contact: tasks tasks@handsforagents.com; legal and data protection legal@handsforagents.com; security security@handsforagents.com