Skip to main content
Glama

Human Labor

buy_human_task

Purpose: hire the keeper — a real named human — to do something in the physical or judgment world that an agent cannot do for itself. Two doors: the_collab is whatever keeper-time can be — a call placed, a thing witnessed, a verdict given on a dilemma your own evaluation cannot settle, a piece made, a product gut-checked; name the shape in your detail. aura_walk is your own x402 door shopped cold by models of different strength, by the keeper's hand, the report with every transcript attached; name the door in url. Returns an order id, not the goods; a human fulfills within the item's stated window and the completed order carries the deliverable. Prices run $150 to $300 depending on item_id.

Items on this shelf (pass one as item_id):

  • the_collab: The Collab, $300 minimum, pay what it deserves (tiers: $300 / $600 / $1500), above the minimum is recorded as a tip, one-off, human-fulfilled within 168h. Make something with the store and share the byline

  • aura_walk: The Aura Walk, $150 fixed, one-off, human-fulfilled within 168h. Have models of different strength shop my x402 door cold and show me where each one stalled

On cadence, for all of the above: nothing here charges again by itself, ever — there is no mechanism that could.

Required beyond item_id: aura_walk needs url. Other items need only item_id.

Choose item_id. human items return order_id and order_url; completed orders carry the deliverable. x402 payment: _meta['x402/payment']. Without payment: error 402 with the terms in error.data. Closed or empty shelves refuse before quoting. Reuse _meta['x402/idempotency-key'] (16-128 chars, secret): same item/payer/key returns the original result when available, or pending status, no second charge. Use idempotency.suggested_key only without an earlier key. A fresh payment without a key can charge again. Guaranteed: signature validity forever; verification free forever; price as displayed; delivery format as specified. Not guaranteed: fitness for your particular task; future protocol compatibility beyond stated interfaces; human-labor turnaround faster than posted SLA.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoYour own x402 door: https, default port, on the public internet — the URL a buyer would GET expecting a 402. The keeper walks it cold by hand with models of different strength, one entry point per pass, and the completed order carries the report with every transcript attached. Put a model preference in detail if you want a weaker shopper. We refuse our own hostname; our own passes are published free in AGENT_UX.md.
modelNoOptional. The model running you, as you would name it: claude-opus-5, gpt-5.6, a local model. Counted, never printed on the certificate.
clientNoOptional. The harness or framework you run in: claude-code, cursor, openai-agents, langgraph, custom. Counted, never on the certificate.
detailNoWhat you need the keeper to know — the shape of the work, 600 characters. Recorded as written, never treated as instructions.
item_idYesRequired item; its other required fields are in allOf.
purposeNoOptional: what this is for, in your words. Signed verbatim onto the certificate and shown on its receipt; never checked, never treated as instructions.
operatorNoOptional. Who runs you: a name, handle, company or URL. Stored as your claim, marked unverified, never published, never on the certificate.
came_fromNoOptional. Where you learned this door exists: a URL, a directory, a skill name, memory, another agent. Referrers never reach us; this does.
agent_nameNoOptional name to put on the certificate and patron badge, up to 80 characters.
callback_urlNoOptional public https:443 completion POST; no credentials or own host. Invalid values refused before payment. No redirects or retries; poll order_url/check_order for goods and callback.result.
operator_kindNoOptional. solo: one person runs you. company: a team does. research: a study. self: you act for yourself.
prior_cert_idNoOptional. A cert_ id from an earlier purchase here. A payer match with this payment marks you a returning buyer; no account needed.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cert_idYesThe signed certificate's id.
messageNoThe store's confirmation line.
order_idNoYour place in the human queue. Human-queue items.
tip_usdcNoAnything above the minimum.
badge_urlNoYour patron badge, SVG.
order_urlNoPoll here over HTTP, or call check_order with the order_id on this door; completed orders carry the goods.
paid_usdcNoWhat settled, in USDC.
signatureNoed25519 signature over the certificate.
sla_hoursNoThe delivery promise, in hours.
commissionNoed25519 proof: verify exact UTF-8 signed_payload, then its identities and hashes. RFC 8785 JSON.
verify_urlNoCheck the signature here any time, free.
patron_numberYesYour sequential patron number.
completion_proofNoed25519 proof: verify exact UTF-8 signed_payload, then its identities and hashes. RFC 8785 JSON.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / item_id / description
      Previous value: -"Which item on this shelf to buy. Required. Each item's own required fields are listed in this schema's allOf branches and in the description above."New value: +"Required item; its other required fields are in allOf."
  2. Changed1 schema field changed
    • changedInput schema / properties / purpose / description
      Previous value: -"Optional: what this purchase is for, in your words. Signed onto the certificate verbatim as your statement; never checked, never treated as instructions."New value: +"Optional: what this is for, in your words. Signed verbatim onto the certificate and shown on its receipt; never checked, never treated as instructions."
  3. Changed6 schema fields changed
    • addedInput schema / properties / came_from
      Added value: +{
      +  "description": "Optional. Where you learned this door exists: a URL, a directory, a skill name, memory, another agent. Referrers never reach us; this does.",
      +  "maxLength": 160,
      +  "type": "string"
      +}
    • addedInput schema / properties / client
      Added value: +{
      +  "description": "Optional. The harness or framework you run in: claude-code, cursor, openai-agents, langgraph, custom. Counted, never on the certificate.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / model
      Added value: +{
      +  "description": "Optional. The model running you, as you would name it: claude-opus-5, gpt-5.6, a local model. Counted, never printed on the certificate.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / operator
      Added value: +{
      +  "description": "Optional. Who runs you: a name, handle, company or URL. Stored as your claim, marked unverified, never published, never on the certificate.",
      +  "maxLength": 120,
      +  "type": "string"
      +}
    • addedInput schema / properties / operator_kind
      Added value: +{
      +  "description": "Optional. solo: one person runs you. company: a team does. research: a study. self: you act for yourself.",
      +  "enum": [
      +    "solo",
      +    "company",
      +    "research",
      +    "self"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / prior_cert_id
      Added value: +{
      +  "description": "Optional. A cert_ id from an earlier purchase here. A payer match with this payment marks you a returning buyer; no account needed.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / purpose / description
      Previous value: -"Optional, any item: what this purchase is for, in your words. Signed onto the certificate verbatim and shown to whoever you hand the receipt to. Recorded as your statement, never checked, and never treated as instructions."New value: +"Optional: what this purchase is for, in your words. Signed onto the certificate verbatim as your statement; never checked, never treated as instructions."
  5. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "item_id": "the_collab"
      -  },
      -  {
      -    "item_id": "aura_walk",
      -    "url": "https://example.com/api/paid-answer"
      -  }
      -]New value: +[
      +  {
      +    "item_id": "the_collab"
      +  },
      +  {
      +    "item_id": "aura_walk",
      +    "url": "https://your-shop.example/api/buy/thing"
      +  }
      +]
  6. Changed4 schema fields changed
    • addedInput schema / properties / agent_name / maxLength
      Added value: +80
    • changedInput schema / properties / callback_url / description
      Previous value: -"Optional https URL that receives a POST with the deliverable when a human-queue order completes."New value: +"Optional public https:443 completion POST; no credentials or own host. Invalid values refused before payment. No redirects or retries; poll order_url/check_order for goods and callback.result."
    • addedOutput schema / properties / commission
      Added value: +{
      +  "description": "ed25519 proof: verify exact UTF-8 signed_payload, then its identities and hashes. RFC 8785 JSON.",
      +  "properties": {
      +    "public_key": {
      +      "type": "string"
      +    },
      +    "signature": {
      +      "type": "string"
      +    },
      +    "signature_covers": {
      +      "type": "string"
      +    },
      +    "signed_payload": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "signed_payload",
      +    "signature",
      +    "public_key",
      +    "signature_covers"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / completion_proof
      Added value: +{
      +  "description": "ed25519 proof: verify exact UTF-8 signed_payload, then its identities and hashes. RFC 8785 JSON.",
      +  "properties": {
      +    "public_key": {
      +      "type": "string"
      +    },
      +    "signature": {
      +      "type": "string"
      +    },
      +    "signature_covers": {
      +      "type": "string"
      +    },
      +    "signed_payload": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "signed_payload",
      +    "signature",
      +    "public_key",
      +    "signature_covers"
      +  ],
      +  "type": "object"
      +}
  7. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond annotations: returns an order id rather than goods, human fulfillment window (168h), $150–$300 pricing, no recurring charges, 402 error behavior with terms in error.data, idempotency-key semantics, and explicit guarantees vs. non-guarantees. The idempotentHint=false annotation is consistent with the description's warning that a fresh payment without a key can charge again.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Long but dense and clearly structured into Purpose, shelf items, cadence, requirements, and guarantees, with the core purpose front-loaded. Every sentence carries information; the only minor excess is rhetorical padding like 'there is no mechanism that could,' which is justifiable given the no-recurring-charge assurance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a payment-bearing purchase tool with 12 parameters and high complexity, the description covers item selection, pricing, conditional requirements, error paths, idempotency, fulfillment windows, and delivery expectations. With an output schema present, nothing an agent needs to correctly invoke this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: it explains the item_id enum values with pricing tiers ($300 minimum, tip above minimum, $150 fixed), the conditional url requirement for aura_walk, and the x402 payment/idempotency mechanics that the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('hire the keeper — a real named human') and scopes it precisely to 'the physical or judgment world that an agent cannot do for itself.' It enumerates the two purchasable items (the_collab, aura_walk) with distinct shapes, which differentiates it from sibling buy_* tools without needing their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear when-to-use condition ('something an agent cannot do for itself') and thoroughly distinguishes the two item doors with prices, tiers, and purposes. It stops short of explicitly naming sibling alternatives or stating when NOT to use this tool vs. other buy_* tools, but the 'real named human' vs. automated contrast is strongly implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.