mcpField
F
food-recipe-mcp

food-recipe-mcp

リモート
github.com/AIDataNordicゲーム・エンタメ126 週間前に更新
リポジトリ

food-recipe-mcp について

food-recipe-mcpは、AIエージェントやLLM向けのレシピ検索MCPサーバーで、Food.comの5万件以上を対象とします。密ベクトル検索とBM25、順位統合、クロスエンコーダーによる再ランキングを組み合わせ、英語とノルウェー語のクエリに対応します。

主な機能

  1. 015万件以上のレシピ検索
  2. 02密ベクトルとBM25のハイブリッド検索
  3. 03RRF統合とクロスエンコーダー再ランキング
  4. 04食事条件・時間・難易度による絞り込み
  5. 05英語とノルウェー語のクエリ
  6. 06栄養情報と評価データの返却

活用シーン

  1. 01自然言語で夕食レシピを探す
  2. 02食事制限に合うレシピを絞り込む
  3. 03調理時間や難易度でレシピを選ぶ
  4. 04ノルウェー語で郷土料理を検索する

MCP 対応

streamable-httpでMCPインターフェースを提供し、レシピ検索とpingのツールをMCPクライアントに公開します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://recipes.aidatanorge.no/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

2
パラメーター型必須説明
namestringいいえ応答に含める任意のラベル。例:'healthcheck'

詳細

Food Recipe MCP

50,000 件以上の料理レシピを対象としたセマンティック検索です。AI エージェントと LLM 向けに構築されています。2 段階のハイブリッド検索(高密度検索と疎検索 BM25 を RRF で統合)に加え、クロスエンコーダーによる再ランキングを行います。ノルウェー語と英語の自然言語クエリに対応しています。

ライブエンドポイント: https://recipes.aidatanorge.no/mcp
トランスポート: streamable-http
デモ: https://recipes.aidatanorge.no/


接続

MCP クライアントの設定に追加してください。

{
  "mcpServers": {
    "food-recipe": {
      "type": "streamable-http",
      "url": "https://recipes.aidatanorge.no/mcp"
    }
  }
}

または、Claude Code を使う場合:

claude mcp add --transport http food-recipe https://recipes.aidatanorge.no/mcp

クイックテスト

ブラウザーでライブデモを試す:
https://recipes.aidatanorge.no/

インストールや設定は不要です。


MCP ツール

search_recipes

ハイブリッド検索と再ランキングにより、Food.com の 50,000 件以上のレシピを対象にセマンティック検索を行います。

search_recipes(
    query="quick Italian pasta for weeknight dinner",
    diet="vegetarian",      # vegetarian | vegan | gluten-free | dairy-free | low-carb | keto | paleo
    max_minutes=30,         # maximum total cooking time in minutes
    difficulty="easy",      # easy | medium | hard
    limit=5                 # default 5, max 20
)
# Returns: rerank_score, rrf_score, title, description, total_time, difficulty,
#          diet, main_ingredient, servings, ingredients, instructions, nutrition,
#          rating, rating_count, source, recipe_id

クエリの例:

  • "Swedish meatballs with gravy"
  • "healthy high-protein chicken bowl"
  • "easy chocolate cake for beginners"
  • "traditional Norwegian kjøttkaker"
  • "hurtig pasta med kylling"

検索パイプライン: 高密度埋め込み(intfloat/e5-large-v2、1024d)と疎検索 BM25 を、Reciprocal Rank Fusion(RRF)で統合し、mmarco-mMiniLMv2-L12-H384-v1 で再ランキングします。

ping
ping(name="world")
# Returns: "Hello world! Recipe MCP server is running."

データ

  • ソース: Food.com(約 50,000 件のレシピ)
  • 対象範囲: 幅広い料理、食事の種類、調理スタイル
  • 栄養データ: 1 食分あたりのカロリー、脂質、たんぱく質、炭水化物、ナトリウム、食物繊維、糖分
  • 評価: レシピごとのユーザー評価と評価件数
  • 言語: クエリでは英語とノルウェー語をネイティブにサポート

アーキテクチャ

Food.com recipes → Python ingest → Qdrant (recipe_data_v2 collection)
                                         ↓
                              Hybrid search (dense e5-large-v2 + sparse BM25)
                                         ↓
                              RRF fusion + cross-encoder reranking
                                         ↓
                              FastMCP 3.2 → MCP clients / AI agents

技術スタック

  • 埋め込み: intfloat/e5-large-v2(1024d の高密度)+ Qdrant/bm25(疎)
  • 再ランキング: cross-encoder/mmarco-mMiniLMv2-L12-H384-v1
  • ベクターデータベース: Qdrant(セルフホスト)
  • サーバー: HTTP 上の FastMCP 3.2
  • インフラストラクチャ: Ubuntu Server 24 LTS、Cloudflare Tunnel

ライセンス

MIT

コメント

MCP は初めてですか?

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

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