PerfuMate

app.perfumate由 perfumate.app 发布官方发布者v1.1.0更新于 Oct 27, 2026

Perfumery materials, IFRA Category 4, EU allergens, and your formulas and shelf via OAuth.

已验证Streamable HTTP可网页运行效率与工作流知识与记忆商业与电商

概览

AI 生成的概览

PerfuMate 让助手查询香精香料原料、检查 IFRA 与欧盟过敏原合规性,并管理你的配方、原料架、批次和笔记。

可以做什么
  • 按气味、香型、名称或 CAS 号搜索并查看原料,含气味描述、强度和 IFRA 第 4 类限量
  • 检查配方的 IFRA 第 4 类合规性与欧盟过敏原申报,并查找起始配方或替代原料
  • 创建、编辑、重命名、复制、版本化和分支配方,预览气味画像或仅用现有原料重建配方
  • 管理原料架:列出原料与瓶装、添加原料、记录库存、价格和稀释
  • 记录批次与熟化日志,读写笔记本和购物清单
  • 删除、恢复和撤销更改,采用两步确认并保留 30 天最近删除列表
适用场景
适合在 PerfuMate 上记录作品的调香爱好者和配方师,希望助手帮忙起草配方、核对 IFRA 与过敏原限量、用现有原料规划替代方案,或记录批次和库存而无需切换到应用。
运行要求
远程端点 perfumate.app,使用 streamable HTTP;注册表描述称通过 OAuth 访问,未声明环境变量或请求头。使用配方、原料架、批次和笔记本相关工具需要已关联的 PerfuMate 账户。
安装前请注意
许多工具会写入账户:配方、原料库存、批次、笔记本、购物清单和偏好设置。删除为两步操作,需确认令牌并对受保护项目核对名称,删除后 30 天内可恢复。配方、库存和价格等账户数据会发送至 PerfuMate 服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 PerfuMate,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/app.perfumate%2Fperfumate/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

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

工具

45

search_materials

Search perfumery 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. Returns up to 10 catalog materials (aroma chemicals, essential oils, absolutes, bases) with CAS, family, note, impact, scent facets and a page link; a material IFRA prohibits or the EU bans is marked prohibited and ranked lower. For the full detail of one material use get_material; to check a whole formula use check_formula. Not for finished perfumes or shopping advice.

输入参数limitquery必填

get_material

Show a perfumery 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.g. "how much Iso E Super can I use"). Returns the odour description, family, note, impact, blotter life, synonyms, whether IFRA restricts it and its limit, whether the EU prohibits it, and a link to start a formula with it. The limit is the regulatory ceiling in the finished product, not a recommended dose. Without an exact match it returns the closest catalog names. To check a whole formula use check_formula.

输入参数name必填

check_formula

Check a formula (IFRA and EU allergens)

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. Checks IFRA Category 4 (fine fragrance) at the concentration the user chooses, finds the highest safe concentration and says how far to reduce a line that is over a limit. Give the formula as pasted text (one material per line with an amount) or as structured lines, every line in grams or every line in percent. Lines that match no catalog material are listed and not counted. Does not save anything and does not change the amounts. Returns a link that opens the formula in PerfuMate. For one material's limit use get_material; for a starting recipe use find_starting_formula.

输入参数linesformulaconcentrationPct

find_starting_formula

Find a 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. Matches the idea to PerfuMate's reference accords, the vetted recipes published at perfumate.app/accords, and returns the closest match with its percentages and grams for a batch, already checked against IFRA Category 4 at the concentration given (verdict, highest safe concentration, allergens to declare), plus a link that opens it in PerfuMate and a few alternatives. The ratios are the library's own; nothing is invented, and an idea no accord fits returns the list of available accords instead. Re-check any edited version with check_formula. Not for copying a named commercial perfume. Does not save anything.

输入参数ideabatchGramshaveMaterialsconcentrationPct

my_account

Your PerfuMate account

Use this when the user asks about their PerfuMate account or how big their bench is. Returns the linked account's plan ("unlimited" or "ai_studio") and its counts of formulas, shelf materials and notebooks; says so when the bench has not synced from the app yet.

无需输入参数。

list_formulas

List your 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). Lists the formulas on the user's PerfuMate bench, pinned first then most recently edited, with folders. Locked formulas show their name only.

输入参数kindqueryfolderfavoritesOnly

get_formula

Show one of your formulas

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. Optionally adds an IFRA Category 4 and EU allergen check of it ("is my formula IFRA compliant"). Can read a past version by number or id.

输入参数formula必填versioncheckIfraifraConcentrationPct

list_versions

List a formula's 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.

输入参数formula必填

create_formula

Create a formula on your bench

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. Lines are matched to the catalog and the user's own materials; if any line does not match, nothing is saved and the unmatched names come back with suggestions. Bottles the user does not own are added off the shelf, as an import does. To only check a formula without saving it use check_formula.

输入参数filekindnametextlinesfolderbatchGramsdescriptiontargetConcentrationPct

edit_formula

Edit a formula's lines

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. Changes the working copy in place, as one hand edit in the editor does. No version is made; undo_last_change reverses the change, save_version keeps a version when the user asks. Only when a batch was made from the working copy does the first change start one new working version (the result says so). A formula open in the app updates within seconds. Lines are named by material or id. For add/set_amount always specify unit: g is a weighed amount; % is the final weighed share of the whole formula (including solvent, not the pure aromatic relative/absolute percent). Other weighed lines are held fixed; several % targets are solved together. Never copy relativePct or absolutePct as grams. Read get_formula first and use weighedPct for this kind of percentage edit.

输入参数formula必填operations必填

update_formula

Rename, describe or file a 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.

输入参数kindnamefolderpinnedformula必填favoritedescriptionbottleSizeMlifraCategorypersonalNotestargetConcentrationPct

rename_folder

Rename a formula folder

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

输入参数to必填from必填

duplicate_formula

Duplicate a 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.

输入参数nameformula必填

save_version

Save a version to the tree

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.

输入参数noteformula必填

branch_version

Branch from a 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.

输入参数formula必填version必填

open_version

Edit a past version in place

Use this when the user wants to go back and edit a past version directly, without cloning it. Refused for a version a batch was made from.

输入参数formula必填version必填

rename_version

Rename or renumber a version

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

输入参数notenumberformula必填version必填

list_shelf

List your 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. Lists the materials on the user's shelf, each with its bottles: strength, solvent, stock, price, supplier, lot and running low.

输入参数querylowOnly

get_shelf_material

Show one of your materials

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.

输入参数material必填

add_to_shelf

Add materials to your shelf

Use this when the user says they have bought or own materials and wants them on their shelf. Adds catalog materials by name or CAS, or their own new ones; each item can carry the bottle strength, solvent, stock in grams, price per gram, supplier and lot. Without a strength, a catalog material gets its usual working dilution (in DPG unless a solvent is given), else neat. A list can also come as pasted text or an attached file: one material per line, or a table whose header row names the columns. Names that match nothing come back with suggestions.

输入参数filetextitems

update_bottle

Update a 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.

输入参数lotnotesbottlereasononShelfsolventaddGramsmaterialsuppliercountGramsdilutionPctmakeDefault另有 2 个

make_dilution

Make a dilution from stock

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.

输入参数grams必填solventmaterialtargetPct必填fromBottlefromDilutionPctdeductFromSource

update_material

Edit a 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.

输入参数casnamenoteodortierimpactnaturalfamiliesmaterial必填synonymsflashPointCblotterHours另有 4 个

list_batches

List your batches

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

输入参数formula

log_batch

Log a 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. Works from the working copy or a version.

输入参数codenotesmadeAtformula必填versiontotalGrams必填deductStockconcentrationPct

journal_note

Write in a batch's journal

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

输入参数datetext必填batchnoteId

list_notes

Read your notebooks

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

输入参数idquery

write_note

Write in a notebook

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

输入参数idbodytitleappendpinned

list_shopping

Your shopping cart

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. Optionally one list only.

输入参数list

shopping_list

Change your shopping cart

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.

输入参数adddonelistremoveundonecategory

set_preferences

Change account 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).

输入参数currencySymbollowStockDefaultGrams

delete_items

Prepare a deletion (step 1 of 2)

Use this when the user asks to delete a formula, version, material, bottle, batch or note. It is step 1 of 2 and deletes NOTHING: it shows exactly what would be removed, with any protection, and returns a confirmation token valid for 10 minutes. Show the list to the user; only after they agree, call confirm_delete. Locked formulas cannot be deleted here.

输入参数items必填

confirm_delete

Delete (step 2 of 2)

Use this only after the user has said yes to the list delete_items showed. Deletes exactly that list, with its token. If the list included a protected item, confirmName must be the formula's name as the user typed it. Items stay restorable for 30 days.

输入参数token必填confirmName

list_deleted

Recently deleted

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

输入参数kind

restore_deleted

Restore deleted items

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

输入参数items必填

undo_last_change

Undo the 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. Pass the exact changeId from a write result or this tool's preview. Without changeId this only previews the latest change and changes nothing. Reuse the SAME changeId after an error or retry: a completed undo is idempotent and never steps farther back. Only preview/select another ID when the user asks for another step (20 changes per formula,30 days). A concurrent edit aborts the whole restore; newer app work is not overwritten.

输入参数formulachangeId

get_scent_profile

Scent profile of a formula

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.g. "Bold · moderate wear") with its confidence, the genre, and the five-part note pyramid. Accords count by what they hold.

输入参数formula必填

find_substitutes

Find a stand-in on your shelf

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. Never offers an IFRA-prohibited material. Changes nothing; use_substitute swaps one in.

输入参数line必填formula必填

use_substitute

Swap in a stand-in

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.

输入参数line必填formula必填members必填

rebuild_from_shelf

Rebuild with materials you own

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). Without apply it only shows the plan; with apply: true it rewrites the working copy in place (undo_last_change takes it back).

输入参数applyformula必填

insert_accord

Use a formula as an 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. Optionally at an amount in grams.

输入参数gramssource必填formula必填

view_accord

Show what an accord holds

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.

输入参数line必填formula必填

decompose_accord

Decompose an 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).

输入参数line必填formula必填

resync_accord

Re-sync an 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.

输入参数line必填formula必填

scale_to_concentration

Scale to a 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. The concentrate scales and the finishing alcohol makes up the rest, added from the catalog's perfumer's ethanol when there is none. Capped at the concentrate's own strength. In place.

输入参数formula必填totalGramsconcentrationPct必填

版本历史

1
  1. v1.1.0最新Oct 18, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。