Skip to content

10ML Perfume Finder

by 10ml.com · remote · local (npm, pypi) · no sign-in to list tools · v2.5.1 · published by com.10ml

Free perfume MCP server and fragrance API: 6,000+ perfumes, note pyramids, accords, similar scents.

Changes · 3Changed

15 tools: 3 change things and 12 only read.

Scanned Oct 22, 2026 · tools changed Oct 22, 2026

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-finder https://mcp.10ml.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

15 tools

Changes things 3Claude Code: ask
  • pick_for_occasionPerfume and cologne picks for a moment: a season, an occasion (daytime, office, casual, evening, date night, special occasion), an audience and a style, each with the reason it fit…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
    Perfume and cologne picks for a moment: a season, an occasion (daytime, office, casual, evening, date night, special occasion), an audience and a style, each with the reason it fits. Use for 'a fresh summer office scent for men', 'date night perfume for her' or 'what fragrance to wear to a winter wedding'. Give at least one of season, occasion, gender or style. Not for taste-based matching (use recommend_perfumes), not for gifts (use find_gift) and not for classics (use search_perfumes with iconic true).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • recommend_perfumesPersonal perfume and cologne recommendations from taste: fragrances they love or dislike, notes they like or avoid, plus gender, season, occasion, style and family.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
    Personal perfume and cologne recommendations from taste: fragrances they love or dislike, notes they like or avoid, plus gender, season, occasion, style and family. Every pick says why (shared notes with a loved perfume, a liked note, fits the season). Use when someone says what they enjoy or avoid and wants suggestions ('I love Delina and vanilla, nothing too sweet, for winter evenings', 'my signature scent is Sauvage, what next'). Not for one-off filters without taste (use search_perfumes), not for a single occasion list (use pick_for_occasion) and not for gifts (use find_gift).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suggest_layeringPerfume and fragrance layering ideas: which notes or perfumes combine well, what the combination smells like, how to spray (order, amount) and when it suits.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
    Perfume and fragrance layering ideas: which notes or perfumes combine well, what the combination smells like, how to spray (order, amount) and when it suits. Works from two notes ('vanilla and citrus'), one note (what it layers with), one perfume (partners from the index) or two perfumes (does this pair work). Editorial pairings are marked 'editors'; others are marked 'suggested' and should be tested on skin. Use for 'how do I layer vanilla', 'can I layer Delina with something', 'does Sauvage layer with Aventus'. Not for choosing a single perfume (use recommend_perfumes).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 12Claude Code: allow
  • compare_perfumesCompare 2 to 4 perfumes or colognes side by side: notes they share, notes only one has, accords, family, audience, launch year, longevity and projection, plus plain-language differ…No findings

    Why it is in this group

    • The name "compare_perfumes" says "compare": a word for reading.
    Description, as the server wrote it
    Compare 2 to 4 perfumes or colognes side by side: notes they share, notes only one has, accords, family, audience, launch year, longevity and projection, plus plain-language differences ('A is fresher, B is sweeter and lasts longer') and how close they are overall. Use when someone is choosing between named fragrances or asks how two differ ('Sauvage vs Bleu', 'Delina or Layton', 'Aventus or Layton for summer'). Not for finding perfumes like one (use find_similar_perfumes) and not for one perfume's details (use get_perfume).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • explain_noteExplain a fragrance note or perfume ingredient: what it smells like, its family and mood, where it comes from, which notes it pairs with, similar notes, famous perfumes where it le…No findings

    Why it is in this group

    • The name "explain_note" says "explain": a word for reading.
    Description, as the server wrote it
    Explain a fragrance note or perfume ingredient: what it smells like, its family and mood, where it comes from, which notes it pairs with, similar notes, famous perfumes where it leads and a link to the 10ML note page or guide when one exists. Covers about 285 notes in many spellings and languages. Use for 'what does ambroxan smell like', 'what is oud', 'what goes with bergamot', 'is iso e super a note'. Not for listing every perfume with the note (use perfumes_by_note) and not for general terms like EDP or sillage (use explain_perfume_term).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • explain_perfume_termExplain perfume vocabulary and fragrance families: concentrations (eau de cologne, eau de toilette, eau de parfum, extrait, elixir), sillage, projection, longevity, dry down, accor…No findings

    Why it is in this group

    • The name "explain_perfume_term" says "explain": a word for reading.
    Description, as the server wrote it
    Explain perfume vocabulary and fragrance families: concentrations (eau de cologne, eau de toilette, eau de parfum, extrait, elixir), sillage, projection, longevity, dry down, accord, top/heart/base notes, flanker, maceration, layering, niche vs designer, plus the 23 fragrance families (chypre, fougere, gourmand, oriental / amber...) with their key notes and example perfumes. Use for 'what is the difference between EDT and EDP', 'what is a chypre', 'what does sillage mean'. Leave term empty to list everything covered. Not for individual notes (use explain_note).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_giftPerfume and fragrance gift ideas from who the gift is for: recipient (him, her or anyone), relationship, age range, perfumes or notes they already love, style, occasion and how adv…No findings

    Why it is in this group

    • The name "find_gift" says "find": a word for reading.
    Description, as the server wrote it
    Perfume and fragrance gift ideas from who the gift is for: recipient (him, her or anyone), relationship, age range, perfumes or notes they already love, style, occasion and how adventurous to be. Each pick comes with the reason it suits them. Use for 'gift for a woman who loves Delina', 'something safe for my dad' or 'a bold present for a friend'. Not for personal taste recommendations (use recommend_perfumes) and not for classics lists (use search_perfumes with iconic true).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_perfume_alternativesThe editors' alternatives (dupes) to a famous perfume or cologne, from other houses: for each, why it is close and how close (very close, similar vibe, same spirit), plus the 10ML …No findings

    Why it is in this group

    • The name "find_perfume_alternatives" says "find": a word for reading.
    Description, as the server wrote it
    The editors' alternatives (dupes) to a famous perfume or cologne, from other houses: for each, why it is close and how close (very close, similar vibe, same spirit), plus the 10ML guide that compares them. Covers about 100 iconic originals such as Creed Aventus, Baccarat Rouge 540, Delina, Sauvage, Black Opium or Santal 33. For other fragrances in the index the closest options from different houses are computed from notes and accords. Use for 'dupe of X', 'alternative to X', 'what smells like X from another house'. Not for general similarity inside the index (use find_similar_perfumes) and not for free-text discovery (use search_perfumes).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_similar_perfumesFind perfumes and colognes that smell like one the person already likes, ranked by shared notes, accords and style, each saying exactly what it shares and how close it is (very clo…No findings

    Why it is in this group

    • The name "find_similar_perfumes" says "find": a word for reading.
    Description, as the server wrote it
    Find perfumes and colognes that smell like one the person already likes, ranked by shared notes, accords and style, each saying exactly what it shares and how close it is (very close, similar vibe, same spirit). Works from a perfume in the index (name and house, or id) OR from free notes/accords for any other fragrance. Steer the result: fresher, sweeter, darker, lighter, longer_lasting or more_projection. Use for 'something like Baccarat Rouge 540', 'smells like Sauvage but fresher' or 'a scent with saffron and cedar'. Not for editorial dupes of a famous perfume from other houses (use find_perfume_alternatives) and not for free-text discovery (use search_perfumes).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_houseProfile of a perfume house or fragrance brand: country, founded year, style (designer, niche, Middle Eastern, indie), what it is known for, its signature perfumes in the index and …No findings

    Why it is in this group

    • The name "get_house" says "get": a word for reading.
    Description, as the server wrote it
    Profile of a perfume house or fragrance brand: country, founded year, style (designer, niche, Middle Eastern, indie), what it is known for, its signature perfumes in the index and a link to explore it at 10ML. Understands nicknames (YSL, MFK, PDM, Paco Rabanne). Use for 'tell me about Creed', 'what is Amouage known for' or 'best Dior perfumes'. Not for browsing all houses (use list_houses) and not for one perfume (use get_perfume).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_perfumeThe full Fragrance Index profile of one perfume, cologne or fragrance: house, launch year, audience, concentration, family, accords, note pyramid (top, heart and base notes), best …No findings

    Why it is in this group

    • The name "get_perfume" says "get": a word for reading.
    Description, as the server wrote it
    The full Fragrance Index profile of one perfume, cologne or fragrance: house, launch year, audience, concentration, family, accords, note pyramid (top, heart and base notes), best seasons and occasions, longevity, projection and perfumers (full profiles), the editors' character description, five similar perfumes, editorial alternatives from other houses when they exist, related 10ML guides and links. Use when you know which perfume is meant and need facts about it ('tell me about Aventus', 'what notes are in Delina', 'what does Baccarat Rouge 540 smell like'). Not for browsing (use search_perfumes), not for comparing two or more (use compare_perfumes). Unknown names return the closest matches.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_housesBrowse the perfume houses and fragrance brands in the 10ML Fragrance Index with country, type (designer, niche, middle-eastern, indie, celebrity), perfumes profiled and what each i…No findings

    Why it is in this group

    • The name "list_houses" says "list": a word for reading.
    Description, as the server wrote it
    Browse the perfume houses and fragrance brands in the 10ML Fragrance Index with country, type (designer, niche, middle-eastern, indie, celebrity), perfumes profiled and what each is known for. Filter by type, country or a name fragment. Use when someone wants to explore brands, find niche or Middle Eastern houses, or see which houses are covered. Not for one house's full profile (use get_house) and not for perfumes (use search_perfumes).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • perfumes_by_noteList the perfumes and colognes in the 10ML Fragrance Index built around a note or ingredient (vanilla, oud, bergamot, tonka bean, jasmine, patchouli, leather, sandalwood...), most …No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List the perfumes and colognes in the 10ML Fragrance Index built around a note or ingredient (vanilla, oud, bergamot, tonka bean, jasmine, patchouli, leather, sandalwood...), most prominent first, optionally only where the note sits in the top, heart or base, or for an audience, season or occasion. Spelling variants and other languages work (agarwood finds oud, Vanille finds vanilla). Use for 'perfumes with oud', 'a vanilla scent for winter' or 'bergamot-forward colognes for men'. Not for explaining what a note smells like (use explain_note) and not for several notes at once (use search_perfumes with notes_include).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_guidesFind 10ML's perfume and fragrance guides to read or cite: how-tos (where to spray, finding a signature scent, making perfume last), notes explained, house guides, lists, and altern…No findings

    Why it is in this group

    • The name "search_guides" says "search": a word for reading.
    Description, as the server wrote it
    Find 10ML's perfume and fragrance guides to read or cite: how-tos (where to spray, finding a signature scent, making perfume last), notes explained, house guides, lists, and alternatives guides that compare famous perfumes with similar ones from other houses. Returns title, type and a link per locale. Use whenever you want a source to cite or a deeper read ('how to layer perfume', 'best oud perfumes', 'Creed Aventus dupes guide'). Not for facts about a perfume (use get_perfume) and not for note definitions (use explain_note).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_perfumesSearch the 10ML Fragrance Index for perfumes, colognes and fragrances (eau de parfum, eau de toilette, extrait) by name, house, notes, accords, family, audience, season, occasion o…No findings

    Why it is in this group

    • The name "search_perfumes" says "search": a word for reading.
    Description, as the server wrote it
    Search the 10ML Fragrance Index for perfumes, colognes and fragrances (eau de parfum, eau de toilette, extrait) by name, house, notes, accords, family, audience, season, occasion or style. Natural language works: 'fresh citrus summer cologne for men' or 'warm vanilla scent for winter' is understood. Set iconic to true for only the editors' iconic, era-defining classics ('must-know perfumes for her', 'iconic winter scents'). Use when someone describes the scent they want, or names a perfume or house and you need matching fragrances. Not for the full profile of one known perfume (use get_perfume), not for 'something like X' (use find_similar_perfumes) and not for dupes or alternatives to a famous perfume (use find_perfume_alternatives). Returns ranked perfumes with house, year, family, accords, key notes, an editorial character line and 10ml.com links.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

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.

Tool changes

Every rescan that found different tool definitions, newest first.

  1. Oct 22, 2026

    3b10fcfbe54d

    ~15 changed

Install

Pinned to version 2.5.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http perfume-finder https://mcp.10ml.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__perfume-finder__search_perfumes",
      "mcp__perfume-finder__get_perfume",
      "mcp__perfume-finder__compare_perfumes",
      "mcp__perfume-finder__find_similar_perfumes",
      "mcp__perfume-finder__find_perfume_alternatives",
      "mcp__perfume-finder__perfumes_by_note",
      "mcp__perfume-finder__explain_note",
      "mcp__perfume-finder__get_house",
      "mcp__perfume-finder__list_houses",
      "mcp__perfume-finder__explain_perfume_term",
      "mcp__perfume-finder__find_gift",
      "mcp__perfume-finder__search_guides"
    ],
    "ask": [
      "mcp__perfume-finder__recommend_perfumes",
      "mcp__perfume-finder__suggest_layering",
      "mcp__perfume-finder__pick_for_occasion"
    ],
    "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-finder. Review it before you use it.