Grocery MCP について
Grocery MCPは、対応する小売店の公開ストアを検索し、確認可能な商品リンクを返すMCP・RESTサービスです。買い物の準備に使えますが、カートへの追加や注文は行わず、決済は小売店のサイトで行います。
主な機能
- 01小売店の店舗と商品を検索
- 02確認用の商品リンクを作成
- 03食料品注文テンプレートを再利用
- 04マッチ信頼度と観測時刻を表示
- 05安全でない代替品を未一致として扱う
活用シーン
- 01対応する地域の小売店から商品を探す
- 02決済前に確認用リストを準備
- 03最新の商品検索で買い物リストを再利用
MCP 対応
小売店の検索、商品検索、引き渡し、注文テンプレートのツールをMCPクライアントに公開します。商品情報は公開ストアに基づき、引き渡しは小売店サイトへのリンクのみで、カートへの追加や注文は行いません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://grocery-mcp-production.up.railway.app/mcpclaude mcp add --transport http andrewvg23-grocery https://grocery-mcp-production.up.railway.app/mcp{"mcpServers":{"andrewvg23-grocery":{"type":"http","url":"https://grocery-mcp-production.up.railway.app/mcp"}}}Cursor で開く{"servers":{"andrewvg23-grocery":{"type":"http","url":"https://grocery-mcp-production.up.railway.app/mcp"}}}VS Code で開く{"mcpServers":{"andrewvg23-grocery":{"type":"http","url":"https://grocery-mcp-production.up.railway.app/mcp"}}}{"mcpServers":{"andrewvg23-grocery":{"serverUrl":"https://grocery-mcp-production.up.railway.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Grocery MCP
食料品小売店を直接検索し、確認可能な商品リンクを返す専用の MCP および REST サービスです。現在、次の店舗に対応しています。
- Kettle Range Meat Co. — ミルウォーキーおよびエルムグローブ
- Outpost Natural Foods — Capitol Drive、State Street、Bay View、および Mequon
このサービスは、商品をカートに追加したり、注文を確定したり、小売店の認証情報を保存したり、支払いを処理したりしません。すべての応答で cart_prefilled: false を明示的に返します。ユーザーがリンクを開いて商品を追加し、小売店のサイトで購入手続きを行います。
接続
ホストされているサーバー:
https://grocery-mcp-production.up.railway.app/mcp
Claude と ChatGPT はユーザーをサインインさせます。共有パスワードはありません。
- Claude に Grocery を追加
- Business、Enterprise、または Edu ワークスペースの ChatGPT の場合:chatgpt.com/plugins を開き、Add custom MCP server を選択して URL を貼り付け、OAuth を使用します。
まず find_grocery_retailers を実行し、その後に検索するか、リストを引き継ぎます。引き継ぎで作成されるのは、ユーザーが開くリンクです。cart_prefilled は常に false です。
価格と在庫状況は、検索時点での店舗の公開サイトから取得されます。Kettle Range はミルウォーキーとエルムグローブに対応しています。Outpost は Capitol Drive、State Street、Bay View、および Mequon に対応しています。
セットアップ
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
実行
python -m grocery_mcp.server
python -m grocery_mcp.server --http
HTTP エンドポイント:
- MCP:
http://localhost:8080/mcp - ヘルスチェック:
http://localhost:8080/health - OpenAPI:
http://localhost:8080/docs - 小売店:
http://localhost:8080/v1/retailers - 商品検索:
http://localhost:8080/v1/products/search - 引き継ぎ:
POST http://localhost:8080/v1/handoffs
DATABASE_URL が設定されている場合、引き継ぎと OAuth の動的クライアント登録は PostgreSQL に保存されます。設定されていない場合、ローカル開発ではプロセスメモリを使用します。
MCP ツール
find_grocery_retailerssearch_grocery_productscreate_grocery_handoffget_grocery_handoffcreate_grocery_order_templatelist_grocery_order_templatescreate_handoff_from_template
引き継ぎ入力の例:
{
"retailer": "kettle_range",
"location_id": "milwaukee",
"items": [
{"name": "boneless chicken thighs", "quantity": 2, "unit": "lb"},
{"name": "ground beef", "quantity": 1, "unit": "lb"}
]
}
データの動作
商品名、価格、在庫状況、およびリンクは、リクエスト時に各小売店の公開顧客向けストアフロントから取得されます。これらのストアフロントのインターフェースは、正式なパートナー API ではなく、予告なく変更される場合があります。応答には、一致の信頼度、代替商品、および観測時刻が含まれるため、クライアントはこの不確実性を明示できます。
マッチングでは、十分なトークンの重複を必須とし、明らかに異なるカテゴリの商品への置き換えを拒否し、在庫のある商品を優先します。安全な結果がない場合は、関連性の低い商品に置き換えず、該当商品なしと明示します。
再利用可能なテンプレートには、小売店、場所、および正規化された食料品項目が保存されます。テンプレートを実行すると、常にカタログを新たに検索し、確認専用の引き継ぎを新規作成します。
テスト
ruff check .
pytest
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。