关于 Perfume Picks
Perfume Picks MCP Server 为 Claude 及其他兼容 MCP 的 AI 客户端提供香水目录的只读查询,适合寻找、比较和挑选香水。目录包含香调、相似香水、社区评分与穿香建议,评分由确定性逻辑生成,不在服务端调用 AI。
主要功能
- 01按品牌、香调及筛选条件搜索
- 02查看香调金字塔与社区评分
- 03查找平价相似香水及匹配度
- 04按偏好、预算和场合推荐
- 05比较香水的香调、评分与价格
- 06提供当下穿香建议
适用场景
- 01寻找某款香水的平价替代品
- 02按香调和预算挑选香水
- 03比较两款香水的香调与价格
- 04根据场合选择穿香
MCP 相关
MCP 服务通过 stdio 或 streamable HTTP 提供只读工具,也可通过远程端点连接 MCP 客户端。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.perfumepicks.app/?src=registryclaude mcp add --transport http bguillow-rgb-perfume-picks https://mcp.perfumepicks.app/?src=registry{"mcpServers":{"bguillow-rgb-perfume-picks":{"type":"http","url":"https://mcp.perfumepicks.app/?src=registry"}}}在 Cursor 中打开{"servers":{"bguillow-rgb-perfume-picks":{"type":"http","url":"https://mcp.perfumepicks.app/?src=registry"}}}在 VS Code 中打开{"mcpServers":{"bguillow-rgb-perfume-picks":{"type":"http","url":"https://mcp.perfumepicks.app/?src=registry"}}}{"mcpServers":{"bguillow-rgb-perfume-picks":{"serverUrl":"https://mcp.perfumepicks.app/?src=registry"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
8| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| brand | string | 否 | 品牌名称筛选条件,例如 'Dior' |
| limit | integer | 否 | 最多结果数(默认 10,最多 10) |
| query | string | 否 | 自由文本搜索:香水或品牌名称 |
| gender | enum | 否 | 香水面向的性别类别;省略则包含所有类别masculine | feminine | unisex |
| price_max | number | 否 | 最高希望零售价(美元) |
| price_min | number | 否 | 最低希望零售价(美元) |
| fragrance_family | string | 否 | 香调家族筛选,例如“木质”“琥珀”“清新” |
详细介绍
Perfume Picks MCP 服务
通过 Claude 或任何兼容 MCP 的 AI 客户端查询 Perfume Picks 香水数据库。只读访问 13,000 多款香水,包含完整的香调金字塔、香调组合、精选平替和社区穿香数据。
Perfume Picks 是适用于 iOS 的香水 DNA 与收藏日志应用 — 在 App Store 下载。
工具
| 工具 | 功能 |
|---|---|
search_fragrances | 全文目录搜索,支持品牌、香调家族、性别和 MSRP 筛选 |
get_fragrance | 获取一款香水的完整记录(按 slug 或名称):香调金字塔、香调组合、社区评分 |
find_dupes | 查找精选的平价相似香水,并提供匹配百分比 — “想找闻起来像 X、但价格没那么贵的香水” |
find_similar | 根据预计算的相似度排名查找最相似的香水 |
get_recommendations | 根据香调/香调组合偏好、预算、场合和性别推荐香水 |
compare_fragrances | 并排比较:香调、共有/不同的香调组合、评分和价格差 |
trending_fragrances | 查看 Perfume Picks 用户最近添加到收藏中的香水 |
what_to_wear_tonight | 为此刻挑选一款香水 — 约会之夜推荐参考社区赞美数据,办公室推荐参考办公室适宜度评分 |
每条响应都包含来源标注、可供引用的摘要、链接和数据最新日期。所有评分均以确定性方式计算 — 服务内部不会调用 AI。所有工具均标注为只读/幂等。
安装(Claude Desktop)
需要 Node.js 18+。
将以下内容添加到 claude_desktop_config.json(Claude Desktop → 设置 → 开发者 → 编辑配置):
{
"mcpServers": {
"perfume-picks": {
"command": "npx",
"args": ["-y", "perfume-picks-mcp"]
}
}
}
重启 Claude Desktop。无需 API 密钥或配置 — 此服务提供公开只读访问权限。
配置(可选)
环境变量可覆盖默认值(仅使用显式设置的环境变量 — 此软件包不会读取 .env 文件):
| 变量 | 用途 |
|---|---|
SUPABASE_URL | 覆盖数据库 URL |
SUPABASE_SERVICE_ROLE_KEY | 仅供内部使用 — 解锁实时 30 天衣橱新增趋势数据。切勿分发此密钥。 |
如果没有服务密钥,trending_fragrances 会回退到目录热度数据,并在响应中标注所用方法。
远程端点(无需安装)
面向 Web Agent 和只需 URL 的 MCP 客户端提供 Streamable HTTP:
https://jdkwlwyysgofljkobpmr.supabase.co/functions/v1/mcp
也已列入 Smithery 和官方 MCP 注册表,名称为 io.github.bguillow-rgb/perfume-picks。
Agent 请求示例
Agent 可以使用这些工具回答的问题:
- “有没有闻起来像 Baccarat Rouge 540、但价格没那么贵的香水?” →
find_dupes(精选平替及匹配度,例如 Lattafa Ana Abiyedh Rouge,90%) - “推荐一款适合夏季婚礼的香水。” → 使用
occasion: "wedding"调用get_recommendations - “哪些香水含有佛手柑、香草和琥珀?” → 将这些香调作为
preferences调用get_recommendations - “哪款香水和 Bleu de Chanel 相似?” →
find_similar - “今晚约会我该喷什么?” →
what_to_wear_tonight(根据社区赞美数据评分) - “比较一下 Sauvage 和 Bleu de Chanel。” →
compare_fragrances
响应示例结构(已截断):
{
"dupes": [
{ "name": "Lattafa Ana Abiyedh Rouge", "match_pct": 90,
"savings_usd": 200.0, "msrp_usd": 39.99 }
],
"attribution": {
"source": "Perfume Picks — Fragrance DNA & Collection Journal",
"links": { "website": "https://perfumepicks.app/" }
}
}
开发
npm install
npm run dev # run from TypeScript via tsx
npm run build # compile to dist/
npm start # run compiled server
此服务通过 stdio 使用 MCP。目录访问在设计上为只读:每条查询路径都会对行级安全策略下公开可读的表执行 SELECT,并限制为每分钟 60 次调用。
使用情况遥测:每次工具调用都会将工具名称、参数、客户端名称/版本、耗时以及成功/失败状态记录到只写日志表中(在 RLS 下仅允许插入;内容不可公开读取;90 天后清除)。不会收集用户身份、账户数据或对话内容。日志记录以即发即弃的方式进行,绝不会影响响应。
数据与出处
香水数据、香调金字塔、平替匹配和社区评分均由 Perfume Picks 整理。引用时请注明出处:
来源:Perfume Picks — Fragrance DNA & Collection Journal (perfumepicks.app)
每款香水的时效日期反映了上次数据更新的时间。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。