MCPサーバー

Forage Shopping

io.github.jalexspringer/forage-shopping
コマース・小売 公開・接続可能 MCP 2025-11-25

このMCPでできること

Searches products across merchants, compares prices and deals, and supports checkout, payment escalation, purchase completion, and order status checks.

check_order
Check the status of a checkout session or order. Use this after the user has completed an escalation step (e.g. payment in the browser) to see if the checkout can now proceed, or to check on a completed order's status.
入力スキーマ
{'type': 'object', 'title': 'check_orderArguments', 'required': ['checkout_id'], 'properties': {'checkout_id': {'type': 'string', 'title': 'Checkout Id', 'description': 'The checkout session ID to check'}}}
出力スキーマ
{'type': 'object', 'title': 'check_orderOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
compare_prices
Compare prices for a specific product across multiple merchants. Finds the same product at different retailers and shows price differences.
入力スキーマ
{'type': 'object', 'title': 'compare_pricesArguments', 'required': ['product_name'], 'properties': {'session_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Session Id', 'default': None, 'description': 'Optional session identifier to link tool calls in one conversation.'}, 'product_name': {'type': 'string', 'title': 'Product Name', 'description': "Specific product to compare prices for, e.g. 'Nike Pegasus 41'"}}}
出力スキーマ
{'type': 'object', 'title': 'compare_pricesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
complete_purchase
Complete a checkout and place the order. Only call this when the checkout status is 'ready_for_complete'. Records the purchase as a conversion in telemetry and ends the attribution session. Returns the order confirmation with order ID and receipt link.
入力スキーマ
{'type': 'object', 'title': 'complete_purchaseArguments', 'required': ['checkout_id'], 'properties': {'session_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Session Id', 'default': None, 'description': 'Session identifier for telemetry. Use the same one from search/checkout.'}, 'checkout_id': {'type': 'string', 'title': 'Checkout Id', 'description': 'The checkout session ID to complete'}}}
出力スキーマ
{'type': 'object', 'title': 'complete_purchaseOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
find_deals
Find the best current deals in a product category. Searches for discounted, on-sale, or best-value products.
入力スキーマ
{'type': 'object', 'title': 'find_dealsArguments', 'required': ['category'], 'properties': {'budget': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Budget', 'default': None, 'description': "Optional budget limit, e.g. '£100', '$50'"}, 'category': {'type': 'string', 'title': 'Category', 'description': "Product category, e.g. 'headphones', 'running shoes', 'coffee machines'"}, 'session_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Session Id', 'default': None, 'description': 'Optional session identifier to link tool calls in one conversation.'}}}
出力スキーマ
{'type': 'object', 'title': 'find_dealsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
search_products
Search for products across merchants and return comparison results. Returns structured product listings with prices, merchants, and checkout links. Searches Shopify's global catalogue (50M+ products across all Shopify merchants) and Channel3's affiliate network. Results include direct checkout links.
入力スキーマ
{'type': 'object', 'title': 'search_productsArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'description': "What to search for, e.g. 'running shoes under £120'"}, 'session_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Session Id', 'default': None, 'description': 'Optional session identifier to link tool calls in one conversation. Pass a stable string (e.g. conversation ID) across multiple tool calls.'}, 'max_results': {'type': 'integer', 'title': 'Max Results', 'default': 10, 'description': 'Maximum number of results to return'}}}
出力スキーマ
{'type': 'object', 'title': 'search_productsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
start_checkout
Start a UCP checkout session for a product. Discovers the merchant's UCP capabilities, creates a checkout session, and attaches content attribution data from the current session's search and comparison activity. Returns the checkout status and any information the merchant still needs (email, shipping address, etc).
入力スキーマ
{'type': 'object', 'title': 'start_checkoutArguments', 'required': ['product_url'], 'properties': {'quantity': {'type': 'integer', 'title': 'Quantity', 'default': 1, 'description': 'Number of items to purchase'}, 'session_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Session Id', 'default': None, 'description': 'Session identifier to link checkout with earlier search telemetry.'}, 'product_url': {'type': 'string', 'title': 'Product Url', 'description': "URL of the product to purchase. The merchant's domain is used for UCP discovery."}}}
出力スキーマ
{'type': 'object', 'title': 'start_checkoutOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
update_checkout_info
Update a checkout session with buyer information. Provide the information the merchant requested (email, name, shipping address, discount codes). Call this after start_checkout when the merchant indicates what information is still needed. If the response has status 'requires_escalation', share the continue_url with the user so they can complete payment in their browser.
入力スキーマ
{'type': 'object', 'title': 'update_checkout_infoArguments', 'required': ['checkout_id'], 'properties': {'buyer_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Buyer Name', 'default': None, 'description': "Buyer's full name"}, 'buyer_email': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Buyer Email', 'default': None, 'description': "Buyer's email address"}, 'checkout_id': {'type': 'string', 'title': 'Checkout Id', 'description': 'The checkout session ID from start_checkout'}, 'discount_code': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Discount Code', 'default': None, 'description': 'Discount or promo code to apply'}, 'shipping_address': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Shipping Address', 'default': None, 'description': 'Shipping address as a single string (the merchant will parse it)'}}}
出力スキーマ
{'type': 'object', 'title': 'update_checkout_infoOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
追加
check_order
2026年9月17日12:42
追加
complete_purchase
2026年9月17日12:42
追加
update_checkout_info
2026年9月17日12:42
追加
start_checkout
2026年9月17日12:42
追加
find_deals
2026年9月17日12:42
追加
compare_prices
2026年9月17日12:42
追加
search_products
2026年9月17日12:42