mcpField
M
mcp-pequerecetas

mcp-pequerecetas

ローカル
github.comゲーム・エンタメ0今日更新

mcp-pequerecetas について

mcp-pequerecetasは、スペインの家庭料理サイトPequerecetasをチャットクライアントから利用できるようにします。レシピ検索、人数に応じた分量調整、分類の閲覧に加え、手持ちのスペイン語の材料リストも換算できます。APIキーやアカウントは不要です。

主な機能

  1. 01料理名・食材によるレシピ検索
  2. 02レシピ取得と人数分への換算
  3. 03分類と分類項目の閲覧
  4. 04スペイン語の材料リストの換算

活用シーン

  1. 01人数に合わせたレシピ分量の調整
  2. 02食事条件・機器・機会に合うレシピ探し
  3. 03既存のスペイン語材料リストの換算

MCP 対応

MCP サーバーとして、レシピ検索・取得、分類閲覧、材料換算のツールをクライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
npmmcp-pequerecetas1.2.0
mcpbmcp-pequerecetas-1.2.0.mcpb1.2.0

ツール

5

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
idstringはいレシピの URL に含まれる slug。search_recipes または browse_recipes から取得します。
servingsintegerいいえ分量を指定した人数分に調整します(最大 1000 人分)。省略すると、公開されているレシピの分量がそのまま返されます。

詳細

README の画像

mcp-pequerecetas

npm CI license MCP Registry Glama Install in Cursor Install in VS Code

Pequerecetas は、家族向けに書かれたスペインの家庭料理サイトです。 数千件のレシピが掲載されており、材料、手順、写真とともに、適した食事法、調理に使う器具、作る場面、食べる人の年齢(生後6か月から)ごとに分類されています。

このサーバーはチャットクライアントをこのサイトに接続します。レシピを検索したり、食卓の人数に合わせて分量を調整してレシピを読んだり、各分類で公開されている項目を一覧表示したり、分類のページを順にたどったり、手元にあるスペイン語の材料リストを人数に合わせて調整したりできます。API キーもアカウントも必要ありません。

Version française


インストール

ワンクリックでインストール

Install in Cursor Install in VS Code

Claude Code

claude mcp add pequerecetas -- npx -y mcp-pequerecetas

Claude Desktop、Cursor、および標準の設定形式を使用するクライアント

{
  "mcpServers": {
    "pequerecetas": {
      "command": "npx",
      "args": ["-y", "mcp-pequerecetas"]
    }
  }
}

Node 24 以降が必要です。環境変数の設定は不要です。

Docker を使用する場合
{
  "mcpServers": {
    "pequerecetas": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-pequerecetas:1.1.0"]
    }
  }
}

-i はプロトコルが流れる stdin を開いたままにするためのもので、ストリームを書き換えてしまう TTY を避けるため、-t は指定しません。コンテナに必要なのは www.pequerecetas.com への HTTPS アウトバウンド接続だけです。ボリューム、ポート、認証情報は必要ありません。

npm を使わないバンドル

最新リリース から mcp-pequerecetas-1.1.0.mcpb をダウンロードして開きます。MCP バンドルに対応したクライアントなら、npm も設定ファイルの編集も不要で、自動的にインストールされます。バンドルには依存関係が含まれているため、インストール時に何もダウンロードされません。

質問できること

  • « シーフードパエリアのレシピを探して。 »
  • 「そのレシピを8人分にして。」
  • 「このサイトには、エアフライヤーで作れる料理がありますか?」
  • 「生後6か月向けに分類されているピューレを見せて。」
  • 「このスペイン語の材料リストを3倍にして。」

Pequerecetas はスペイン語で書かれており、検索ではページに書かれた語句が照合されるため、レシピはスペイン語で見つかります。通常は検索または分類からレシピに進みます。各行には id があり、get_recipe にはその ID を渡します。

ツール

ツール機能
get_recipeレシピセクションの1ページを読み込み、リクエストに応じて分量を換算します。
search_recipes料理名または材料からレシピを検索します。
list_facets各分類で公開されている値を一覧表示します。
browse_recipes1つの分類をページごとに読み込みます。
scale_ingredientsサイトへのリクエストなしで、スペイン語の材料リストの分量を換算します。
get_recipe

レシピセクションの1ページを読み込み、分量が指定されている場合はその分量に合わせて数量を換算します。

引数型必須機能
idstring、1~200文字はいレシピのアドレスに含まれるスラッグです。
servingsinteger、1~1000いいえ指定した人数分に数量を換算します。

返される内容: kind は recipe または collection を示します。サイトではこの種類のアドレスで両方が公開され、同様に説明されているため、これによって区別できます。コレクションは他のレシピを集めた記事で、レシピのフィールドの代わりに、参照先の項目である headings と recipes が返されます。

レシピには source_shape が含まれます。ページが検索エンジン向けに公開しているブロックに材料が含まれていた場合は structured、ページ本文から読み取った場合は article となります。このサイトのレシピの大半では、材料はページ本文に記載されています。続いて title、url、description、published_at、modified_at、prep_minutes、cook_minutes、total_minutes、categories、cuisines、keywords、author、author_url、rating、nutrition、images が含まれます。ページに記載がない項目は、それぞれ null または空になります。yield は、レシピの元の分量と換算後の分量を示します。ページに人数の記載がない場合は、factor が 1 となり、その理由を示す注記が返されます。ingredients の各行には scaling が含まれ、scaled、rounded、unscaled のいずれかを示します。また、食べるものではなくツールの名称を記した行を示す is_equipment も含まれます。

search_recipes

料理名または材料からレシピを検索します。

引数型必須機能
querystring、1~120文字はいスペイン語で料理名または材料を指定します。
limitinteger、1~60いいえ返される項目数です。

返される内容: get_recipe に渡す id、title、url、image_url を含む項目が返されます。あわせて、返された項目数を示す result_count と、常に null となる total_available も含まれます。サイトでは検索結果の総数を公開していません。サイトの検索結果は1ページのみで、2ページ目をリクエストしても1ページ目が再び返されるため、これらがクエリに対して提供されるすべての項目です。レシピを集めた記事が含まれることもあり、その場合 get_recipe は collection として報告します。

list_facets

サイトがレシピを閲覧する際に使う値を一覧表示します。各タクソノミーが公開しているサイトマップから読み取ります。

ArgumentTypeRequiredWhat it does
facetstring, 1 character and upno1 つのタクソノミーです。省略すると 8 つすべてが対象になります。

タクソノミーは dieta、edad、ingrediente、ocasion、recetas-de、tecnica、tipo-de-cocina、tipo-plato です。それぞれ、食事制限、食べる人の年齢、主な食材、機会、時間帯、調理器具、料理の種類、料理のジャンルを表します。

戻り値: name、value_count、values を含む facets が返されます。value は browse_recipes が使うスラッグです。値はサイトが公開している順序のままです。8 つすべてを読み取るには、タクソノミーごとに 1 回、合計 8 回のリクエストが必要です。読み取れなかったタクソノミーは notes に名前が記載され、facets から除外されるため、7 つしかない一覧があたかもサイトに 7 つしかないように見えることはありません。

browse_recipes

タクソノミーに属するレシピの 1 ページ分を読み取ります。

ArgumentTypeRequiredWhat it does
facetstring, 1 character and upyes閲覧するタクソノミーです。
valuestring, 1 to 120 charactersyeslist_facets のスラッグです。例:thermomix。
pageinteger, 1 to 200no読み取るページです。デフォルトは 1 ページ目です。

戻り値: search_recipes が返すものと同じ形式の行に、サイトが実際に返したページを示す page_served、サイトのページネーションに次のページがあるかを示す has_more、および常に null となる total_available が付加されます。これらのページにはサイトが件数を表示していないためです。サイト独自のスラッグが使われているため、手作業で作成したスラッグではサイトに存在しないページにアクセスし、not_found が返されることがあります。タクソノミーを組み合わせることはできません。サイトには 2 つを同時に指定する方法がありません。

scale_ingredients

スペイン語で書かれた材料の行の分量を調整します。サイトにはアクセスしません。

ArgumentTypeRequiredWhat it does
ingredientsarray of 1 to 200 stringsyes分量を調整する行を、記載されたとおりに指定します。
factornumber, greater than 0 up to 1000one of分量に掛ける数値です。
from_servingsinteger, 1 to 1000one of材料リストが何人分として書かれているかを指定します。
to_servingsinteger, 1 to 1000one of何人分にするかを指定します。

factor を指定するか、from_servings と to_servings をセットで指定してください。両方の方法を同時に指定すると、異なる結果が求められる可能性があるため、受け付けられません。

戻り値: 各行について、現在の記載内容を示す text、入力時の内容を示す original、amount、amount_max、unit、および計算結果の扱いを示す scaling が返されます。計算結果が正確な場合は scaled、キッチンで計量できる値にするため数値を調整した場合は rounded、行に分量が含まれていない場合は unscaled となります。is_equipment は、その行が道具を示すことを表します。さらに、scaled_count、rounded_count、unscaled_count も返されます。単位系間の換算は行われず、pizca のような概算の量は、料理を作る人が指定した量のままです。

設定

変数デフォルト範囲説明
PQR_USER_AGENTunsetこのサーバー独自の User-Agent の先頭に付加されます。
PQR_MIN_INTERVAL_MS30003000 to 600002 つのリクエスト間のミリ秒数です。
PQR_TIMEOUT_MS200001000 to 1200001 回のリクエストにかけられる時間です。
PQR_MAX_RETRIES30 to 8サイトから応答がなかったリクエストの試行回数です。
PQR_CACHE_TTL_MS9000000 to 86400000読み取り結果を保持する時間です。0 にするとストアが無効になります。
PQR_CACHE_MAX_ENTRIES2001 to 5000一度に保持する読み取り結果の数です。
PQR_MAX_BODY_BYTES8000000100000 to 64000000読み取るページの最大サイズをバイト単位で指定します。
PQR_LOG_LEVELerrorsilent, error, info, debug標準エラー出力に記録する内容です。

間隔の下限は 3000 ミリ秒です。それより小さい値は拒否され、デフォルト値が使用されます。設定は黙って適用されず、その旨が標準エラー出力に表示されます。

エラー

コード意味対処
not_foundそのアドレスにはサイト上に何もありません。search_recipes でスラッグを確認してください。
invalid_input引数ではリクエストを作成できません。メッセージに引数名が示されます。
rate_limitedサイトから、このクライアントに速度を落とすよう求められました。待ってから再度リクエストしてください。要求したものは引き続き存在します。
parse_failureページが読み取れない形式で届きました。報告してください。サイトが変更された可能性があります。
network_errorリクエストを完了できませんでした。再試行してください。
timeout時間内に応答がありませんでした。再試行するか、PQR_TIMEOUT_MS を大きくしてください。

ライブラリとして

読み取りレイヤーは独立して公開されており、リクエスト間隔の制御、ストア、エラー用語を備え、プロトコルには依存しません。

import { PequerecetasClient } from "mcp-pequerecetas/client";

const client = new PequerecetasClient();
const read = await client.getRecipe("paella-de-marisco");

何も追加せずに構築されており、設定は環境変数から取得し、診断情報は標準エラー出力に送信します。コード内で設定したい呼び出し元向けに、loadConfig と createLogger も同じエントリーポイントから利用できます。

import { createLogger, loadConfig, PequerecetasClient } from "mcp-pequerecetas/client";

const client = new PequerecetasClient({
  config: { ...loadConfig(), minIntervalMs: 5000 },
  logger: createLogger("debug"),
});

各読み取りは { data, cached } を返します。cached は、結果がサイトではなくストアから取得されたかどうかを示します。

リクエスト間隔とクレジット表記

一度に 1 件ずつ、3 秒間隔でリクエストし、サイトから制限された場合は間隔を広げます。User-Agent にはプロジェクト名、バージョン、連絡先のアドレスが含まれます。

Pequerecetas は無料で閲覧でき、ホスティング費用を自ら負担しています。レシピを誰かに紹介する際は、サイト名を明記し、元のページにリンクしてください。

このサーバーは Pequerecetas とは提携していません。

プライバシー

情報は一切収集しません。サーバーは www.pequerecetas.com のみを読み取り、デフォルトで読み取った内容を 15 分間メモリに保持します。ディスクには何も書き込まず、診断情報は標準エラー出力に送信します。サイトから認証情報を求められないため、認証情報は扱いません。PRIVACY.md をご覧ください。

開発

npm install
npm run build:fixtures
npm test
npm run coverage
npm run check

テストスイートが読み込むコーパスは scripts/build-fixtures.mjs によって作成され、架空のレシピが含まれているため、ここにサードパーティのコンテンツは保存されません。ライブテストスイートは PQR_LIVE=1 を設定して実行し、ルートごとに 1 件ずつリクエストします。

貢献

Issue とプルリクエストを歓迎します。CONTRIBUTING.md をご覧ください。

ライセンス

MIT。LICENSEを参照してください。


mcp-pequerecetas(フランス語)

英語版

Pequerecetasは、スペインの家庭料理サイトです。 数千種類のレシピを掲載しており、材料、手順、写真が揃っています。それぞれのレシピは、 適した食事制限、調理に使う器具、作る機会、食べる人の年齢(生後6か月から)に 応じて分類されています。

このサーバーは、会話クライアントをこのサイトに接続します。レシピを検索したり、 食卓を囲む人数に合わせて分量を調整したレシピを読んだり、各分類で公開されている 値を一覧表示したり、分類をページごとに閲覧したり、すでに手元にあるスペイン語の 材料リストを任意の倍率で調整したりできます。API キーもアカウントも不要です。

インストール

ワンクリックインストール

Cursor にインストール VS Code にインストール

Claude Code

claude mcp add pequerecetas -- npx -y mcp-pequerecetas

Claude Desktop、Cursor、および標準設定形式に対応するすべてのクライアント

{
  "mcpServers": {
    "pequerecetas": {
      "command": "npx",
      "args": ["-y", "mcp-pequerecetas"]
    }
  }
}

Node 24 以降が必要です。設定が必要な環境変数はありません。

Docker を使う
{
  "mcpServers": {
    "pequerecetas": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-pequerecetas:1.1.0"]
    }
  }
}

-i は、プロトコルが通る stdin を開いたままにします。TTY はストリームを書き換えるため、 -t は省略しています。コンテナには、www.pequerecetas.com への HTTPS による 外向きの接続だけが必要です。ボリューム、ポート、認証情報は不要です。

npm を使わないバンドル

最新リリースから mcp-pequerecetas-1.1.0.mcpbをダウンロードして開いてください。MCP バンドルに対応する クライアントなら、npm も設定ファイルの変更も不要で、自動的にインストールされます。 バンドルには依存関係が含まれているため、インストール時に何もダウンロードされません。

できること

  • 「シーフードのパエリアのレシピを探して。」
  • 「このレシピを8人分にして。」
  • 「このサイトにあるエアフライヤー料理を教えて。」
  • 「生後6か月向けに分類されているピューレを見せて。」
  • 「このスペイン語の材料リストを3倍にして。」

Pequerecetas のコンテンツはスペイン語で、検索ではページに書かれた語句と照合するため、 レシピはスペイン語で検索できます。通常は検索または分類からレシピへ進みます。 各行にはidがあり、get_recipeにはその id を渡します。

ツール

ツール説明
get_recipeレシピセクションのページを読み込み、指定があれば分量を調整します。
search_recipes料理名または材料からレシピを検索します。
list_facets各分類で公開されている値を一覧表示します。
browse_recipes分類をページごとに読み込みます。
scale_ingredientsスペイン語の材料リストを、クエリなしで調整します。
get_recipe

レシピセクションのページを読み取り、サービング数が指定されている場合は分量を調整します。

引数型必須説明
id文字列、1~200文字はいレシピの URL に含まれるスラッグです。
servings整数、1~1000いいえ指定した数に合わせて分量を調整します。

戻り値: kind。値は recipe または collection です。サイトではどちらも同じ形式のアドレスで公開され、同様に説明されているため、この値で区別します。コレクションはほかのレシピをまとめた記事で、レシピのフィールドの代わりに、参照先を示す headings と recipes が返されます。

レシピには source_shape があり、ページが検索エンジン向けに公開したブロックに材料が含まれている場合は structured、ページ本文から材料を読み取った場合は article となります。このサイトでは、ほとんどのレシピで材料が本文に記載されています。続いて title、url、description、published_at、modified_at、prep_minutes、cook_minutes、total_minutes、categories、cuisines、keywords、author、author_url、rating、nutrition、images が返され、ページに記載がない項目は null または空になります。yield は、レシピに記載された分量と調整後の分量を示します。ページにサービング数の記載がない場合は、factor が 1 となり、その旨を示す注記が返されます。ingredients の各行には scaling があり、値は scaled、rounded、unscaled のいずれかです。また、食べるものではなく器具を示す行には is_equipment が付与されます。

search_recipes

料理名または材料でレシピを検索します。

引数型必須説明
query文字列、1~120文字はいスペイン語で指定する料理名または材料です。
limit整数、1~60いいえ返す行数です。

戻り値: get_recipe で使用する id、title、url、image_url を含む行です。さらに、返された行数を示す result_count と、常に null となる total_available も含まれます。サイトでは検索結果の件数を公開していません。サイトの検索結果は1ページのみで、2ページ目を求めても同じ1ページ目が返されるため、これがそのクエリで返されるすべての行です。一部の行はレシピをまとめた記事であり、get_recipe では collection として返されます。

list_facets

各タクソノミーが公開しているサイトマップから読み取った、サイトがレシピを分類する値を一覧表示します。

引数型必須説明
facet文字列、1文字以上いいえタクソノミーです。省略すると8つすべてを返します。

タクソノミーは dieta、edad、ingrediente、ocasion、recetas-de、tecnica、tipo-de-cocina、tipo-plato です。食事制限、食べる人の年齢、主な材料、場面、時間帯、器具、料理の種類、料理のカテゴリを表します。

戻り値: facets。それぞれに name、value_count、values が含まれ、value は browse_recipes が受け取るスラッグです。値はサイトが公開している順序を保ちます。8つすべてを読み取るには、タクソノミーごとに1回ずつリクエストが必要です。読み取れなかったタクソノミーは notes に記載され、facets から除外されます。これにより、タクソノミーが欠けた一覧が、サイトに7つしかないかのように見えることを防ぎます。

browse_recipes

分類のレシピページを読み込みます。

引数型必須説明
facet1文字以上の文字列はい閲覧する分類です。
value1~120文字の文字列はいlist_facets のスラッグです(例:thermomix)。
page1~200の整数いいえ読み込むページです。デフォルトは最初のページです。

戻り値: search_recipes が返す形式の行に加え、サイトが提供したページを示す page_served、ページネーションに次のページがあるかを示す has_more、 および常に null の total_available が返ります。これは、サイトがこれらの ページに件数を表示していないためです。サイト独自のスラッグが使われるため、 手作業で作成したスラッグを指定すると、存在しないページにアクセスしようとして not_found が返ります。分類を組み合わせることはできません。サイトには 複数の分類を一度に指定する方法がありません。

scale_ingredients

スペイン語の材料行の分量を調整します。サイトへの接続は行いません。

引数型必須説明
ingredients1~200個の文字列からなる配列はい分量を調整する行です。
factor0より大きく1000以下の数値いずれか数量に掛ける倍率です。
from_servings1~1000の整数いずれか材料リストが何人分かを指定します。
to_servings1~1000の整数いずれか何人分にするかを指定します。

factor を指定するか、from_servings と to_servings をセットで指定します。 両方の方法を同時に指定すると、異なる結果を求める可能性があるため拒否されます。

戻り値: 各行には、現在の表記である text、入力されたままの original、 amount、amount_max、unit、そして結果の正確さを示す scaling が含まれます。 scaling は、計算どおりの値になった場合は scaled、調理で計量できる量にするため 数値を調整した場合は rounded、数量を含まない行の場合は unscaled です。 is_equipment は、行が調理器具を表す場合に示されます。さらに、 scaled_count、rounded_count、unscaled_count も返されます。単位系の変換は 行われず、pizca のような概算量は、料理人が指定した大きさのままです。

設定

変数デフォルト範囲説明
PQR_USER_AGENT未設定サーバーの User-Agent の先頭に追加されます。
PQR_MIN_INTERVAL_MS30003000~60000リクエスト間の間隔をミリ秒で指定します。
PQR_TIMEOUT_MS200001000~120000リクエストの最大継続時間です。
PQR_MAX_RETRIES30~8応答のないリクエストに対する再試行回数です。
PQR_CACHE_TTL_MS9000000~86400000読み込んだデータの保持時間です。ゼロにするとキャッシュが無効になります。
PQR_CACHE_MAX_ENTRIES2001~5000一度に保持する読み込みデータの数です。
PQR_MAX_BODY_BYTES8000000100000~64000000読み込むページの最大サイズをバイト単位で指定します。
PQR_LOG_LEVELerrorsilent、error、info、debugstderr に出力する内容を指定します。

間隔の下限は3000ミリ秒です。それ未満の値は拒否され、デフォルト値が適用されます。このことは黙って適用されるのではなく、stderr に出力されます。

エラー

コード意味次の操作
not_foundサイトにそのアドレスの項目がありません。search_recipes でスラッグを確認してください。
invalid_input引数からリクエストを作成できません。メッセージに該当する引数が示されます。
rate_limitedサイトからリクエストを控えるよう求められました。待ってから再度リクエストしてください。要求した項目は引き続き存在します。
parse_failureページを読み取れない形式で受信しました。報告してください。サイトが変更された可能性があります。
network_errorリクエストが完了しませんでした。再試行してください。
timeout時間内に応答がありませんでした。再試行するか、PQR_TIMEOUT_MS を大きくしてください。

ライブラリとして

読み込みレイヤーは、リクエスト間隔、キャッシュ、エラーの語彙を備え、特定のプロトコルに依存せず単独で公開されています。

import { PequerecetasClient } from "mcp-pequerecetas/client";

const client = new PequerecetasClient();
const read = await client.getRecipe("paella-de-marisco");

何も渡さずに作成すると、環境から設定を読み込み、診断情報を stderr に出力します。コード内で設定したい場合は、同じエントリポイントから loadConfig と createLogger を利用できます。

import { createLogger, loadConfig, PequerecetasClient } from "mcp-pequerecetas/client";

const client = new PequerecetasClient({
  config: { ...loadConfig(), minIntervalMs: 5000 },
  logger: createLogger("debug"),
});

読み込み結果はすべて { data, cached } を返します。cached は、応答がサイトではなくキャッシュから取得されたかどうかを示します。

リクエスト間隔とクレジット表記

リクエストは一度に1件ずつ送信し、間隔は3秒空けます。サイトから間隔を広げるよう求められた場合は、間隔を延長します。User-Agent には、プロジェクト名、バージョン、連絡先のアドレスが含まれます。

Pequerecetas は無料で閲覧でき、ホスティング費用を負担しています。レシピを誰かに紹介する際は、サイトをクレジット表記し、掲載元のページへのリンクを付けてください。

このサーバーは Pequerecetas と提携していません。

プライバシー

データは収集されません。このサーバーは www.pequerecetas.com のみを読み取り、デフォルトで読み込んだデータを15分間メモリに保持します。ディスクには何も書き込まず、診断情報は stderr に出力します。サイトが識別情報を求めないため、識別子は送信しません。PRIVACY.md を参照してください。

開発

npm install
npm run build:fixtures
npm test
npm run coverage
npm run check

テストスイートが読み込むコーパスは、scripts/build-fixtures.mjsによって書き込まれる架空のレシピで構成されているため、ここにはサードパーティのコンテンツは保存されません。ライブテストスイートはPQR_LIVE=1を指定すると実行され、各ルートに1件ずつリクエストを送信します。

コントリビューション

イシューやプルリクエストを歓迎します。CONTRIBUTING.mdを参照してください。

ライセンス

MITです。LICENSEを参照してください。

コメント

MCP は初めてですか?

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

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