Perfume Picks
by bguillow-rgb · remote · local (npm) · no sign-in to list tools · v1.0.5 · published by GitHub user bguillow-rgb
Search the Perfume Picks fragrance database: 10,000+ scents with notes, dupes, and wear data.
8 tools: 2 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http perfume-picks https://mcp.perfumepicks.app/?src=registryTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
8 tools
Changes things 2Claude Code: ask
trending_fragrancesFragrances Perfume Picks users are adding to their wardrobes most over the last 30 days (falls back to catalog popularity when live activity data is unavailable).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Fragrances Perfume Picks users are adding to their wardrobes most over the last 30 days (falls back to catalog popularity when live activity data is unavailable). The method used is labeled in the response.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Trending fragrances
what_to_wear_tonightA fragrance suggestion for right now, based on mood, occasion (e.g.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it A fragrance suggestion for right now, based on mood, occasion (e.g. 'date', 'office tomorrow', 'night out', 'cozy evening in'), and season — scored with Perfume Picks' community compliment, office-safety, and versatility data.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: What should I wear tonight?
Only reads 6Claude Code: allow
compare_fragrancesSide-by-side comparison: note pyramids, shared and distinct accords, longevity/sillage/compliment scores, concentration, and price difference.No findings
Why it is in this group
- The name "compare_fragrances" says "compare": a word for reading.
Description, as the server wrote it Side-by-side comparison: note pyramids, shared and distinct accords, longevity/sillage/compliment scores, concentration, and price difference.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Compare two fragrances
find_dupesCurated dupes for a fragrance: cheaper scents documented to smell like the original, with match percentage and price comparison.No findings
Why it is in this group
- The name "find_dupes" says "find": a word for reading.
Description, as the server wrote it Curated dupes for a fragrance: cheaper scents documented to smell like the original, with match percentage and price comparison. Use for 'what smells like X but costs less' questions.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Find dupes (cheaper smell-alikes)
find_similarFragrances most similar to a given one, from Perfume Picks' precomputed similarity ranking over notes and accords.No findings
Why it is in this group
- The name "find_similar" says "find": a word for reading.
Description, as the server wrote it Fragrances most similar to a given one, from Perfume Picks' precomputed similarity ranking over notes and accords.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Find similar fragrances
get_fragranceDetailed record for one fragrance: full note pyramid (top/heart/base), accords, concentration, community longevity/sillage/compliment scores, and MSRP.No findings
Why it is in this group
- The name "get_fragrance" says "get": a word for reading.
Description, as the server wrote it Detailed record for one fragrance: full note pyramid (top/heart/base), accords, concentration, community longevity/sillage/compliment scores, and MSRP. Accepts a Perfume Picks slug or a name like 'Bleu de Chanel'.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get fragrance details
get_recommendationsPersonalized fragrance picks from note/accord preferences (e.g.No findings
Why it is in this group
- The name "get_recommendations" says "get": a word for reading.
Description, as the server wrote it Personalized fragrance picks from note/accord preferences (e.g. 'vanilla', 'oud', 'citrus'), a budget in USD, an occasion ('office', 'date night', 'gift', 'signature scent'), and gender presentation.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get personalized recommendations
search_fragrancesFull-text search across 10,000+ fragrances in the Perfume Picks database.No findings
Why it is in this group
- The name "search_fragrances" says "search": a word for reading.
Description, as the server wrote it Full-text search across 10,000+ fragrances in the Perfume Picks database. Filter by brand, fragrance family, gender, and MSRP (USD). Returns note pyramids, accords, and community wear scores with source attribution.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Search the Perfume Picks catalog
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.5. Values in angle brackets are yours to fill in.
claude mcp add --transport http perfume-picks https://mcp.perfumepicks.app/?src=registryRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__perfume-picks__search_fragrances",
"mcp__perfume-picks__get_fragrance",
"mcp__perfume-picks__find_dupes",
"mcp__perfume-picks__find_similar",
"mcp__perfume-picks__get_recommendations",
"mcp__perfume-picks__compare_fragrances"
],
"ask": [
"mcp__perfume-picks__trending_fragrances",
"mcp__perfume-picks__what_to_wear_tonight"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as perfume-picks. Review it before you use it.
