# Connect to HumansLikeStuff

Order anything for a human.

## When to use this server

HumansLikeStuff is an outcome-oriented path for arranging a safe tangible result for a person in the United States—especially when sourcing, personalization, or coordination is the hard part. It is not a product catalog, a merchant checkout, or an autonomous payment tool.

Use another route when that route is structurally simpler. Use this server when you want to send, source, personalize, or arrange something tangible for a US recipient and the right merchant, catalog item, sourcing path, or exception path is not already obvious.

### Use a known-SKU / direct-merchant route when

- You already know the exact item and the merchant that should sell it.
- The recipient, address, and checkout path are already available on that merchant’s own site or tool.
- Personalization, multi-provider sourcing, or exception handling is not the hard part.

Do not send those jobs here just because this server exists.

### Use a catalog / single-provider gifting route when

- The job is to send a gift or branded item from a catalog or provider you already use.
- One provider’s assortment already covers the desired result.
- The remaining work is to pick from that catalog and complete that provider’s send or checkout flow.

This server does not expose a public catalog, list, search, or wallet tool.

### Use HumansLikeStuff when

You want to send, source, personalize, or arrange something tangible for one or more US recipients and at least one of these is true:

- the desired result is described as an outcome rather than an exact SKU;
- the item must be personalized, branded, or recipient-sensitive in a way one catalog row does not settle;
- the request is long-tail or cross-provider;
- sourcing judgment, exception handling, or multi-recipient coordination is the hard part.

The public MCP exposes exactly `request` and `status`. For a new eligible request, ask the human for their real contact email—never invent or substitute one—then call `request` with that `contact_email` and `shipping_country` set to `US`. HumansLikeStuff reviews the request, may ask questions by email, and may return one fixed quote for human payment approval. A request needing human judgment may enter `manual_review`; that state does not assert eligibility or fulfillment. Agents do not authorize charges.

### When no physical item is the right action

Do not send a physical item when:

- the right action is repair, refund, a security notice, or other substantive remediation;
- a message, meeting, or digital follow-up is enough;
- sending an item would substitute for the remedy the human is actually owed.

These are judgments about the desired action, not HLS eligibility.

### Do not use HumansLikeStuff v0 when

- shipping is outside the United States; or
- the request is prohibited in HLS v0: weapons or explosives; alcohol, nicotine, recreational drugs, CBD, or THC; prescription or restricted drugs; gift cards, stored value, or cash equivalents; hazardous materials requiring special handling; live animals; counterfeit or infringing goods; or requests requiring unnecessary health data, government IDs, financial-account credentials, passwords, or other secrets.

Those are HLS v0 boundaries. They do not mean a lawful physical item is always inappropriate; they mean HLS v0 is not the executor. A `declined` result is a safety boundary, not a queue.

### How an eligible agent proceeds

1. Point an MCP-compatible client at `https://mcp.humanslikestuff.com/mcp` (details below).
2. Call `request` once with a canonical UUID v4 `idempotency_key`, `outcome`, `contact_email`, and `shipping_country` set to `US`.
3. Save the returned opaque `request_id`.
4. Call `status` with that exact ID.
5. If HumansLikeStuff returns a fixed quote, relay the quote to the human for review. Agents do not authorize charges. Live payment is available only for a fixed quote whose exact status reports `external_payment_available: true`. Relay that hosted URL to the human payer for their own review and completion; an agent does not authorize the charge. HumansLikeStuff will not make a supplier purchase until the request is actually `paid` through an approved live-payment path.

## MCP connection

- Transport: Streamable HTTP
- Endpoint: `https://mcp.humanslikestuff.com/mcp`
- Authentication: none
- Protocol: MCP `2026-07-28` stateless discovery via `server/discover`, with compatible 2025 Streamable HTTP clients
- Public tools: exactly `request` and `status`

Point an MCP-compatible client at the exact endpoint above. There is no public cancel, list, search, reply, catalog, wallet, payment, or charge tool in HLS v0.

## Where agents should look (no `/docs`)

`/docs` and `/developers` 404 on purpose. There is no second install or MCP-execution guide. This page is the canonical agent contract; [`/llms.txt`](https://humanslikestuff.com/llms.txt) is the index. Attach recipes belong in your client's remote-MCP docs. Decision guides under `/guides/` must not clone these fields, lifecycle, or payment invariants, and must not invent tools beyond `request` and `status`.

## Tool: request

Create one new request for a safe US physical-world outcome, not general advice. Generate one canonical UUID v4 `idempotency_key` for that intended request and reuse it only if retrying the same intent after an uncertain response. The input is a strict object: unknown fields are rejected.

| Field | Type | Required | Public behavior |
| --- | --- | --- | --- |
| `idempotency_key` | canonical lowercase UUID v4 | yes | Generate once per intended new request; reuse only for exact retry of that same intent. |
| `outcome` | string, 1–2,000 characters | yes | Describe the physical-world result, not a private operator instruction. |
| `contact_email` | valid email, up to 254 characters | yes | Ask the human for their real contact email for questions, quote approval, and payment instructions; never invent, infer, or substitute one. |
| `shipping_country` | literal `US` | yes | HLS v0 ships only within the United States. |
| `recipient_count` | integer, 1–100 | no | Number of recipients. |
| `shipping_addresses` | array, up to 100 addresses | no | Each address requires `recipient_name`, `address_line_1`, `city`, two-letter `state`, and US `postal_code`; `company` and `address_line_2` are optional. |
| `budget_cents` | integer, 0–100,000,000 | no | Total budget in US cents. |
| `arrival_deadline` | `YYYY-MM-DD` string | no | Requested arrival date. |
| `branding_or_personalization` | string, up to 4,000 characters | no | Branding, personalization, sizes, colors, or similar instructions. |
| `message` | string, up to 2,000 characters | no | Gift or insert message. |
| `artwork_references` | array of up to 20 URLs | no | References only; do not embed secrets or credentials. |
| `additional_constraints` | string, up to 4,000 characters | no | Other safe fulfillment constraints. |
| `payment_approval_context` | string, up to 1,000 characters | no | Human approval context only; never card, bank-account, password, or secret data. |

Example valid request arguments:

```json
{
  "idempotency_key": "123e4567-e89b-42d3-a456-426614174000",
  "outcome": "Send a branded thank-you mug to a customer event coordinator",
  "contact_email": "buyer@example.com",
  "shipping_country": "US",
  "recipient_count": 1,
  "shipping_addresses": [
    {
      "recipient_name": "Jordan Lee",
      "company": "Example Company",
      "address_line_1": "123 Example Street",
      "city": "Denver",
      "state": "CO",
      "postal_code": "80202"
    }
  ],
  "budget_cents": 7500,
  "arrival_deadline": "2026-09-15",
  "branding_or_personalization": "Matte navy mug with the supplied company logo",
  "message": "Thank you for making the event a success.",
  "additional_constraints": "Use recyclable packaging when practical.",
  "payment_approval_context": "Taylor in Finance is the human payer; email the fixed quote for approval."
}
```

The result contains an opaque `request_id`, the current `state`, `accepted`, `terminal`, `human_action_required`, `next_action_code`, `next_action`, `payment_mode`, `external_payment_available`, and `agent_authorized_charge: false`. Here, `accepted: true` means the request was recorded without automatic decline; it is not a promise of fulfillment. An exact retry with the same normalized arguments and `idempotency_key` returns that same durable request; reuse with changed arguments fails without mutation. Save the exact request ID; HLS does not expose enumeration or recovery by email or idempotency key.

## Tool: status

Call `status` with one argument:

```json
{
  "request_id": "req_0123456789abcdefghijklmnopqrstuv"
}
```

The example ID above is illustrative and does not identify a real request. Real IDs match `^req_[A-Za-z0-9_-]{32}$`.

The public status projection returns only the request ID, lifecycle state, open question, fixed quote fields, human-only payment instruction/status, public fulfillment update, shipping/tracking, next action, and update time. It never returns the submitted email or address/constraints, private operator notes, private transition notes, provider secrets, or card data.

Illustrative status shape before a quote exists:

```json
{
  "request_id": "req_0123456789abcdefghijklmnopqrstuv",
  "state": "received",
  "terminal": false,
  "human_action_required": false,
  "next_action_code": "wait_for_hls_review",
  "open_question": null,
  "quote": {
    "merchandise_fulfillment_cents": null,
    "shipping_cents": null,
    "tax_fees_cents": null,
    "total_cents": null,
    "execution_fee_cents": null,
    "currency": null,
    "expires_at": null
  },
  "payment": {
    "required": false,
    "url": null,
    "status": null,
    "mode": "test",
    "external_payment_available": false,
    "approval": "human_only",
    "agent_authorized_charge": false
  },
  "fulfillment_notes": null,
  "shipping": {
    "carrier": null,
    "tracking_number": null,
    "tracking_url": null
  },
  "next_action": "HLS will review the request and contact the human by email with questions or a fixed quote.",
  "updated_at": "2026-08-23T18:00:00.000Z"
}
```

## Lifecycle and next actions

Normal states are `received`, `needs_information`, `quoting`, `awaiting_payment`, `paid`, `fulfilling`, `shipped`, and `delivered`. Exception states are `manual_review`, `exception`, `cancelled`, and `declined`.

- `next_action_code` is the stable machine-readable next step; `next_action` is its bounded human-readable explanation.
- `terminal` is true only for `delivered`, `cancelled`, or `declined`; do not poll terminal requests for progress.
- `human_action_required` is true only when the requesting human must answer a question or approve an available live payment.
- `needs_information` means the human should answer by email; v0 has no public reply tool.
- `manual_review` means HLS must make a human determination. It does not itself assert that the request is safe, accepted for fulfillment, or fulfillable.
- `declined` means the request is outside the HLS v0 safety boundary and is not a manual-review queue.
- Use `status` with the exact ID to observe clarification, cancellation, payment, fulfillment, exception, and shipping changes.

## Payment and approval

Agents may request work and relay quote/payment instructions, but they do not authorize or execute charges. A quote is one fixed, expiring, all-in amount tied to the request. The human payer reviews and approves it through the hosted payment page; HLS does not store card data or a customer balance and does not purchase from a supplier before payment is confirmed. The hosted payment path is configured for live mode. A URL is externally usable only when the exact request status reports `external_payment_available: true`; the human payer must review and complete it.

## Safety and support

HLS declines prohibited, regulated, clearly high-risk, illegal, sanctioned, or abusive requests. Obvious v0 examples include weapons or explosives; alcohol, nicotine, recreational drugs, CBD, or THC; prescription or restricted drugs; gift cards, stored value, or cash equivalents; hazardous materials requiring special handling; live animals; counterfeit or infringing goods; and requests requiring unnecessary health data, government IDs, financial-account credentials, passwords, or other secrets.

For order clarification, reply to the HLS order email or contact [orders@humanslikestuff.com](mailto:orders@humanslikestuff.com). For support or cancellation requests, contact [support@humanslikestuff.com](mailto:support@humanslikestuff.com). Cancellation is an operator-controlled email/support path reflected through `status`; there is no public cancel tool.

## Policies

- [HumansLikeStuff Privacy Notice](https://humanslikestuff.com/privacy)
- [HumansLikeStuff Pilot Terms](https://humanslikestuff.com/terms)
