check_listingREAD-ONLY"Is it real?": copied photos, an impossible price, a brand-new website, conflicting specs, hidden AI instructions.
Everything SafeShelf shows a shopper, your agent can ask for: over MCP, over REST, or agent to agent with A2A. Every tool is read-only. An agent can check a listing; it can never buy, report or act for a shopper.
> is amazon.in/dp/B0CX65SFC safe to buy?
Point any MCP client at the server and send your key in the x-api-key header. Answers carry evidence ids your agent can show the shopper.
check_listingREAD-ONLY"Is it real?": copied photos, an impossible price, a brand-new website, conflicting specs, hidden AI instructions.
identify_productREAD-ONLYWhich product is this listing? Returns a SafeShelf product_id for the other tools. Give a url or a title.
product_safetyREAD-ONLYOfficial recall status, hazard reports found in reviews and photos, and safety-mark checks.
find_copiesREAD-ONLYThe same product in other listings or brands: exact model, possible rebrand, variant or look-alike, with reasons.
safety_marksREAD-ONLYSafety and energy marks the listing claims, checked against the official registries.
safer_alternativesREAD-ONLYSimilar products with no recall and no hazard reports, with the reason for each.
owner_guidanceREAD-ONLYFor someone who already owns it: stop or take care, the recall remedy, return, or report.
product_historyREAD-ONLYEverything that ever changed about the product, and its recalls.
case_fileREAD-ONLYFindings with evidence ids and quotes, and the code rule behind the verdict.
investigation_traceREAD-ONLYEvery step of an investigation: tool, model, time, tokens and estimated cost.
The API runs on Cloud Run in Mumbai (asia-south1). The live investigation streams its steps as server-sent events, so your agent can show progress as it arrives.
| Endpoint | What it does |
|---|---|
| POST/v1/agent/sessions/stream | Live investigation, streamed step by step |
| POST/v1/agent/sessions | Chat about a product, one answer |
| GET/.well-known/agent-card.json | A2A agent card |
| GET/health | Is the API up |
Request fields and every response shape are in the API docs.
curl -N -X POST \
https://safeshelf-api-368488022657.asia-south1.run.app/v1/agent/sessions/stream \
-H 'content-type: application/json' \
-H "authorization: Bearer $FIREBASE_ID_TOKEN" \
-d '{"mode": "investigate", "product_id": "unmatched",
"listing": {"title": "65W Super Fast Charger CX-65",
"url": "amazon.in/dp/B0CX65SFC",
"price": 299, "currency": "INR"}}'
{
"mcpServers": {
"safeshelf": {
"url": "https://safeshelf-api-368488022657.asia-south1.run.app/mcp",
"headers": { "x-api-key": "YOUR_KEY" }
}
}
}
Read-only tools, sourced answers, and a verdict set by code.