プロジェクト概要
このプロジェクトは、インターネット上のレシピ情報からレシピデータを自動生成・管理し、MCP(Model Context Protocol)サーバーとしてLLMクライアント(例:Claude for Desktop)に提供します。LLMはサーバーが公開するツールを呼び出すことで、レシピ検索や献立提案などの機能を利用できます。
主な機能
- レシピデータの提供: 生成・管理されたレシピデータをLLMが利用できる形式で提供します。
- レシピ関連ツールの実行: タグ指定でのレシピ検索、今日の献立提案、調理時間やカロリーでの絞り込みなど、レシピに関する様々な操作をLLMの指示で実行できるツールを提供します。
インストール手順
- Gitリポジトリをクローンします。
git clone https://github.com/ackkerman/recipes.git cd recipes - プロジェクトに必要な依存関係をインストールします。'pnpm' が必要です。
pnpm i - (オプション)レシピデータを生成します。このステップで'docs/.vitepress/recipes.json'が作成されます。既にデータがある場合はスキップ可能です。
pnpm run update - MCPサーバーが読み込むデータファイルへのシンボリックリンクを作成します。
ln -s ./docs/.vitepress/recipes.json mcp-server/recipes.json - Pythonの仮想環境ツール'uv'を使用してサーバーを実行するため、'uv'をインストールしていない場合はインストールしてください。
# 例 (Homebrewを使用する場合) brew install uv
MCPサーバーの構成(LLMクライアント側)
LLMクライアント(例:Claude for Desktop)からこのMCPサーバーを利用するには、クライアントの設定ファイル(例: 'claude_desktop_config.json')の 'mcpServers' セクションに以下の情報を追記する必要があります。
- サーバー名: 'menu'
- 起動コマンド (command): 'uv'
- コマンド引数 (args):
- '--directory'
- プロジェクトの絶対パス('recipes'リポジトリをクローンしたディレクトリ)
- 'run'
- 'server.py'
例(設定ファイルへの追記内容の説明): クライアントの設定ファイルを開き、「mcpServers」という設定項目(通常はJSONオブジェクト)を探します。そこに、以下の情報を持つ「menu」という名前の新しいエントリを追加します。 「command」にはサーバーを起動するための実行可能ファイル名('uv')を指定します。 「args」にはコマンドに渡す引数をリスト形式で指定します。最初の引数は'--directory'、次の引数はクローンしたレシピプロジェクトのフォルダの絶対パス、その次に'run'、最後にサーバー本体のファイル名'server.py'を指定します。
基本的な使用方法
上記のクライアント側の設定が完了し、MCPサーバーが起動している状態で、対応するLLMクライアント(例:Claude for Desktop)に対して、このサーバーが提供するツールを利用するようなプロンプト(指示)を与えます。
例:
- 「今日の夕食の献立を考えて」
- 「タグが『主菜』のレシピを教えて」
- 「調理時間30分以内で、カロリーが500kcal以下のレシピを教えて」
LLMはこれらの指示を解釈し、内部的にMCPサーバーの適切なツールを呼び出し、その結果に基づいて応答を生成します。
信息
分类
网页与API