← Registry

Design

perfumate.app

A perfumery formulation MCP server that searches materials, retrieves material details, checks IFRA compliance, and suggests starting perfume formulas.

1 endpoint45 known toolsFirst detected October 19, 2026Last detected October 19, 2026

ENDPOINT 1

https://perfumate.app/mcp

No auth detected

MCP server metadata

Name
perfumate
Version
1.1.0
Capabilities
tools.listChanged
Server instructions

PerfuMate is a perfume formulation workbench. When the user wants to build, create or compose a perfume or accord, find_starting_formula gives a reference recipe already checked against IFRA. search_materials finds materials by name, scent or family; get_material says what one smells like and how much IFRA allows; check_formula checks any formula against IFRA Category 4 and lists the EU allergens to declare. Every result is a reference, not a certificate. find_starting_formula and check_formula return a link that opens the formula in the PerfuMate editor; offer it when the user wants to keep working on the formula. A user who links a PerfuMate account can work on their own bench: list_formulas, get_formula, list_shelf and the other account tools read it; create_formula, edit_formula, add_to_shelf and the rest change it, and every change appears in their PerfuMate apps within seconds. Read before you write, use the ids the reads return, and say what you changed. A change is written in place, with no new version; undo_last_change takes the last one back, save_version keeps a version when asked. For "what can I make with what I own" read list_shelf, then rebuild_from_shelf or find_substitutes. get_scent_profile, find_substitutes, rebuild_from_shelf, the accord tools and scale_to_concentration run PerfuMate's own engines, so their numbers are the app's. Deleting is two steps: delete_items shows exactly what would go and returns a token; call confirm_delete only after the user says yes to that list. Deleted items stay restorable for 30 days. On an AI Studio plan without Unlimited, the bench keeps the free account's limits; a write past them is refused with the reason and changes nothing.

Known tools 45

search_materials

Use this when the user wants to find perfumery materials by scent, family, name or CAS number, for example musks, woods or citrus to put in a formula, or the catalog name of a material they typed loosely.

Inferred read-only
get_material

Use this when the user asks what one perfumery material smells like, how it is used, how strong or long-lasting it is, or how much of it IFRA allows (its Category 4 fine-fragrance limit, e.

Inferred read-only
check_formula

Use this when the user has a perfume or accord formula, pasted or drafted earlier in this conversation, and wants to know whether it is IFRA compliant, how much of the finished product it may be, which line to reduce, or which EU allergens the label must declare.

Inferred read-only
find_starting_formula

Use this when the user wants to build, create, compose or formulate a perfume, fragrance or accord and needs a starting recipe (a rose, a citrus cologne, a clean musk, an amber), or asks what they could make with materials they list.

Potential side effects
my_account

Use this when the user asks about their PerfuMate account or how big their bench is.

Inferred read-only
list_formulas

Use this when the user asks what formulas they have, wants to find one by name, folder or favourite, or before you read or change a formula (it returns the ids the other tools use).

Inferred read-only
get_formula

Use this when the user wants to see one of their formulas: every line with material, bottle strength, amount, relative and absolute percent, flags and notes, plus totals, concentration, cost and the note pyramid.

Inferred read-only
list_versions

Use this when the user asks about a formula's history: its version tree with notes and parents, which version is the working copy and which have batches.

Inferred read-only
create_formula

Use this when the user wants a new formula on their PerfuMate bench, empty or with lines they give (structured, pasted text or an attached file), for example after building one together in this chat.

Inferred read-only
edit_formula

Use this when the user wants to change a formula on their bench: add or remove a material, set an amount or a bottle strength, swap a material, flag or note a line, reorder, or scale the whole formula.

Potential side effects
update_formula

Use this when the user wants to rename a formula or change its description, bench notes, kind (perfume or accord), folder, favourite star, pin, target concentration, IFRA category or bottle size.

Inferred read-only
rename_folder

Use this when the user wants to rename a formula folder: every formula filed in it moves (an empty name unfiles them).

Inferred read-only
duplicate_formula

Use this when the user wants a copy of a formula to try changes on: an independent copy of its working copy with the same bottles, named "<name> copy" unless named.

Inferred read-only
save_version

Use this when the user wants to keep the current state of a formula as a named version in its evolution tree and carry on editing on a fresh copy.

Inferred read-only
branch_version

Use this when the user wants to start a new line of work from a past version; the old working copy stays in the tree.

Inferred read-only
open_version

Use this when the user wants to go back and edit a past version directly, without cloning it.

Potential side effects
rename_version

Use this when the user wants to change a version's note or the number it carries.

Inferred read-only
list_shelf

Use this when the user asks which materials they own, what is in stock or running low, or as the first step to suggest what they can make with their shelf.

Inferred read-only
get_shelf_material

Use this when the user asks about one material they own: their notes, its bottles with recent stock movements, and the formulas that use it.

Inferred read-only
add_to_shelf

Use this when the user says they have bought or own materials and wants them on their shelf.

Inferred read-only
update_bottle

Use this when the user wants to record stock for a bottle (a weighed count, or grams bought or used, through the stock ledger) or change its price per gram, supplier, lot, low-stock warning, strength, solvent or notes, take it on or off the shelf, or make it the preferred bottle.

Inferred read-only
make_dilution

Use this when the user has made, or wants to record, a dilution from a bottle they own; the material used is taken from the source bottle's stock.

Inferred read-only
update_material

Use this when the user wants to change a material on their bench: their notes, odour description, families, note, impact, blotter hours, shelf life, synonyms, flash point or constituent breakdown; name and CAS only for their own materials.

Inferred read-only
list_batches

Use this when the user asks about batches they have made, all or one formula's, with their maceration journal and days resting.

Inferred read-only
log_batch

Use this when the user has made a batch of a formula and wants it recorded: total weight, date, label and notes, optionally at a weaker strength, and optionally deducting what it used from stock.

Inferred read-only
journal_note

Use this when the user wants to add a dated line to a batch's maceration journal, or correct one.

Inferred read-only
list_notes

Use this when the user asks to read their PerfuMate notebooks: titles and previews, or one notebook in full by id.

Inferred read-only
write_note

Use this when the user wants to create a notebook or change one: its title, body, appended text or pin.

Potential side effects
list_shopping

Use this when the user asks what they need to buy: the Shopping cart's lists and their items (with list and category), and the materials running low.

Inferred read-only
shopping_list

Use this when the user wants to add materials or free text to a Shopping cart list (the default list unless one is named; a new name makes that list), tick items as received or back to needed, or remove them.

Potential side effects
set_preferences

Use this when the user wants to change the account's currency symbol or its default low-stock warning (grams; 0 turns it off).

Inferred read-only
delete_items

Use this when the user asks to delete a formula, version, material, bottle, batch or note.

Potential side effects
confirm_delete

Use this only after the user has said yes to the list delete_items showed.

Inferred read-only
list_deleted

Use this when the user wants to see what they deleted in the last 30 days and can still restore.

Inferred read-only
restore_deleted

Use this when the user wants something back from Recently deleted (deleted in the last 30 days).

Inferred read-only
undo_last_change

Use this when the user wants to take back the last change made from the chat, to one formula or the last of any, from any chat.

Inferred read-only
get_scent_profile

Use this when the user asks what a formula of theirs will smell like, how it evolves or how long it lasts, by PerfuMate's own scent model, exactly as the app's scent profile sheet shows it: families and sub-notes by weight and by perceived impact, the drydown at 0, 1, 4, 8 and 24 hours, the wear line (projection and longevity, e.

Inferred read-only
find_substitutes

Use this when the user lacks a material in a formula, or asks what they could use instead from the materials they own: the app's Find on shelf for one line, with single bottles and two- or three-bottle blends from the shelf that can play that material's part, best first, with a match percent and what each carries or misses.

Inferred read-only
use_substitute

Use this when the user picks one of find_substitutes' suggestions: replaces the line with it (pass its member names), in place, with the app's own amounts, the same smell carried through each bottle's dilution, merged into a line that already holds that bottle.

Inferred read-only
rebuild_from_shelf

Use this when the user asks what they can make with the materials they own, or wants a formula rebuilt using only their shelf: the app's Replace with materials I own, showing how the formula can stand entirely on the shelf (what stays, what a stand-in replaces, what has to go).

Inferred read-only
insert_accord

Use this when the user wants to use one of their saved formulas as a single ingredient inside another, as the app's accords do: a virtual material carrying the flattened composition (so IFRA, allergens, cost and the scent profile see what is inside) on a bottle at the accord's own aromatic strength.

Inferred read-only
view_accord

Use this when the user asks what is inside an accord line of a formula: its materials at the dose it is used in, each with its share of the accord, read live from its source formula, and whether it can be decomposed.

Inferred read-only
decompose_accord

Use this when the user wants an accord line replaced by the materials it holds, at the same dose, in place (undo_last_change takes it back).

Inferred read-only
resync_accord

Use this when the source formula of an accord has changed and the user wants the accord line to follow: re-reads its composition, families and price as it is now, as the app's Re-sync does.

Inferred read-only
scale_to_concentration

Use this when the user wants to change a formula's concentration (for example from an eau de parfum to an eau de toilette) or its finished weight: the app's Scale sheet.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.perfumate]
url = "https://perfumate.app/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "perfumate": {
      "type": "http",
      "url": "https://perfumate.app/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: perfumate
Remote MCP URL: https://perfumate.app/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "perfumate": {
      "url": "https://perfumate.app/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "perfumate": {
      "type": "http",
      "url": "https://perfumate.app/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "perfumate",
  "transport": "streamable-http",
  "url": "https://perfumate.app/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.