Public, read-only access to the published catalog and exact verified retailer bottle variants. No account or API key is required. OpenAPI 3.1 specification · Agent discovery index
GET /api/agent/v1/search?q=tag%20him&page=1&country=US — search, 24 results per page.GET /api/agent/v1/fragrances/27708?country=US — catalog details and verified variants.GET /api/agent/v1/offers?productId=27708&country=US — exact retailer variants and original links.GET /api/agent/v1/compare?ids=27708,92816&country=US — compare 2–4 distinct catalog IDs and shared listed notes.Countries: US (default), GB, CA, AU, KR, OTHER. Query must contain 2–120 characters; page is 1–10000. IDs must be positive integers. Responses include apiVersion, generatedAt, country and disclosure. Invalid inputs return 400; missing products 404; temporary catalog failures 503. Responses use no-store. Search preserves usable-US-pairing-first discovery order; the requested country selects returned offers.
Each verified variant binds a catalog product ID, concentration and selected size label. Different concentrations and sizes remain separate. Variant IDs are stable within that identity; they are not manufacturer identifiers. Catalog year, notes and gender are catalog metadata, distinct from exact retailer identity verification. Unknown fields are null.
Only approved active retailer relationships and eligible exact bottle links are returned. Prices are observed values, not checkout guarantees. Each price includes currency, checkedAt and expiresAt. Reference prices appear only with verified same-SKU regular/MSRP evidence. A null price with browseOnly=true has no current price or stock claim; this includes retained OOS/preorder links. Re-fetch before presenting a price and honor expiresAt. Shipping, tax and final availability must be confirmed with the retailer.
Affiliate relationships are disclosed per offer. Preserve the original URL and its parameters. HTML commission-bearing links use rel="sponsored nofollow noopener". No item-specific commission rate is exposed. Shopping disclosure.
Server URL: https://parfumbible.com/mcp. Stateless Streamable HTTP, protocol 2025-11-25 (also 2025-06-18 / 2025-03-26). No session ID or standalone SSE stream is used. GET and DELETE return 405. Machine clients may omit Origin; browser-origin requests must match the site origin. The four tools are read-only and share the HTTP API's validation and data.
{
"mcpServers": {
"parfum-bible": {
"url": "https://parfumbible.com/mcp"
}
}
}Send JSON-RPC POST requests with Content-Type: application/json and Accept: application/json, text/event-stream. Initialize first, acknowledge notifications/initialized, then use tools/list or tools/call. Subsequent requests include MCP-Protocol-Version: 2025-11-25. Maximum request body: 32 KB. Client configuration syntax can vary; use its remote HTTP server setting.
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_verified_offers",
"arguments": {
"productId": 27708,
"country": "US"
}
}
}search_fragrances: Search the published fragrance catalog. Usable verified US pairings rank first; catalog facts are not maker verification. Page size 24.get_fragrance: Get a fragrance and exact verified retailer variants. Unknown catalog fields remain null; availability/price are separate from identity.compare_fragrances: Compare 2–4 distinct catalog IDs, their listed notes and accords, and currently eligible exact retailer variants. No invented scent-performance claims.get_verified_offers: Get eligible exact retailer variants for a catalog ID and country. Null prices and availability mean browse-only, not current stock claims. Retailer checkout only.Tool failures return isError=true; unknown methods and invalid protocol envelopes use JSON-RPC errors. There are no purchase, collection, write, account or private OPS tools.
GET /api/catalog/search?q=... returns {records,total} for a 2–120-character query. GET /api/catalog/records?ids=27708,92816 accepts 1–100 positive IDs and returns {records}; missing records are omitted. Each record contains id, path and public payload. GET /api/commerce/offers?productId=27708&country=US returns the existing shopping-panel {offers} representation. Prefer the versioned agent API for explicit variants, freshness and normalized browse-only fields.
Comparison output describes catalog-listed notes and accords. It does not invent sensory similarity, longevity, safety or suitability claims. Public endpoints do not expose private evidence files, credentials, personal collections or OPS reports.