Skip to main content
Glama
KAIKAKU-AI

Epicure MCP Server

by KAIKAKU-AI

Epicure MCP

Epicure は、計算的なフレーバー探索のための公開・匿名・読み取り専用の Model Context Protocol サーバーです。414万レシピの多言語コーパスから学習された1,790の食材埋め込みに対して、決定論的なツールを公開しています。

  • MCP エンドポイント: https://epicure-mcp.kaikaku.ai/mcp

  • ヘルスチェック: https://epicure-mcp.kaikaku.ai/healthz

  • 対話型ガイド: epicure.kaikaku.ai/agents

  • 認証: なし

  • トランスポート: Streamable HTTP

本番オリジンは KAIKAKU のローカル計算クラスター上で動作し、Cloudflare Tunnel を通じて公開されています。Google Cloud や Azure ではホストされていません。すべてのツールはバンドルされたモデル成果物を読み取ります。MCP サーバーは外部の AI やデータプロバイダーへの呼び出しを行いません。

Cursor から接続する

Marketplace プラグイン(推奨)

このリポジトリは Cursor Plugin(.cursor-plugin/plugin.json + mcp.json)としてパッケージ化されています。掲載後は、Cursor Marketplace または Customize → Plugins から Epicure をインストールしてください。

掲載が公開されるまでは、ローカルテスト用にこのチェックアウトからインストールします:

mkdir -p ~/.cursor/plugins/local
ln -sfn "$(pwd)" ~/.cursor/plugins/local/epicure

Cursor を再読み込みし、プラグインを有効化してから、以下をお試しください:

  • 「Epicure を使って、トマトとバジルを中心としたビーガンペアリンググラフを構築して。」

  • 「味噌と醤油をうま味の軸で比較して。」

  • 「Epicure のフレーバー空間でサフランに最も近い食材はどれ?」

  • 「米を南アジア料理の方向に30度回転させて。」

  • 「柚子が Epicure の食材アトラスのどこに位置するか示して。」

  • 「味噌から一貫した因子に沿ったフレーバーのトレードオフを見つけて。」

提出チェックリスト: docs/CURSOR_MARKETPLACE_SUBMISSION.md。 スキャフォールディングは python scripts/validate_plugin.py で検証してください。

手動 MCP エントリ

Cursor の MCP 設定で、以下を追加します:

{
  "mcpServers": {
    "epicure": {
      "type": "http",
      "url": "https://epicure-mcp.kaikaku.ai/mcp"
    }
  }
}

公開エンドポイントには API キーは不要です。

Related MCP server: moss-brain

Claude から接続する

Claude で Settings → Connectors → Add custom connector を開き、以下を入力します:

Name: Epicure
URL:  https://epicure-mcp.kaikaku.ai/mcp
Auth: None

ツールの出力は、学習された統計的な関係性を記述したものです。食品安全、アレルギー、医学、栄養に関するアドバイスではありません。

ツール

すべてのツールは、読み取り専用・非破壊的・冪等・閉世界の MCP アノテーションと、検証済みの JSON スキーマを公開しています。

ツールタイトル

MCP 名

目的

軸上で食材を比較する

compare_on_axis

指定されたフレーバー、料理、栄養素、食事、加工の軸に沿って2つの食材を比較します。

食材ペアリングをスコアリングする

pairing_score

正確な1組の食材ペアに対するコサイン親和性を測定します。

食材ペアリングを探索する

find_pairings

1つ以上のシードに対する多様化されたクラスター&ブリッジペアリンググラフを構築します。

フレーバー相関を検査する

flavour_correlations

指定されたフレーバー空間の軸間の最も強い関係性を返します。

料理別に食材をプロファイリングする

cultural_profile

バンドルされた料理の方向性に対して食材を測定します。

類似食材を見つける

neighbors

300次元埋め込み内で最も近い食材を返します。

フレーバー空間で食材を変換する

morph

球面補間を使用して、シードを方向、モード、または食材に向かって回転させます。

変換ターゲットを一覧表示する

list_targets

morph の有効な方向と創発モードをページング表示します。

フレーバー因子を一覧表示する

list_factors

20個の名前付き ICA 因子サマリーを検査します。例はリクエストに応じて利用可能です。

食材を因子に投影する

ingredient_on_factor

ICA 因子上の符号付き位置を測定します。

フレーバーのトレードオフをナビゲートする

pareto_navigate

近接性と因子のパレートフロンティア上にある食材を見つけます。

食材のフレーバー領域を見つける

closest_mode

最も近い名前付き GMM モードを見つけます。

アトラス上の食材を特定する

where_on_atlas

事前計算されたアトラス座標と近傍の2次元ピアを返します。

大規模なカタログはフィルタリングおよびページングされます。デフォルトの応答は意図的にコンパクトです。呼び出し元は各ツールの文書化された入力を通じて、より詳細な情報を要求できます。

データとプライバシー

Epicure には、アカウント、Cookie、ユーザープロファイル、広告はありません。ツールの引数と結果のコンテンツはメモリ内で処理され、アプリケーションログに書き込まれることはありません。最小限の運用テレメトリには、ローテーションされる仮名のクライアントハッシュ、ツール名、応答サイズ、レイテンシ、成功状態、例外クラスが含まれます。

完全なプライバシーポリシー、セキュリティポリシー、サポートポリシー、利用規約をお読みください。

アーキテクチャ

MCP client
    │  HTTPS / Streamable HTTP
    ▼
Cloudflare edge (TLS, DDoS controls, WAF/rate limits)
    │  outbound-only Cloudflare Tunnel
    ▼
reef-cluster on local KAIKAKU compute
    └── epicure-mcp container
          └── bundled read-only model artefacts

オリジンはクラスターホスト上のループバックにバインドされます。インバウンドルーターポートは開かれません。cloudflared がプライベート Docker ネットワークからトンネルを開始します。運用については docs/DEPLOYMENT.md、Claude ディレクトリの一覧については docs/CLAUDE_SUBMISSION.md、Cursor Marketplace パッケージについては docs/CURSOR_MARKETPLACE_SUBMISSION.md を参照してください。

ローカル開発

Python 3.11 以降がサポートされています(本番環境は Python 3.12 を使用)。

python3.12 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
python scripts/verify_data.py --data-dir data
ruff check src tests scripts
pytest -q
python -m epicure_mcp.server

ローカルエンドポイントは以下のとおりです:

パス

メソッド

目的

/healthz

GET

軽量な生存確認プローブ。

/mcp

POST/GET/DELETE

Streamable HTTP MCP トランスポート。

/atlas

GET

Epicure サイトで使用される読み取り専用の3次元 UMAP 投影。

/favicon.ico, /favicon.png

GET

コネクターアイコン。

公式の MCP Inspector でローカルサーバーを検査します:

npx -y @modelcontextprotocol/inspector \
  --cli http://127.0.0.1:8080/mcp --transport http --method tools/list

本番環境に対して完全なリモートスモークスイートを実行します:

python scripts/smoke_test_remote.py https://epicure-mcp.kaikaku.ai/mcp

設定

変数

デフォルト

目的

EPICURE_DATA_DIR

<repo>/data

バンドルされた成果物ディレクトリ。

EPICURE_ASSETS_DIR

バンドルされたアセット

オプションのファビコンディレクトリ。

HOST

0.0.0.0

バインドアドレス。

PORT

8080

バインドポート。

RATE_LIMIT_PER_MINUTE

60

クライアントごとのトークン補充レート。

RATE_LIMIT_BURST

10

クライアントごとのバースト容量。

MCP_SERVER_NAME

Epicure

MCP initialize 応答内の名前。

MCP_API_TOKEN

未設定

プライベートデプロイ用のオプションのベアラートークン。本番では未設定のまま。

MCP_ALLOWED_HOSTS

本番 + ローカルホスト

カンマ区切りの DNS リバインディング許可リスト。

MCP_ALLOWED_ORIGINS

Claude、Cursor、Epicure + ローカルオリジン

カンマ区切りのブラウザオリジン許可リスト。

バンドルされた成果物

リポジトリにはモデルバンドルが含まれているため、本番環境は実行時にアップストリームサービスに依存しません。埋め込みと食材メタデータ、教師あり方向、ICA 因子、GMM モード、2次元/3次元 UMAP 投影が含まれます。更新後は scripts/verify_data.py で形状と存在を検証してください。

ライセンス

MIT © KAIKAKU.AI Limited.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that indexes and serves design skills, guides, and patterns from the taste-skill library, enabling structured retrieval and workflow prompts for design, redesign, and image generation.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides semantic memory with search, related-content traversal, and write-back capabilities, all powered by local embeddings of your notes, documents, and chat histories.
    3
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Read-only local-first MCP server enabling AI assistants to semantically search private Markdown, PDF, and Tika-backed knowledge bases without data upload.
    45
    MIT