Directory / Knowledge, memory & context
Scento Perfume API
Perfume notes, families, raw materials and similar scents for 1,400+ perfumes, read-only, no account or API key. Endpoint: https://www.scento.com/mcp · Docs · Registry: com.scento/perfume-api
Live Answered an MCP handshake without credentials and listed 12 tools.
- Category
- Knowledge, memory & context
- Transport
http- Source
- https://github.com/Scento-com/perfume-mcp-server
- Endpoint
https://www.scento.com/mcp- MCP Registry
com.scento/perfume-api- Reports itself as
- scento-perfume-api 1.0.0
- Protocol
- 2025-06-18
- Tools
- 12
- Context cost
- about 4,170 tokens for the tool definitions (estimated at four characters per token)
- Tool definitions last changed
- no change seen since first check
- Handshake time
- 352 ms
- Repository
- 0 stars · last push 2026-10-27 · MIT
- Last checked
- 2026-11-03 10:54:49 UTC
- Listed since
- 2026-10-25
Health and compatibility
| Endpoint reachable | Verified | Responded in 352 ms |
|---|---|---|
| MCP handshake (initialize) | Verified | Completed without credentials |
| Tool discovery (tools/list) | Verified | 12 tools listed |
| Authentication | Verified | None needed to connect |
| Protocol version | Verified | 2025-06-18 |
| Transport | Verified | Streamable HTTP |
| Capabilities declared | Verified | logging, prompts, resources, tools |
Last checked . Verified means the check saw it happen; it says nothing about whether the server is safe.
Recent history
5 daily checks so far; median response 239 ms. Green answered, violet asked for auth, red did not answer.
Set up in your client
Claude Code
Run this in a terminal:
claude mcp add --transport http scento-perfume-api https://www.scento.com/mcpClaude Desktop
Open Settings → Connectors → Add custom connector and paste this URL:
https://www.scento.com/mcpOr bridge it through mcp-remote in claude_desktop_config.json (needs Node.js):
{
"mcpServers": {
"scento-perfume-api": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://www.scento.com/mcp"
]
}
}
}Cursor
Or add it to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"scento-perfume-api": {
"url": "https://www.scento.com/mcp"
}
}
}VS Code
Or add it to .vscode/mcp.json:
{
"servers": {
"scento-perfume-api": {
"type": "http",
"url": "https://www.scento.com/mcp"
}
}
}Or from a terminal:
code --add-mcp '{"name": "scento-perfume-api", "type": "http", "url": "https://www.scento.com/mcp"}'Windsurf
Add it to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"scento-perfume-api": {
"serverUrl": "https://www.scento.com/mcp"
}
}
}Other clients
Most clients accept this shape. The endpoint is:
https://www.scento.com/mcp{
"mcpServers": {
"scento-perfume-api": {
"type": "http",
"url": "https://www.scento.com/mcp"
}
}
}If it does not connect
- Restart the client after editing a config file, and keep keys out of files you commit.
- If the tools do not appear, open the client's MCP log: a 401 means the credentials were not accepted, and a timeout means the server did not answer.
Tools 12
Names, descriptions and input schemas exactly as the server returned them on 2026-11-03. This is the server author's own text. Nothing is run from this page. Labels such as read-only are declared by the server and are not verified. Raw JSON
family-mapread-onlyUse this when the user asks how fragrances are grouped or what a scent family is (for example woody, floral, …
Use this when the user asks how fragrances are grouped or what a scent family is (for example woody, floral, amber, fresh, citrus), or wants the exemplar perfumes of one family (synonyms: scent families, fragrance categories, olfactive families). Returns Scento's own family system: the whole tree, or one family with its definition, subfamilies, exemplar perfumes and neighbouring families, with the scento.com guide. Don't use for one perfume's family (perfume-portrait), a perfumery term (perfumery-lexicon) or an occasion (occasion-edit).
| Parameter | Type | Description | |
|---|---|---|---|
family | string | optional | Optional family name or id. Examples: "Amber & Resin", "Wood & Root" or "white-bloom". Leave empty for the whole map. |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "family-map",
"arguments": {}
}
}house-portraitread-onlyUse this when the user asks about a perfume house, brand or maison (for example Creed, Le Labo, Amouage): …
Use this when the user asks about a perfume house, brand or maison (for example Creed, Le Labo, Amouage): where it is from, when it was founded, its style and its signature perfumes. Returns country, founding year, style, signature perfumes with their families and the scento.com house page in the user's language. Don't use for one perfume (use perfume-portrait) or to list perfumes with a given note (material-match). If the house name is uncertain, call perfume-search with kind "house" first.
| Parameter | Type | Description | |
|---|---|---|---|
house | string | required | One perfume house or brand, by name. Examples: "Maison Francis Kurkdjian", "Le Labo", "Amouage", "Parfums de Marly". |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "house-portrait",
"arguments": {
"house": "..."
}
}
}journal-searchread-onlyUse this when the user wants articles, guides or background reading on a perfume, fragrance, cologne, house, …
Use this when the user wants articles, guides or background reading on a perfume, fragrance, cologne, house, note or topic (for example layering, vetiver, how to make a scent last). Returns matching Scento journal articles with title, one-line summary and scento.com link in the user's language. Use it to give the reader something to read on. Don't use for a perfume's notes (perfume-portrait), a house profile (house-portrait) or a term's meaning (perfumery-lexicon).
| Parameter | Type | Description | |
|---|---|---|---|
q | string | required | A perfume, house, note or topic to find articles on. Examples: "vetiver", "layering", "Creed Aventus", "make a scent last". |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
continuation | string | optional | The "continuation" value from a previous answer, passed back unchanged to get the next part of the list. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "journal-search",
"arguments": {
"q": "..."
}
}
}material-matchread-onlyUse this when the user wants perfumes, fragrances or colognes that contain specific notes or raw materials, …
Use this when the user wants perfumes, fragrances or colognes that contain specific notes or raw materials, optionally in the top, heart or base (synonyms: with notes of, built on, smells of, containing; for example vanilla and tobacco in the base). Returns the perfumes that have every material given, with house, where each sits in the pyramid and scento.com links in the user's language. Don't use to explain one material (note-portrait), to find perfumes like a named perfume (scent-neighbours) or for a mood or occasion (occasion-edit).
| Parameter | Type | Description | |
|---|---|---|---|
materials | string[] | required | One to four notes or raw materials that must all be present. Examples: ["vanilla", "tobacco"] or ["oud"]. |
tier | string | optional | Where in the pyramid the materials must sit: "top", "heart" or "base". Example: "base" for a vanilla-and-tobacco drydown. Default "any". One of: top, heart, base, any |
family | string | optional | Optional Scento family to stay within, for example “Wood & Root”. |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
continuation | string | optional | The "continuation" value from a previous answer, passed back unchanged to get the next part of the list. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "material-match",
"arguments": {
"materials": []
}
}
}note-portraitread-onlyUse this when the user asks what a note or raw material smells like or is (for example vetiver, oud, vanilla, …
Use this when the user asks what a note or raw material smells like or is (for example vetiver, oud, vanilla, iris, ambroxan, bergamot), whether it is natural or synthetic, or what it pairs with (synonyms: what does X smell like, ingredient, note). Returns how it smells, its family, natural or synthetic, pairings and perfumes that show it, with the scento.com page in the user's language. Don't use to find perfumes containing notes (use material-match) or to define a perfumery term such as sillage (perfumery-lexicon).
| Parameter | Type | Description | |
|---|---|---|---|
material | string | required | One note or raw material, by common name. Examples: "vetiver", "orris", "ambroxan", "pink pepper", "oud". |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "note-portrait",
"arguments": {
"material": "..."
}
}
}occasion-editread-onlyUse this when the user asks which perfume, fragrance or cologne to wear for one occasion, season or climate: …
Use this when the user asks which perfume, fragrance or cologne to wear for one occasion, season or climate: wedding, office, date night, night out, weekend, everyday, gym or sport (workout), summer days, cold weather, first impressions, long-lasting or under-the-radar. Returns a short edit of perfumes with a line on why each fits and a scento.com link for each, in the user's language. The occasion is a fixed list, so pick the nearest value; omit gender_lean unless the user states one. For several occasions call it once per occasion. Don't use for a collection built around perfumes the user already loves (wardrobe-composer) or for similar scents (scent-neighbours).
| Parameter | Type | Description | |
|---|---|---|---|
occasion | string | required | The occasion, season or climate. Examples: "wedding" for a wedding guest, "office" for work, "weekend" for relaxed days, "gym" for sport, "date-night" for an evening out for two, "summer-days" for heat, "cold-weather" for winter. A summer wedding is "wedding". One of: office, date-night, night-out, everyday, summer-days, cold-weather, workout, wedding … |
gender_lean | string | optional | Omit unless the user states one ("cologne" or "perfume" alone is not a request). Lean read from the materials by convention: "feminine", "masculine" or "shared". Example: "masculine" when the user asks for a men's fragrance. It reorders the edit and never … One of: feminine, masculine, shared |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "occasion-edit",
"arguments": {
"occasion": "office"
}
}
}perfume-contrastread-onlyUse this when the user asks to compare, contrast or choose between two to four named perfumes, fragrances or …
Use this when the user asks to compare, contrast or choose between two to four named perfumes, fragrances or colognes (synonyms: versus, vs, difference between, which one). Returns the perfumes side by side on house, Scento family, top, heart and base notes, shared materials, character, seasons, hours, year and concentration, with scento.com links in the user's language. Don't use to find new perfumes (scent-neighbours or perfume-search) or to explain a single perfume (perfume-portrait).
| Parameter | Type | Description | |
|---|---|---|---|
perfumes | string[] | required | Two to four perfumes to compare, by name (with house if needed) or slug. Examples: ["Mojave Ghost", "Santal 33"] or ["Oud Wood", "Layton", "Grand Soir"]. |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "perfume-contrast",
"arguments": {
"perfumes": []
}
}
}perfume-portraitread-onlyUse this when the user asks what a specific perfume, fragrance or cologne smells like, what its notes or …
Use this when the user asks what a specific perfume, fragrance or cologne smells like, what its notes or pyramid (top, heart, base) are, its family, perfumer, year or concentration (eau de parfum, eau de toilette), or when to wear it (synonyms: notes of, what's in it, how does it smell). Returns the verified note pyramid, Scento family and subfamily, character, seasons and hours, signature materials and the scento.com page in the user's language. Don't use to find similar perfumes (use scent-neighbours), compare perfumes (perfume-contrast) or search by mood (perfume-search).
| Parameter | Type | Description | |
|---|---|---|---|
perfume | string | required | One perfume, by name as the user writes it, optionally with its house, or its slug. Examples: "Oud Wood", "Tom Ford Oud Wood", "Creed Aventus", "santal-33-le-labo". |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "perfume-portrait",
"arguments": {
"perfume": "..."
}
}
}perfume-searchread-onlyUse this when the user asks to find a perfume, fragrance, cologne or scent by name, house, note or mood, or …
Use this when the user asks to find a perfume, fragrance, cologne or scent by name, house, note or mood, or when a name is uncertain (synonyms: perfume, fragrance, cologne, eau de parfum, scent, brand, notes, smells like). Returns matching perfumes, houses and raw materials with house, Scento family and a scento.com link in the user's language, ten per page. Call this first when a name is ambiguous. Don't use for a perfume's full notes (use perfume-portrait), similar scents (scent-neighbours) or articles (journal-search).
| Parameter | Type | Description | |
|---|---|---|---|
q | string | required | What to look for: a perfume, house or material name, or a mood word. Examples: "Baccarat Rouge 540", "Le Labo", "vetiver", "smoky vanilla". |
kind | string | optional | Limit the results to one kind: "perfume", "house" or "material". Example: "house" to resolve a brand name. Default "any". One of: perfume, house, material, any |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
continuation | string | optional | The "continuation" value from a previous answer, passed back unchanged to get the next part of the list. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "perfume-search",
"arguments": {
"q": "..."
}
}
}perfumery-lexiconread-onlyUse this when the user asks what a perfume or fragrance term means: sillage, projection, longevity, drydown, …
Use this when the user asks what a perfume or fragrance term means: sillage, projection, longevity, drydown, top, heart and base notes, accord, chypre, fougère, gourmand, oud, layering, eau de parfum versus eau de toilette (EDP vs EDT), concentration, flanker or niche versus designer. Returns a plain-language meaning, example perfumes and related terms, with the matching scento.com guide in the user's language. Don't use for a specific note (use note-portrait) or a specific perfume (perfume-portrait).
| Parameter | Type | Description | |
|---|---|---|---|
term | string | required | The term to explain, as the user wrote it. Examples: "sillage", "drydown", "chypre", "EDP vs EDT". |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "perfumery-lexicon",
"arguments": {
"term": "..."
}
}
}scent-neighboursread-onlyUse this when the user asks for perfumes similar to, like or in the same style as a given perfume, fragrance …
Use this when the user asks for perfumes similar to, like or in the same style as a given perfume, fragrance or cologne, or what else to try if they love it (synonyms: similar to, smells like, more like, if I like X). Returns the perfumes that share the most notes and structure with it, with the shared materials named, one line on how each differs and scento.com links in the user's language. Don't use for one perfume's own notes (perfume-portrait), a side-by-side of named perfumes (perfume-contrast) or a whole collection (wardrobe-composer).
| Parameter | Type | Description | |
|---|---|---|---|
perfume | string | required | The perfume the user already knows or loves, by name (with its house if needed) or slug. Examples: "Aventus", "Layton Parfums de Marly", "Santal 33". |
same_house | boolean | optional | Set true to stay within the perfume's own house, for example when asked for "other Creed scents like Aventus". Default false. |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
continuation | string | optional | The "continuation" value from a previous answer, passed back unchanged to get the next part of the list. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "scent-neighbours",
"arguments": {
"perfume": "..."
}
}
}wardrobe-composerread-onlyUse this when the user wants a small fragrance wardrobe or collection (three to five perfumes for different …
Use this when the user wants a small fragrance wardrobe or collection (three to five perfumes for different moments) built around perfumes or notes they already love, or asks what to add next (synonyms: signature scents, collection, rotation, what else should I own). Returns roles such as daytime, evening and warm weather, each with a perfume, its house, why it fits and a scento.com link in the user's language. Don't use for a single occasion (occasion-edit) or the neighbours of one perfume (scent-neighbours).
| Parameter | Type | Description | |
|---|---|---|---|
loves | string[] | required | Perfumes or notes the person already loves, one to six. Examples: ["Aventus", "iris"] or ["Santal 33"]. |
avoid | string[] | optional | Perfumes, notes or families to leave out, up to six. Examples: ["oud"] or ["Sauvage", "Velvet Sweet"]. |
size | integer | optional | How many perfumes the wardrobe holds, 3 to 5. Example: 4. Default 3. |
lang | string | optional | Language of the scento.com links and labels; answers stay in English. Use the language the user writes in, for example "de" (German), "fr" (French), "es" (Spanish) or "it" (Italian). Default "en". One of: en, de, fr, es, it, ro, el, hu … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "wardrobe-composer",
"arguments": {
"loves": []
}
}
}Resources 2
fragrance-familiesEvery Scento fragrance family with its definition, subfamilies and how many perfumes in the database lead with it. Use it to explain how perfume is grouped before calling family-map or …perfume-housesEvery perfume house in the database with its country, founding year, style (designer, heritage, niche, Arabian or artisan), number of perfumes and its scento.com page when it has one. Use it to …
Prompts 2
find-signature-scentBuild a short, sourced list of perfumes to try from the perfumes or notes someone loves and what they avoid.compare-perfumesCompare two to four perfumes side by side and recommend one for a stated use.
Badge
Maintain this server? Put its live status in your README:
[](https://mcp.aianytime.net/s/scento-perfume-api/)Edit this entry · Report a problem
More in Knowledge, memory & context
Checks record what a server answered, not whether it is safe. A listing is not a security audit; read a server's source and permissions before you connect it. Add a server · JSON · llms.txt · llms-full.txt
Browse: Agents, IDEs & developer tools · Search & discovery · Knowledge, memory & context · Media & generation · Security · Finance & markets · Marketing, content & social · Cloud, ops & data · Commerce, travel & logistics · Work & productivity · No account needed · Local servers