Scento Perfume API (MCP server)

Free perfume & fragrance API and MCP server: notes, families, similar scents, 1,400+ perfumes.

OtherJavaScriptv1.0.0

Scento Perfume API (MCP server): Perfume API, Fragrance API and Perfume MCP Server

A free perfume and fragrance API and MCP server for AI assistants, built on Scento's verified perfume database. From Scento, a perfume decant house founded in Paris in 2024.

Ask Claude, ChatGPT, Cursor or any MCP client for a perfume's notes and family, the difference between two you are torn over, similar scents built on the same structure, or what a raw material such as ambroxan smells like. The perfume database covers 1,400+ designer and niche perfumes, 400+ raw materials, 140+ houses and Scento's own fragrance-family system, and every answer is tied to a page on scento.com. No key, no account, read-only.

Remote server: https://www.scento.com/mcp (streamable HTTP, no authentication) Docs: https://www.scento.com/developers

Connect the perfume MCP server

ClientHow
Claude (web, desktop, mobile)Settings, Connectors, Add custom connector. Paste https://www.scento.com/mcp.
ChatGPTSettings, Connectors, create a connector in developer mode. Server URL https://www.scento.com/mcp, authentication none.
CursorAdd to ~/.cursor/mcp.json: {"mcpServers":{"scento-perfume-api":{"url":"https://www.scento.com/mcp"}}}
VS CodeAdd to .vscode/mcp.json: {"servers":{"scento-perfume-api":{"type":"http","url":"https://www.scento.com/mcp"}}}
Claude Codeclaude mcp add --transport http scento-perfume-api https://www.scento.com/mcp

Clients that only run local servers can use the stdio bridge in this repo:

npx -y scento-perfume-api     # Node 18+
uvx scento-perfume-api        # Python 3.9+

Both accept --endpoint <url> (or SCENTO_PERFUME_API_ENDPOINT). The same bridge is also published as perfume-mcp-server and perfume-database on npm and PyPI.

Twelve perfume and fragrance tools

ToolWhat it does
perfume-searchFind perfumes, houses and raw materials by name, house, note or mood word.
perfume-portraitThe full portrait of one perfume: pyramid, Scento family, character and when it wears best.
scent-neighboursPerfumes that share the most structure with a given one, with the shared materials named.
perfume-contrastSet two to four perfumes side by side on family, pyramid, character and season.
note-portraitWhat a note or raw material is, where it comes from and how it reads on skin.
material-matchPerfumes that contain every material given, optionally in one tier of the pyramid.
house-portraitA perfume house: origin, founding year, style and its signature perfumes.
family-mapScento's own fragrance-family system, or one family with its subfamilies and exemplars.
occasion-editA short edit of perfumes for an occasion, season or climate, with a line on each.
wardrobe-composerThree to five perfumes that cover different moments, built around what the person already loves.
perfumery-lexiconPlain-language meaning of a perfumery term such as sillage, chypre, fougère or EDP versus EDT.
journal-searchScento journal articles on a perfume, house, material or topic.

Pass lang (de, fr, es, it, ro, el, hu, cs, pl) to receive scento.com links in that language.

Fragrance API (REST)

The same answers are available as a perfume API over plain HTTP.

Examples

Three raw JSON-RPC calls are in examples/.

Repository layout

  • npm/: the Node stdio bridge, published as scento-perfume-api on npm
  • pypi/: the Python stdio bridge, published as scento-perfume-api on PyPI
  • server.json: metadata for the Official MCP Registry (com.scento/perfume-api)

Licence

MIT for the bridge code in this repository. The perfume database content is served from scento.com under its terms.

Scento

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y scento-perfume-api

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "com-scento-perfume-api": {
      "command": "npx",
      "args": [
        "-y",
        "scento-perfume-api"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

scento-perfume-apinpm

Compatible MCP Clients

Scento Perfume API (MCP server) works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More