mcpField
S
scentindex

scentindex

ローカル
github.com/CloudCorpRecordsゲーム・エンタメ01 週間前に更新

scentindex について

scentindex は、公開されている 10ml Fragrance Index を検索する MCP サーバーとコマンドラインツールです。香水、ノート、ブランド、ガイドを検索でき、API キーなしで類似の香りや代替品も探せます。

主な機能

  1. 01テキストや条件による香水検索
  2. 02香水の詳細とノートの表示
  3. 03類似の香りや代替品の検索
  4. 04単一ノートを含む香水の一覧
  5. 05ノートの説明とガイド検索

活用シーン

  1. 01ノートやスタイルから香水を探す
  2. 02他のブランドの代替品を探す
  3. 03ノートの香りの特徴を調べる
  4. 04ブランドやガイドを閲覧する

MCP 対応

香水、ノート、ブランド、ガイドの検索と取得に使える9つのツールを MCP クライアントに提供します。類似香水や代替品の検索にも対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-scentindex": {
"command": "npx",
"args": [
"-y",
"@reneturcios/scentindex"
]
}
}
}
起動コマンドnpx -y @reneturcios/scentindex

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/scentindex0.1.0
ocighcr.io/cloudcorprecords/scentindex:0.1.0

ツール

9

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
qstringいいえ
housestringいいえ
limitintegerいいえページサイズ(デフォルトは 20、最大 100)。
stylestringいいえ
cursorstringいいえ前回のレスポンスで返された不透明なカーソル。
familystringいいえ
genderstringいいえ
iconicbooleanいいえ
localestringいいえ応答言語(en、es、fr、de、it、pt、nl、pl、ru、ja、ko、zh、ar、hi、tr、sv、id)。
seasonstringいいえ
accordsstringいいえ
occasionstringいいえ
notes_excludestringいいえ
notes_includestringいいえ
response_formatenumいいえ簡潔(デフォルト)または詳細。concise | detailed

詳細

scentindex

大規模なフレグランスインデックスを覗く窓です。scentindex は公開されている 10ml Fragrance Index に問い合わせ、香水、その中に含まれるノート、それらを作るメゾン、用語を解説するガイドを検索し、インデックスが返す内容をそのまま返します。アカウントも API キーも必要ありません。公開 API を利用する、薄く誠実なクライアントです。

できること:

  • フリーテキスト、メゾン、含める/除外するノート、アコード、ファミリー、性別、季節、シーン、スタイルで香水を検索し、カーソルを使って結果をページ送りできます。
  • 香水を 1 つ選んで詳細を開き、ノート、アコード、メタデータを確認できます。
  • 香水、ノートのセット、アコードのプロファイルを起点に似た香りを探したり、他のメゾンが作る同じ香りのプロファイルを持つ代替品を探したりできます。
  • 1 つのノートで香水を閲覧できます。たとえば、ウードを含むすべての香水を探せます。
  • ノートが実際にどのような香りなのか、どのような場面でよく使われるのかを尋ねられます。
  • 種類や国で絞り込んでフレグランスのメゾンを一覧表示したり、インデックスのガイドや用語集の内容を検索したりできます。

ほとんどのツールでは、応答言語を指定する locale と、基盤となる操作が対応している場合は concise(API のデフォルト)または detailed の response_format を指定できます。一覧表示ツールは limit(1~100)と、以前の応答から取得した不透明な cursor を使ってページ送りします。

ラベル付きサブセット:15 個中 9 個のツール

この再構築版は、元のツールセット 15 個のうち 9 個のツールを実装しています。公開されている上流の OpenAPI ドキュメントに記載された操作に対応する 9 個です。

search_perfumes、get_perfume、find_similar_perfumes、 find_perfume_alternatives、perfumes_by_note、 explain_note、list_houses、get_house、search_guides。

残りの 6 個は、公開されている OpenAPI に対応する操作がなく、引数の形式もアクセス可能な場所に公開されていないため、省略されています。

compare_perfumes、recommend_perfumes、 explain_perfume_term、suggest_layering、 pick_for_occasion、find_gift。

設定

API のベース URL はデフォルトで https://mcp.10ml.com/api/v1 です。環境変数 PERFUME_API_BASE で上書きできます。API キーは不要です。

CLI

各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドです。

npx @reneturcios/scentindex search_perfumes '{"q":"oud","limit":10}'
npx @reneturcios/scentindex get_perfume '{"id":"<perfume id>"}'
npx @reneturcios/scentindex find_similar_perfumes '{"perfume":"<name>"}'
npx @reneturcios/scentindex find_perfume_alternatives '{"perfume":"<name>"}'
npx @reneturcios/scentindex perfumes_by_note '{"note":"oud"}'
npx @reneturcios/scentindex explain_note '{"id":"oud"}'
npx @reneturcios/scentindex list_houses '{"country":"FR"}'
npx @reneturcios/scentindex get_house '{"id":"<house id>"}'
npx @reneturcios/scentindex search_guides '{"q":"layering"}'
npx @reneturcios/scentindex --version

出力は上流の JSON そのままです。終了コード:成功時は 0、実行時エラー(検証エラーや上流のエラーを含む)時は 1、使用方法のエラー時は 2 です。

MCP サーバー

npx -y @reneturcios/scentindex mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "scentindex": {
      "command": "npx",
      "args": ["-y", "@reneturcios/scentindex", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/scentindex
docker run --rm ghcr.io/cloudcorprecords/scentindex perfumes_by_note '{"note":"oud"}'

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。