search_perfumes
Search the fragrance index by text, house, notes, accords, family, gender, season, occasion or style.
qhouselimitstylecursorfamilygendericoniclocaleseasonaccordsoccasion+3 more
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026
Search a fragrance index: perfumes, notes, houses and guides; similar scents and alternatives.
Scentindex's local MCP server; no sign-in required; STDIO; 9 tools.
No AI overview yet: these facts come from the registry entry and the server itself.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
A window onto a large fragrance index. scentindex queries the public 10ml Fragrance Index — perfumes, the notes inside them, the houses that make them, and the guides that explain the vocabulary — and returns what the index returns, unchanged. No account and no API key are involved; it is a thin, honest client over a public API.
What you can do with it:
Most tools accept a locale for the response language and,
where the underlying operation supports it, a
response_format of concise (the API's default) or
detailed. List tools page with limit (1–100) and an
opaque cursor taken from a previous response.
This rebuild implements 9 of the original tool set's 15 tools — the nine that map onto operations published in the upstream OpenAPI document:
search_perfumes, get_perfume, find_similar_perfumes,
find_perfume_alternatives, perfumes_by_note,
explain_note, list_houses, get_house, search_guides.
The remaining six are omitted, because they have no operation in the published OpenAPI and their argument shapes are not published anywhere reachable:
compare_perfumes, recommend_perfumes,
explain_perfume_term, suggest_layering,
pick_for_occasion, find_gift.
The API base defaults to https://mcp.10ml.com/api/v1 and
can be overridden with the PERFUME_API_BASE environment
variable. No API key is required.
Each tool is a subcommand taking one JSON argument string:
Output is the upstream JSON, verbatim. Exit codes: 0 on
success, 1 on a runtime error (including a validation or
upstream failure), 2 on a usage error.
MCP client config:
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit f236f76
Search the fragrance index by text, house, notes, accords, family, gender, season, occasion or style.
qhouselimitstylecursorfamilygendericoniclocaleseasonaccordsoccasion+3 moreOne perfume in full: notes, accords and metadata.
idrequiredhouselocaleresponse_formatPerfumes similar to a given perfume, note set or accord profile.
houselimitnotessteercursorgenderlocaleaccordsperfumeresponse_formatother_houses_onlyAlternatives to a perfume, e.g. the same scent profile from other houses.
houselimitcursorlocaleperfumeclosenessPerfumes containing a note, e.g. oud.
noterequiredlimitcursorlocaleresponse_formatExplain a fragrance note: what it smells like and where it appears.
idrequiredlocaleresponse_formatList fragrance houses (brands), filterable by type or country.
typelimitquerycursorlocalecountryOne fragrance house in full.
idrequiredlocaleresponse_formatSearch the fragrance guides and glossary content.
qtypelimitcursorlocale90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
npx @reneturcios/scentindex search_perfumes '{"q":"oud","limit":10}'npx @reneturcios/scentindex get_perfume '{"id":"<perfume id>"}'npx @reneturcios/scentindex find_similar_perfumes '{"perfume":"<name>"}'npx @reneturcios/scentindex find_perfume_alternatives '{"perfume":"<name>"}'npx @reneturcios/scentindex perfumes_by_note '{"note":"oud"}'npx @reneturcios/scentindex explain_note '{"id":"oud"}'npx @reneturcios/scentindex list_houses '{"country":"FR"}'npx @reneturcios/scentindex get_house '{"id":"<house id>"}'npx @reneturcios/scentindex search_guides '{"q":"layering"}'npx @reneturcios/scentindex --versionnpx -y @reneturcios/scentindex mcp{ "mcpServers": { "scentindex": { "command": "npx", "args": ["-y", "@reneturcios/scentindex", "mcp"] } }}docker run -i ghcr.io/cloudcorprecords/scentindexdocker run --rm ghcr.io/cloudcorprecords/scentindex perfumes_by_note '{"note":"oud"}'npm installnpm run build # tsc -> dist/npm test # tsx --test test/*.test.ts (fake fetch only, no network)npm run dev # run the CLI from source