mcpField
P
pp-recipe-goat

pp-recipe-goat

github.com/mvanhornその他2.1k3.3k 回インストール今日更新
リポジトリ

pp-recipe-goat について

Recipe Goat は、レシピの検索・整理・分析に使う Printing Press のコマンドラインスキルです。個人の料理やエージェントのワークフロー向けに、複数サイトの検索、ローカルレシピ集、SQLite 同期を備え、CLI の読み取り専用モードを説明します。

主な機能

  1. 01複数サイトのレシピ検索と順位付け
  2. 02レシピの取得・保存・検索
  3. 03食材の代替案と栄養検索
  4. 04ローカルレシピ集と献立計画
  5. 05SQLite 同期とデータエクスポート

活用シーン

  1. 01手持ちの食材から保存済みレシピを検索
  2. 02献立を計画して買い物リストを作成
  3. 03同期データのオフライン検索や分析

MCP 対応

README には、別個の MCP サーバーのインストールと Claude Code への登録方法が記載されています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-recipe-goat

インストール後、Claude Code で/pp-recipe-goatを入力して読み込まれたか確認します。

詳細

Recipe Goat — Printing Press CLI

前提条件:CLIをインストールする

このスキルは recipe-goat-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLIがインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。

  1. Printing Press インストーラーを使用してインストールします。バイナリの既定のインストール先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin です。
    npx -y @mvanhorn/printing-press-library install recipe-goat --cli-only
    
  2. 確認します:recipe-goat-pp-cli --version
  3. このスキルを実行するエージェント/ランタイムの $PATH に、表示されたインストールディレクトリが含まれていることを確認します。

npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go を直接インストールする方法に切り替えてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/food-and-dining/recipe-goat/cmd/recipe-goat-pp-cli@latest

インストール後に --version が「command not found」と表示される場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できません。確認に成功するまで、スキルのコマンドを実行しないでください。

この CLI を使用しない場合

作成、更新、削除、公開、コメント、賛成票の投稿、招待、注文、メッセージの送信、予約、購入、またはリモートの状態の変更を必要とするリクエストでは、この CLI を有効にしないでください。この印刷用 CLI が公開するのは、確認、エクスポート、同期、分析を行う読み取り専用コマンドです。

HTTP トランスポート

この CLI は、ブラウザー向けエンドポイントに Chrome 互換の HTTP トランスポートを使用します。通常の API 呼び出しでは、ブラウザープロセスを常駐させる必要はありません。

コマンドリファレンス

goat — 複数サイト対応のレシピランキング

  • recipe-goat-pp-cli goat <query> — 厳選されたレシピサイトから候補を取得し、検索語との関連性、評価、レビュー数、掲載時期、サイトの信頼度に基づいてランク付けします

search — 厳選されたサイトでレシピのタイトルを検索

  • recipe-goat-pp-cli search <query> — レシピ全体を取得せずに、厳選されたサイトでレシピのタイトルを検索します。--site、--kid-friendly、--in-season、--limit を使って結果を絞り込めます

recipe — レシピの取得、表示、確認

  • recipe-goat-pp-cli recipe get <url> — ソース URL からレシピを取得して表示します。任意で分量の調整、単位の変換、Markdown/プレーンテキストでの出力、USDA による栄養情報の補完を行えます
  • recipe-goat-pp-cli recipe open <id> — 保存済みのレシピを既定のブラウザーで開きます
  • recipe-goat-pp-cli recipe reviews <id> — 保存済みのレシピについて、レビュー変更のダイジェスト用プレースホルダーを表示します
  • recipe-goat-pp-cli recipe cost <id> — 保存済みのレシピの1食分あたりの費用を見積もります

trending — 厳選されたレシピサイトの人気レシピ

  • recipe-goat-pp-cli trending — 各サイトのホームページで現在紹介されているレシピを表示します。--site と --limit を使って検索範囲を指定できます

sub — 食材の代用品

  • recipe-goat-pp-cli sub <ingredient> — 食材の代用品を検索します。任意で用途による絞り込みや、ヴィーガン向けの候補に限定できます

trust — ランカー向けサイト信頼度スコア

  • recipe-goat-pp-cli trust list — サイトごとの組み込み信頼度スコアを一覧表示します
  • recipe-goat-pp-cli trust set <site> <delta> — ランカーの実験用に、サイトごとのローカル信頼度調整値を保存します

save — ローカルの料理本への保存

  • recipe-goat-pp-cli save [url] — レシピ URL を1つ取得して保存します。または --stdin を使って標準入力から URL を読み込みます。--tags でローカルタグを付けられます

cookbook — ローカル料理本の検索、タグ付け、食材との照合

  • recipe-goat-pp-cli cookbook list — 保存済みのレシピを一覧表示します。タグ、サイト、作者で絞り込めます
  • recipe-goat-pp-cli cookbook search <query> — タイトルと食材を対象に、保存済みのレシピを全文検索します。食材の包含・除外フィルターを指定できます
  • recipe-goat-pp-cli cookbook match — --have で指定したパントリーの食材を使って作れる、保存済みのレシピを検索します
  • recipe-goat-pp-cli cookbook tag <id> <tag>[,<tag>] — 保存済みのレシピに1つ以上のタグを付けます
  • recipe-goat-pp-cli cookbook untag <id> <tag> — 保存済みのレシピからタグを削除します
  • recipe-goat-pp-cli cookbook remove <id> — ローカル料理本からレシピを削除します

tonight — ローカル料理本から夕食のレシピを選択

  • recipe-goat-pp-cli tonight — 保存済みのレシピから、最大調理時間、新しさ、食事制限フィルター、タグ、結果件数を指定して夕食を選びます

meal-plan — 食事プランと買い物リスト

  • recipe-goat-pp-cli meal-plan set <date> <meal> <recipe-id> — 保存済みのレシピを特定の日付と食事枠に計画します
  • recipe-goat-pp-cli meal-plan show — 日付範囲または今週の計画済みの食事を表示します
  • recipe-goat-pp-cli meal-plan remove <date> <meal> — 計画済みの食事枠をクリアします
  • recipe-goat-pp-cli meal-plan shopping-list — 計画済みの食事全体の食材を集計します。オプションで売り場別にグループ化したり、Markdown、テキスト、CSV としてエクスポートできます

cook — 調理セッションのログ

  • recipe-goat-pp-cli cook log <recipe-id> — 評価、メモ、任意の日付を付けて調理セッションを記録します
  • recipe-goat-pp-cli cook history — 過去の調理セッションを一覧表示します。オプションでレシピや期間でフィルタリングできます

sync — API ベースのリソース向けのローカル SQLite 同期

  • recipe-goat-pp-cli sync — オフラインでの検索と分析のために API データをローカル SQLite に同期します。リソース、チェックポイント、ページネーション、並行処理を制御できます

export — データのエクスポート

  • recipe-goat-pp-cli export <resource> [id] — バックアップ、移行、分析のために API データを JSONL または JSON としてエクスポートします

import — JSONL のインポート

  • recipe-goat-pp-cli import <resource> — API の create/upsert 呼び出しを行って JSONL からレコードをインポートします。送信せずにプレビューするには --dry-run を使用します

workflow — 複合データワークフロー

  • recipe-goat-pp-cli workflow archive — オフラインでのアクセスと検索のために、サポートされているすべてのリソースをローカルストアに同期します
  • recipe-goat-pp-cli workflow status — ローカルアーカイブのステータスと同期状態を表示します

foods — USDA FoodData Central — 食材の栄養情報の検索

  • recipe-goat-pp-cli foods get — FDC ID で特定の食品を取得します
  • recipe-goat-pp-cli foods list — 食品をページネーションで一覧表示します
  • recipe-goat-pp-cli foods search — クエリに一致する食品を USDA FoodData Central で検索します
適切なコマンドの見つけ方

やりたいことはわかっているが、どのコマンドがそれを行うかわからない場合は、CLI に直接尋ねてください:

recipe-goat-pp-cli which "<capability in your own words>"

which は、自然言語の機能クエリを、この CLI の厳選された機能インデックスから最も一致するコマンドに解決します。終了コード 0 は少なくとも 1 件の一致を意味し、終了コード 2 は確実な一致がないことを意味します — --help にフォールバックするか、より絞り込んだクエリを使用してください。

認証のセットアップ

API キーを環境変数で設定します:

export USDA_FDC_API_KEY="<your-key>"

または ~/.config/recipe-goat-pp-cli/config.toml に永続化します。

セットアップを確認するには recipe-goat-pp-cli doctor を実行してください。

エージェントモード

任意のコマンドに --agent を追加します。これは --json --compact --no-input --no-color --yes に展開されます。

  • パイプ可能 — JSON は stdout に、エラーは stderr に出力されます

  • フィルタ可能 — --select はフィールドのサブセットを保持します。ドット区切りのパスはネストされた構造へと降りていき、配列は要素ごとにたどります。冗長な API でコンテキストを小さく保つために重要です:

    recipe-goat-pp-cli foods list --agent --select id,name,status
    
  • プレビュー可能 — --dry-run は送信せずにリクエストを表示します

  • オフライン対応 — sync/search コマンドは、利用可能な場合はローカル SQLite ストアを使用できます

  • 非対話的 — 決してプロンプトを出さず、すべての入力はフラグです

  • 読み取り専用 — この CLI を create、update、delete、publish、comment、upvote、invite、order、send、その他の変更を伴うリクエストに使用しないでください

レスポンスエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力を来歴エンベロープでラップします:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を、それがライブかローカルかを知るには .meta.source を解析してください。人間が読める N results (live) のサマリーは、stdout がターミナルの場合にのみ stderr に出力されます — パイプやエージェントのコンシューマーは stdout で純粋な JSON を受け取ります。

エージェントからのフィードバック

この CLI について気になる点に気づいたら、記録してください。

recipe-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
recipe-goat-pp-cli feedback --stdin < notes.txt
recipe-goat-pp-cli feedback list --json --limit 10

エントリーはローカルの ~/.recipe-goat-pp-cli/feedback.jsonl に保存されます。RECIPE_GOAT_FEEDBACK_ENDPOINT が設定され、かつ --send が渡された場合、または RECIPE_GOAT_FEEDBACK_AUTO_SEND=true が設定された場合を除き、POST されることはありません。デフォルトの動作はローカルのみです。

バグ報告ではなく、意外に感じたことを書いてください。短く、具体的に、1 行で記録します。積み重なるのはそこです。

出力の配信先

すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて(または標準出力の代わりに)指定したシンクに送られるため、エージェントはコマンドの結果を、手作業でパイプに渡すことなく振り分けられます。対応しているシンクは 3 種類です。

シンク動作
stdoutデフォルト。標準出力のみに書き込みます
file:<path>出力を <path> にアトミックに書き込みます(一時ファイル+リネーム)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

不明なスキームは、対応しているスキームの一覧を示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードを返し、stderr に URL と HTTP ステータスを記録します。

名前付きプロファイル

プロファイルは、呼び出しのたびに再利用できるフラグ値の保存セットです。スケジュールされたエージェントが、同じ設定で同じコマンドを毎回実行する場合に使用してください。これは HeyGen の「Beacon」パターンです。

recipe-goat-pp-cli profile save briefing --json
recipe-goat-pp-cli --profile briefing foods list
recipe-goat-pp-cli profile list --json
recipe-goat-pp-cli profile show briefing
recipe-goat-pp-cli profile delete briefing --yes

明示的に指定したフラグは常にプロファイルの値より優先され、プロファイルの値はデフォルトより優先されます。agent-context は available_profiles の下にすべてのプロファイルを一覧表示するため、情報を取得するエージェントは実行時にプロファイルを検出できます。

終了コード

コード意味
0成功
2使用方法のエラー(引数が正しくありません)
3リソースが見つかりません
4認証が必要です
5API エラー(上流の問題)
7レート制限中(待機して再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します。

  1. 空、help、または --help → recipe-goat-pp-cli --help の出力を表示します
  2. install で始まる → mcp で終わる場合は MCP のインストール、それ以外の場合は上記の前提条件を参照します
  3. その他すべて → 直接利用(--agent を指定して CLI コマンドとして実行します)

MCP サーバーのインストール

  1. MCP サーバーをインストールします。
    go install github.com/mvanhorn/printing-press-library/library/other/recipe-goat-pp-cli/cmd/recipe-goat-pp-mcp@latest
    
  2. Claude Code に登録します。
    claude mcp add recipe-goat-pp-mcp -- recipe-goat-pp-mcp
    
  3. 確認します:claude mcp list

直接利用

  1. インストールされているか確認します:which recipe-goat-pp-cli 見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。
  2. ユーザーのクエリに最適なコマンドを、上記の独自機能とコマンドリファレンスから選びます。
  3. --agent フラグを指定して実行します。
    recipe-goat-pp-cli <command> [subcommand] [args] --agent
    
  4. 曖昧な場合は、サブコマンドのヘルプを確認します:recipe-goat-pp-cli <command> --help

コメント