Search / com.10ml/perfume-finder
10ML Perfume Finder
R0· no sign-inFree perfume MCP server and fragrance API: 5,400+ perfumes, note pyramids, accords, similar scents.
v2.3.4 · active · repository · website · descriptor JSON · versions
Search / com.10ml/perfume-finder
R0· no sign-inFree perfume MCP server and fragrance API: 5,400+ perfumes, note pyramids, accords, similar scents.
v2.3.4 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"perfume-finder": {
"type": "http",
"url": "https://mcp.10ml.com/mcp"
}
}
}claude mcp add --transport http perfume-finder https://mcp.10ml.com/mcp[mcp_servers.perfume-finder]
url = "https://mcp.10ml.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"perfume-finder": {
"type": "remote",
"url": "https://mcp.10ml.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"perfume-finder": {
"type": "http",
"url": "https://mcp.10ml.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=perfume-finder&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLjEwbWwuY29tL21jcCJ9"
}{
"servers": {
"perfume-finder": {
"type": "http",
"url": "https://mcp.10ml.com/mcp"
}
}
}{
"mcpServers": {
"perfume-finder": {
"httpUrl": "https://mcp.10ml.com/mcp"
}
}
}extensions:
"perfume-finder":
enabled: true
name: "perfume-finder"
type: streamable_http
uri: "https://mcp.10ml.com/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations15 of 15 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 7,518 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history recorded for 0 of the 7 days neededdeps.known_vulns, deps.mcp_sdk_version, deps.resolvabledependencies not resolved yeticonic_perfumesremovedIconic, era-defining perfumes chosen by 10ML's fragrance editors: the modern classics worth knowing, optionally for men, women or unisex, a family, a season, an occasion or a style. Use for 'what are the classic perfumes', 'must-know fragrances for her', 'iconic winter scents' or when someone wants well-loved starting points. Not for a specific occasion with a personal slant (use pick_for_occasion), not for taste matching (use recommend_perfumes).
search_guideschangedoutput schemafind_giftchangeddescription, output schemaPerfume 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 iconic_perfumes).
Perfume 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).
pick_for_occasionchangeddescription, output schemaPerfume 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 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 iconic_perfumes).
Perfume 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 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).
suggest_layeringchangedoutput schemaexplain_perfume_termchangedoutput schemalist_houseschangedoutput schemaget_housechangedoutput schemaexplain_notechangedoutput schemaperfumes_by_notechangedoutput schemaShowing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-100% +updated-0d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
@10ml/[email protected] npmnot resolved yet; dependencies are read once a day
[email protected] PyPInot resolved yet; dependencies are read once a day
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.10ml.com/mcp streamable-http | none | yes | 100% | 632 ms | 2025-11-25 | 2026-10-20 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
@10ml/perfume-finder-mcp | npm | 2.3.4 | – | |
perfume-finder-mcp | pypi | 2.3.4 | – |
compare_perfumesread-only | Compare 2 to 4 perfumes 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 perfumes or asks how two differ ('Sauvage vs Bleu', 'Delina or Layton'). Not for finding perfumes like one (use find_similar_perfumes) and not for one perfume's details (use get_perfume). |
explain_noteread-only | Explain a fragrance note: 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'. 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). |
explain_perfume_termread-only | Explain perfume vocabulary and fragrance families: concentrations (EDC, EDT, EDP, 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). |
find_giftread-only | Perfume 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). |
find_perfume_alternativesread-only | The editors' alternatives (dupes) to a famous perfume 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 perfumes in the index the closest options from different houses are computed from notes and accords. Use for 'dupe of X', 'alternative to X', 'smells like X but from another house'. Not for general similarity inside the index (use find_similar_perfumes) and not for free-text discovery (use search_perfumes). |
find_similar_perfumesread-only | Find perfumes 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 perfume. Steer the result: fresher, sweeter, darker, lighter, longer_lasting or more_projection. Use for 'something like Baccarat Rouge 540', 'like Sauvage but fresher' or 'a perfume with notes of 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). |
get_houseread-only | Profile of a perfume house: 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). |
get_perfumeread-only | The full Fragrance Index profile of one perfume: house, launch year, audience, 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. |
list_housesread-only | Browse the perfume houses 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). |
perfumes_by_noteread-only | List the perfumes in the 10ML Fragrance Index built around a note (vanilla, oud, bergamot, tonka bean, rose, iris, 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). |
pick_for_occasionread-only | Perfume 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 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). |
recommend_perfumesread-only | Personal perfume recommendations from taste: perfumes 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'). 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). |
search_guidesread-only | Find 10ML's perfume guides and articles 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). |
search_perfumesread-only | Search the 10ML Fragrance Index for perfumes by name, house, notes, accords, family, audience, season, occasion or style. Natural language works: 'fresh citrus summer scent for men' 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 what they want or names a perfume or house and you need matching perfumes. 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. |
suggest_layeringread-only | Perfume 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). |
Schemas: list_tools.
{
"name": "com.10ml/perfume-finder",
"icons": [
{
"src": "https://10ml.com/brand/icons/icon-512.png",
"sizes": [
"512x512"
],
"mimeType": "image/png"
},
{
"src": "https://10ml.com/brand/icons/icon-128.png",
"sizes": [
"128x128"
],
"mimeType": "image/png"
}
],
"title": "10ML Perfume Finder",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.10ml.com/mcp",
"type": "streamable-http"
}
],
"version": "2.3.4",
"packages": [
{
"version": "2.3.4",
"transport": {
"type": "stdio"
},
"identifier": "@10ml/perfume-finder-mcp",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org"
},
{
"version": "2.3.4",
"transport": {
"type": "stdio"
},
"identifier": "perfume-finder-mcp",
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org"
}
],
"repository": {
"url": "https://github.com/10ml-com/perfume-finder-mcp",
"source": "github"
},
"websiteUrl": "https://mcp.10ml.com",
"description": "Free perfume MCP server and fragrance API: 5,400+ perfumes, note pyramids, accords, similar scents."
}