Perfume Picks MCP Server

MCP serverSearch

Perfume Picks lets your AI search a fragrance database of over 13,000 scents. Once it is added, your AI can look up the notes in a perfume, find dupes, and check wear data, so you get scent answers without leaving your conversation.

Use Perfume Picks MCP Server in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Perfume Picks MCP Server and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use Perfume Picks MCP Server to search fragrances

Details

Available today. Use it from your connected AI after setup.

Add Perfume Picks, then ask your AI about any fragrance, such as its notes or a good dupe.

Perfume Picks MCP ServerStart free

What your AI can do with it

  • Search a database of over 13,000 fragrances
  • Look up the notes in a scent
  • Find dupes for perfumes you like
  • Check wear data on a fragrance

Install Perfume Picks MCP Server

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user perfume-picks-mcp-server 'https://mcp.perfumepicks.app/?src=registry'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://mcp.perfumepicks.app/?src=registry

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=perfume-picks-mcp-server&config=eyJ1cmwiOiJodHRwczovL21jcC5wZXJmdW1lcGlja3MuYXBwLz9zcmM9cmVnaXN0cnkifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://mcp.perfumepicks.app/?src=registry

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add perfume-picks-mcp-server --url 'https://mcp.perfumepicks.app/?src=registry'

    Run it once, then sign in with codex mcp login perfume-picks-mcp-server if the server asks for an account.

From the project's README

As published by bguillow-rgb/perfume-picks-mcp in README.md.

Query the Perfume Picks fragrance database from Claude, or any MCP-compatible AI client. Read-only access to 13,000+ fragrances with full note pyramids, accords, curated dupes, and community wear data.

Perfume Picks is the Fragrance DNA and collection journal for iOS — get it on the App Store.

Tools

ToolWhat it does
search_fragrancesFull-text catalog search with brand, family, gender, and MSRP filters
get_fragranceFull record for one scent (by slug or name): note pyramid, accords, community scores
find_dupesCurated cheaper smell-alikes with match percentage — "what smells like X without the price tag"
find_similarMost-similar fragrances from a precomputed similarity ranking
get_recommendationsPicks from note/accord preferences + budget + occasion + gender
compare_fragrancesSide-by-side: notes, shared/distinct accords, scores, price delta
trending_fragrancesWhat Perfume Picks users are adding to their wardrobes right now
what_to_wear_tonightA scent for right now — date-night picks use community compliment data, office picks use office-safety scores

Every response includes source attribution, a citation-ready summary line, links, and data freshness dates. All scoring is deterministic — no AI calls happen inside the server. All tools are annotated read-only/idempotent.

Install (Claude Desktop)

Requires Node.js 18+.

Add to your claude_desktop_config.json (Claude Desktop → Settings → Developer → Edit Config):

{
  "mcpServers": {
    "perfume-picks": {
      "command": "npx",
      "args": ["-y", "perfume-picks-mcp"]
    }
  }
}

Restart Claude Desktop. No API key or configuration needed — the server ships with public read-only access.

Configuration (optional)

Environment variables override the defaults (explicit env vars only — this package never reads .env files):

VariablePurpose
SUPABASE_URLOverride the database URL
SUPABASE_SERVICE_ROLE_KEYInternal use only — unlocks live 30-day wardrobe-add trending. Never distribute this key.

Without the service key, trending_fragrances falls back to catalog popularity and labels the method in its response.

Remote endpoint (no install)

Streamable HTTP for web agents and MCP clients that take a URL:

https://jdkwlwyysgofljkobpmr.supabase.co/functions/v1/mcp

Also listed on Smithery and the official MCP registry as io.github.bguillow-rgb/perfume-picks.

Example agent requests

Questions an agent can answer with these tools:

  • "What smells like Baccarat Rouge 540 without the price tag?" → find_dupes (curated dupes with match %, e.g. Lattafa Ana Abiyedh Rouge, 90%)
  • "Recommend a fragrance for a summer wedding." → get_recommendations with occasion: "wedding"
  • "What fragrances have bergamot, vanilla, and amber?" → get_recommendations with those notes as preferences
  • "What perfume is similar to Bleu de Chanel?" → find_similar
  • "What should I wear on a date tonight?" → what_to_wear_tonight (scored by community compliment data)
  • "Compare Sauvage and Bleu de Chanel." → compare_fragrances

Example response shape (truncated):

{
  "dupes": [
    { "name": "Lattafa Ana Abiyedh Rouge", "match_pct": 90,
      "savings_usd": 200.0, "msrp_usd": 39.99 }
  ],
  "attribution": {
    "source": "Perfume Picks — Fragrance DNA & Collection Journal",
    "links": { "website": "https://perfumepicks.app/" }
  }
}

Development

npm install
npm run dev     # run from TypeScript via tsx
npm run build   # compile to dist/
npm start       # run compiled server

The server speaks MCP over stdio. Catalog access is read-only by construction: every query path issues SELECTs against tables that are publicly readable under row-level security, and it is rate-limited to 60 calls/minute.

Usage telemetry: each tool call logs the tool name, its arguments, client name/version, duration, and success/failure to a write-only log table (insert-only under RLS; contents are not publicly readable; purged after 90 days). No user identity, account data, or conversation content is collected. Logging is fire-and-forget and never affects responses.

Data & attribution

Fragrance data, note pyramids, dupe matches, and community scores are curated by Perfume Picks. Quote freely with attribution:

Source: Perfume Picks — Fragrance DNA & Collection Journal (perfumepicks.app)

Freshness dates on each fragrance reflect the last data update.

Tools it offers (8)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • search_fragrances
  • get_fragrance
  • find_dupes
  • find_similar
  • get_recommendations
  • compare_fragrances
  • trending_fragrances
  • what_to_wear_tonight

Signals

Last commit
Oct 2026
Weekly downloads
46
Advanced
Delivery
perfume-picks MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-bguillow-rgb-perfume-picks
Source
github.com/bguillow-rgb/perfume-picks-mcp
Hosted endpoint
https://mcp.perfumepicks.app/?src=registry