accueil / serveurs / Finance & Paiement / com.handsforagents/hands
com.handsforagents/hands
serveur MCP (Model Context Protocol) · handsforagents 1.30.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.handsforagents/hands est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.handsforagents/hands » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 5 outils
- confirm_delivery≈ 284 tokens
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.
Paramètres, retour & exemple (4)
Paramètresreason· string · optionnel
Required when accepted is false: what differs from the quote.task_id· string · requis
Id of the task, of the form t_...accepted· boolean · requis
true accepts the delivery, false disputes it.access_token· string · requis
Access token of the quote and its task, issued with the quote.
Exemple d'appel{"name": "confirm_delivery", "arguments": {"task_id": "texte", "accepted": true, "access_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_task≈ 436 tokens
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.
Paramètres, retour & exemple (5)
Paramètresquote_id· string · requis
Id of the quote, of the form q_...access_token· string · requis
Access token of the quote and its task, issued with the quote.terms_version· string · requis
Version of the terms being accepted, currently 2026-09-29.terms_accepted· boolean · requis
Acceptance of https://handsforagents.com/terms.html by the operator.allow_anonymised_example· boolean · optionnel
Optional. Consent to publish this task as an anonymised example (terms, section 10); true only when the client explicitly agreed. Default false.
Exemple d'appel{"name": "create_task", "arguments": {"quote_id": "texte", "access_token": "texte", "terms_version": "texte", "terms_accepted": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_status≈ 400 tokens
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.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
quote_id or task_id.full· boolean · optionnel
true returns the complete answer.message· string · optionnel
Optional reply to the operator: plain text, 1-2000 characters. Without it the call is a plain status check.access_token· string · requis
Access token of the quote and its task, issued with the quote.
Exemple d'appel{"name": "get_status", "arguments": {"id": "texte", "access_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_services≈ 178 tokens
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.
Paramètres, retour & exemple (1)
Paramètresfull· boolean · optionnel
true returns the complete document (the same as /services.json); false (default) returns a short summary.
Exemple d'appel{"name": "list_services", "arguments": {"full": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - request_quote≈ 963 tokens
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":"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"]}
Paramètres, retour & exemple (13)
Paramètresname· string · requis
Required. The person or company on the invoice, normally the recipient or company in delivery_address.email· string · requis
Contact e-mail of the operator; the quote is sent here.vat_id· string · optionnel
VAT or tax id for the invoice, as given by the client. Optional.country· string · optionnel
Operator's country, ISO 3166-1 alpha-2, upper case, normally that of the delivery address. Optional.currency· string · optionnel · EUR | USD
EUR or USD. Default EUR.deadline· string · optionnel
Latest acceptable delivery date, ISO 8601. Optional.services· array · optionnel
Service ids. Optional.agent_name· string · optionnel
Name of the agent or platform. Optional.description· string · requis
What is to be done, plainly: quantity, material, colour, size, tolerances, what counts as done.input_files· array · optionnel
HTTPS URLs of input files (photos, sketch, STEP/STL model, PDF drawing). At most 20.deliverables· string · optionnel
What the client expects to receive. Optional; otherwise part of description.delivery_address· string · optionnel
Required for a physical shipment. One plain string: recipient, street, postcode and city, country, as given by the client; a phone number last is optional.allow_anonymised_example· boolean · optionnel
Consent to publish this task as an anonymised example; true only when the client explicitly agreed. Default false.
Exemple d'appel{"name": "request_quote", "arguments": {"name": "texte", "email": "texte", "description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».