Connect your agent

Upcycle Hub is machine-readable. This page is the honest version: what an agent can do here today, what's coming, and exactly how to call it.

What an agent can do today

No account or API key required for any of this. A human at Upcycle Hub confirms every job before it is scheduled — nothing below dispatches a truck by itself.

  • Check service area — check_service_area tells you if a ZIP code in the Sacramento region, CA is covered.
  • Get a quote estimate — get_quote_estimate returns a preliminary price range from an item description. No exact pricing or booking yet.
  • Find donation centers — find_donation_centers looks up nearby nonprofit drop-off locations from our live directory — for when the answer is "donate it yourself," not "donate it to us."
  • Hand us a job — not yet, as an agent. POST /api/quote/guest is pending_deploy (PR #149, not merged) and will 404 today. Once live it creates a request; it does not book a truck. Today, a person can submit any of the four doors below through the website at /quote.Coming soon as an MCP tool too: submit_quote_request (same contract — pending_deploy, tracked in PR #149).

Copy-paste

Submit a job (no auth) — pending deploy, not live yet

This is the contract POST /api/quote/guest will accept once it deploys (PR #149, x-status: pending_deploy — check /api/agent/capabilities before calling it). Running this today will 404. Until then, submit through the website at /quote.

curl -X POST https://myupcyclehub.com/api/quote/guest \
  -H "Content-Type: application/json" \
  -d '{
    "door": "junk_removal",
    "name": "Jane Doe",
    "email": "jane@example.com",
    "zip_code": "95816",
    "city": "Sacramento",
    "description": "Queen mattress and two boxes of books",
    "source": "my-agent"
  }'

MCP-style tool discovery

Our tool server uses a plain HTTP invoke contract (POST /api/mcp/invoke with { tool, input }), not the JSON-RPC/SSE MCP wire transport — point a client at the manifest URL below and read /openapi.json for exact request/response shapes. A spec-standard MCP "Streamable HTTP" endpoint (JSON-RPC 2.0, protocol 2025-06-18) is also live at POST /api/mcp, exposing the same 3 public read tools — prefer it if your client speaks real MCP.

{
  "mcpServers": {
    "upcycle-hub": {
      "manifest_url": "https://myupcyclehub.com/api/mcp/manifest",
      "invoke_url": "https://myupcyclehub.com/api/mcp/invoke",
      "transport": "http"
    }
  }
}

One-liner for a ChatGPT/Claude prompt

Look up Upcycle Hub's OpenAPI spec at https://myupcyclehub.com/openapi.json and use the check_service_area and get_quote_estimate tools before you answer.

What's coming

  • Agent-callable job submission — POST /api/quote/guest and its MCP-tool form, submit_quote_request, ship with PR #149 (not merged; pending_deploy). Until then, an agent can hand a user to /quote but cannot submit on their behalf directly.
  • Dedicated door pages — /junk-removal, /cleanouts, /estate-sales, and /donations are in progress on a separate, unmerged branch; all four links above point at the generic /quote form until those ship.
  • Authenticated writes for agents — right now, the 5 write tools (schedule_pickup, list_my_quotes, track_job, get_diversion_report, cancel_quote) ride on a signed-in user's own OAuth token. A distinct agent identity, scoped keys, and an audit trail land with PR #146 (not merged yet).
  • Tracking — job tracking exists for authenticated users today; a no-auth tracking lookup for jobs submitted via the guest endpoint is not built yet.
  • Buyout and consignment — not open yet in any form, agent or human.

Questions from a human building against this? support@myupcyclehub.com