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.
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 tells you if a ZIP code in the Sacramento region, CA is covered.get_quote_estimate returns a preliminary price range from an item description. No exact pricing or booking yet.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."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).Pickup and haul for furniture, appliances, electronics, yard waste, and general junk. Items with reuse value are routed to donation or recycling before disposal. Submit today via the website at /quote (a human reviews it) — there is no agent-callable endpoint yet: POST /api/quote/guest is pending_deploy (PR #149, not merged).
Whole-space cleanouts — garage, storage unit, rental turnover — submitted as a single job. Submit today via the website at /quote (a human reviews it) — there is no agent-callable endpoint yet: POST /api/quote/guest is pending_deploy (PR #149, not merged).
Estate and household clear-out jobs submitted as a single job. A human confirms scope before anything is scheduled. Submit today via the website at /quote (a human reviews it) — there is no agent-callable endpoint yet: POST /api/quote/guest is pending_deploy (PR #149, not merged).
Donate reusable goods to Upcycle Hub, a private for-profit company, for resale and reuse — not a tax-deductible charitable donation. For a tax-deductible drop-off, use the find_donation_centers tool to locate a nonprofit instead. Submit today via the website at /quote (a human reviews it) — there is no agent-callable endpoint yet: POST /api/quote/guest is pending_deploy (PR #149, not merged).
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"
}'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"
}
}
}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.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.Questions from a human building against this? support@myupcyclehub.com