mcpField
S
Snappfood & SnappMarket

Snappfood & SnappMarket

ローカル
github.comビジネス・マーケティング365 日前に更新

Snappfood & SnappMarket について

Snappfood & SnappMarket は、イランの飲食配達と食料品を検索する非公式の読み取り専用 MCP サーバーです。AI エージェントは実価格と配達費の比較、メニューやレビューの確認、セール検索ができますが、ログインや注文には対応しません。

主な機能

  1. 01近隣の飲食店と食料品を検索
  2. 02実価格と総額を比較
  3. 03メニュー・商品・配達情報を確認
  4. 04レビューと期間限定セールを確認
  5. 05読み取り専用で注文不可

活用シーン

  1. 01近隣のピザ配達総額を比較
  2. 02近隣で最安の食料品を検索
  3. 03配達無料の飲食店を絞り込み
  4. 04開催中のセールとレビューを確認

MCP 対応

stdio 経由で、位置検索、飲食店・食料品の検索、メニュー、費用、レビュー、セールの読み取り専用ツールを公開します。実行環境の IP から Snappfood と SnappMarket の公開エンドポイントにアクセスします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sepehr071-snapp": {
"command": "uvx",
"args": [
"snapp-mcp"
],
"env": {
"SNAPP_MCP_PROXY": "<SNAPP_MCP_PROXY>"
}
}
}
}
起動コマンドuvx snapp-mcp
設定が必要な環境変数
SNAPP_MCP_PROXYOptional HTTP proxy URL. Snappfood only accepts Iranian IP addresses; system proxy settings are ignored. Also accepts a comma-separated list: one is used until it gets blocked or fails to connect, then the next.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypisnapp-mcp0.3.2

ツール

21

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

パラメーター型必須説明
limitintegerいいえ返す場所の最大数。
querystringはい場所、通り、ランドマーク、または近隣地区。ペルシャ語が最適です。例:'میدان ونک'。
near_latanyいいえこの緯度付近の結果を優先します(例:list_cities で取得した市の中心座標)。
near_longanyいいえこの経度付近の結果を優先します。

詳細

snapp-mcp:Claude、Cursor、Copilot 向けの非公式 Snappfood・SnappMarket MCP サーバー

snapp-mcp:AI エージェント向け Snappfood・SnappMarket MCP サーバー

AI エージェントに、Snappfood と SnappMarket(اسنپ‌فود و اسنپ‌مارکت)で買い物をさせましょう。
イランの Snappfood(レストランのデリバリー)と SnappMarket(食料品)向けの、非公式の読み取り専用 MCP サーバーです。
料理や食料品を検索し、数百のレストランや店舗の実際の価格を比較し、メニューやレビューを確認し、今日のフラッシュセールをチェックできます。すべて Claude、Cursor、Copilot から利用できます。

PyPI Python CI MCP Registry License: MIT

Install in Cursor Install in VS Code

AI エージェント向け · 理由 · できること · クイックスタート · ツール · 仕組み · 知っておくとよいこと · FAQ · 設定 · فارسی · 開発


AI エージェント向け

  • 概要: イランの Snappfood(snappfood.ir、レストランの配達)と SnappMarket(snapp.market、食料品)に対応した非公式の MCP サーバー(モデルコンテキストプロトコル)です。ペルシャ語での検索が最も適しており、価格の単位はトマンです。
  • インストール: uvx snapp-mcp または claude mcp add snapp -- uvx snapp-mcp を実行します。トランスポートは stdio です。uv(Python 3.10+)が必要です。
  • 認証: 不要です。API キーやアカウントは必要ありません。Snappfood はイランの IP アドレスからのみアクセスできます。VPN を使わずにイランから実行するか、SNAPP_MCP_PROXY にイランを出口とする HTTP プロキシを設定してください。システムのプロキシ設定は無視されます。
  • アクセス: 読み取り専用です。ログイン、カート、注文、支払いには対応していないため、ツールを呼び出す前に確認を取る必要はありません。21 個すべてのツールに readOnlyHint: true が設定されています。
  • ツール: 21 個あります。find_location、reverse_geocode、list_cities、続いて food_*(9 個)と market_*(9 個)です。ほとんどのフードおよびマーケット関連ツールには lat と long が必要です(food_reviews、market_reviews、market_product、list_cities を除く)。 一般的な手順:find_location -> food_find_cheapest -> food_order_costs(食料品の場合:market_find_cheapest -> market_store_info)。
  • 単位: 価格はトマン(1 トマン = 10 リアル)、評価は 0~5 です。
  • 使用する場合: イラン国内の住所付近で、料理や食料品の実際の合計金額(食品代 + 包装代 + 配送料)を比較するときに使用します。
  • 使用しない場合: ユーザーが注文または支払いを希望している場合や、イランの IP アドレスまたはプロキシを利用できない国外にいる場合は使用しないでください(Snappfood は HTTP 403 を返します)。
  • 出力: 簡潔な JSON です。null と空のフィールドは省略されます(rating がない場合は未評価です)。レビューと説明文は 400 文字で切り詰められます。全文を取得するには、food_reviews、market_reviews、または market_product に full_text: true を渡してください。レストランと店舗の vendor_code の値は、ツール間で引き渡して使用します。FoodParty と Gem のお得情報は、特定の時間帯にのみ利用できます。
  • 機械可読データ: server.json と iran-mcp カタログ(TOOLS.md、servers.json、llms.txt)。

このツールを使う理由

Snappfood では、一度に 1 軒のレストランしか表示されません。実際に自宅まで届く一番安いピザを見つけるには、何十ものメニューを開き、包装代と配送料を頭の中で足し、各レストランの最低注文金額を確認する必要があります。snapp-mcp を使うエージェントなら、これを数秒で行えます。

あなた: 今すぐヴァナク広場に配達できる、配送料込みで一番安いピザは?

エージェント: 呼び出し find_location(query="میدان ونک") → food_find_cheapest(query="پیتزا", lat=35.7577, long=51.4095)

合計料理レストラン内訳
296,400پیتزا سوسیس مینی + نوشابهپیتزاتو (گاندی)食品代 296,400 · 配送料無料
410,000پیتزا اسمارت وجی لاورپیتزا دومینوز (جردن)食品代 360,000 + 配送料 50,000
464,000پیتزا پپرونی اسلایسیتله پیتزا (سعادت آباد)食品代 315,000 + 配送料 149,000

全体では Pizzato のセットが最安です。food_order_costs で最低注文金額とクーポンを確認しましょうか?

2026-10-02 時点の実際のツール出力です。価格は常に変動します。価格の単位はトマンです。

できること

  • 検索 イラン国内の任意の住所付近で、名前から料理や食料品を検索します
  • 本当の最安値を探す:割引後の料理価格に包装費と配送料を加えた金額を、最新のメニューと照合します
  • 閲覧:送料無料、割引、クーポン、評価、距離で絞り込んで、レストランや店舗を探します
  • 確認:メニュー全体、店舗の商品一覧、最低注文金額、配送料、到着予定時間、クーポンを確認します
  • お得な情報を見つける:FoodParty のフラッシュセール、一人分の食事、Gem ハント、Market Party
  • 品質を確認:おすすめを紹介する前に、顧客レビューを確認します
  • 読み取り専用の設計:ログイン、カート、注文、決済はありません

プロンプトの例:

  • 「タジュリシュ付近で送料無料、評価が4.5以上のレストランはどこですか?」
  • 「近くで40%を超える割引の FoodParty セールを見せてください。」
  • 「テヘランのジョルダン付近で低脂肪乳が最も安いのはどこですか?配送料も含めてください。」
  • 「エンゲラーブ広場付近で、送料無料の20万トマン以下の一人分の食事を探してください。」
  • ارزان‌ترین کباب نزدیک میدان آزادی شیراز با هزینه ارسال؟
  • امروز در فودپارتی نزدیک ونک چه تخفیف‌هایی هست؟
  • ارزان‌ترین شیر کم‌چرب نزدیک میدان ونک را از اسنپ‌مارکت پیدا کن.

クイックスタート

uv とイランの IP アドレスが必要です (Snappfood は海外の IP アドレスの大半をブロックします。FAQ を参照してください)。API キーやアカウントは不要です。

Claude Code
claude mcp add snapp -- uvx snapp-mcp
Claude Desktop

「設定」→「開発者」→「設定を編集」の順に選択し、次を追加します:

{
  "mcpServers": {
    "snapp": { "command": "uvx", "args": ["snapp-mcp"] }
  }
}
Cursor

上のCursor にインストールをクリックするか、Claude Desktop の設定ブロックを ~/.cursor/mcp.json(またはプロジェクト内の .cursor/mcp.json)に追加します。

VS Code (Copilot agent mode)

上のVS Code にインストールをクリックするか、.vscode/mcp.json に追加します:

{
  "servers": {
    "snapp": { "type": "stdio", "command": "uvx", "args": ["snapp-mcp"] }
  }
}
Codex CLI
codex mcp add snapp -- uvx snapp-mcp

または ~/.codex/config.toml に追加します:

[mcp_servers.snapp]
command = "uvx"
args = ["snapp-mcp"]
Gemini CLI

~/.gemini/settings.json に追加します:

{
  "mcpServers": {
    "snapp": { "command": "uvx", "args": ["snapp-mcp"] }
  }
}
Windsurf

Claude Desktop の設定ブロックを ~/.codeium/windsurf/mcp_config.json に追加します。

その他

標準的な stdio MCP サーバーです。uvx snapp-mcp を実行するか、pip install snapp-mcp を実行してから snapp-mcp を起動します。

## ツール

すべてのフード・食料品ツールでは lat / long を指定します。メニュー、価格、配送料は配送先によって異なるためです。エージェントはまず find_location または list_cities から取得します。

位置情報 (3)
ツール機能
find_location住所、目印、または通り → 座標
reverse_geocode座標 → 通り名/近隣地区名
list_citiesサービス対象のすべての都市と中心点
Snappfood:レストラン (9)
ツール機能
food_search料理名で検索。価格順の結果は、ライブメニューと照合して再確認します
food_find_cheapest近隣のメニューと FoodParty を調べ、合計価格(料理+包装+配達)が最も安いものを検索します
food_restaurantsフィルター(配送料無料、割引、クーポン)と並べ替えに対応したレストラン一覧
food_menu1 店舗の全メニューと価格、包装料金、提供状況
food_order_costs1 店舗の配送料、到着予定時間、最低注文金額、クーポン
food_reviews注文した料理とレストランからの返信を含む、顧客レビュー
food_party_deals在庫が残っている FoodParty のフラッシュセールと、セール期間
food_meal_for_one配送料無料の 299k トマン以下の 1 人用メニュー
food_discounted_vendors現在割引を実施中のレストランと、利用可能な Gem セール
SnappMarket:食料品 (9)
ツール機能
market_search商品を店舗横断で検索し、店舗ごとにグループ化
market_find_cheapest在庫のある商品の最安値をフラットな一覧で表示
market_stores配送料または評価順で、指定地点に配達する店舗を表示
market_store_info店舗の配送料、最低注文金額、営業時間、クーポン
market_store_products店舗内を検索、またはカテゴリー別に閲覧
market_categories商品カテゴリーとその ID
market_product店舗で販売されている 1 商品の詳細と価格
market_party_deals最大割引率の高い順に表示する Market Party のフラッシュセール
market_reviews店舗に関する顧客コメント

全 21 個のツールには readOnlyHint: true が注釈として付与され、コンパクトな構造化 JSON を返すため、エージェントのコンテキストを圧迫しません。

仕組み

  AI agent  (Claude, Cursor, Copilot, ...)
      │
      │  MCP over stdio
      ▼
  snapp-mcp  (runs on your machine, uses your IP)
      │
      │  HTTPS
      ├──────▶  snappfood.ir    restaurants
      └──────▶  snapp.market    groceries

snapp-mcp はローカルで動作し、Snappfood および SnappMarket のウェブアプリと同じ公開エンドポイントを、Chrome に似た TLS・ヘッダープロファイルを使用して呼び出します。同時リクエストは最大 2 件で、短いランダムな遅延(150-600 ms)を挟みます。 同一の GET リクエストは 60 秒間キャッシュされ、失敗した GET(タイムアウト、ネットワークエラー、5xx、429)はバックオフを挟んで最大 2 回再試行されます。 通信先は Snapp の固定許可リストに含まれるホストのみで、レスポンス本文のサイズは 5 MB に制限されています。 唯一実行する POST は、SnappMarket の匿名トークン(公開ウェブアプリのクライアント認証情報)を取得するもので、店舗および商品のエンドポイントで必要になります。 間にホスト型サーバーはなく、API キーも不要です。また、あなたに関する情報がほかの場所に送信されることもありません。

知っておくと便利なこと

  • 価格はトマン表記です(1 トマン=10 リアル)。評価は 0~5 に正規化されています(API では 0~10)。rating がない場合は未評価です(null/空のフィールドは省略されます)。
  • フード注文の実質費用 =価格 − 割引 + 梱包料 + 配送料 − クーポンで、注文金額がレストランの最低注文金額に達している必要があります。food_find_cheapest と food_order_costs を使うと、エージェントはこれらすべての情報を取得できます。
  • 価格はリアルタイムで確認されます。 検索インデックスの価格は古くなるため、food_search の価格順検索と food_find_cheapest は最新のメニューを再取得し、販売終了、注文不可、またはサイドメニュー(ソース、ドリンクなど)の料理を除外します。
  • ペルシャ語のクエリが最もよく一致します(پیتزا、کباب、شیر)。名前のフィルターでは、アラビア語の ي/ك と、半角スペースとスペースを同じものとして扱います。
  • セールには開催時間があります。 FoodParty と Gem は特定の時間帯のみ開催されます。時間外には、ツールは active: false または gem: null を返します。
  • テキストは省略されます。 full_text を指定しない限り、レビューと説明のテキストは 400 文字までです。
  • 位置情報が必要です。 メニュー、価格、料金は配達先によって異なるため、ほとんどのツールで lat と long が必要です。
  • イランの IP アドレスが必要です。 Snappfood のファイアウォールはイランの IP アドレスのみを受け付けます(それ以外では HTTP 403 となり、一部の接続元では TLS 接続がリセットされます)。SnappMarket の制限はそれほど厳しくありません。海外から実行する必要がある場合は、SNAPP_MCP_PROXY を設定してください。
  • 対象外: ログイン、OTP、カート、注文、決済、ウォレット、レビューの投稿、住所の保存。サーバーがこれらのエンドポイントを呼び出すことはありません。

よくある質問

AI エージェント向けの Snappfood または SnappMarket API、MCP サーバーはありますか?

はい。snapp-mcp は、料理、メニュー、食料品、配送料、セールに対応する21個の読み取り専用ツールを備えた非公式の MCP サーバーです。Snappfood と SnappMarket のウェブアプリが使用するのと同じ公開エンドポイントを呼び出すため、API キーは不要です。

Claude、Cursor、Copilot で Snappfood を使うにはどうすればよいですか?

claude mcp add snapp -- uvx snapp-mcp を使ってサーバーを追加し(または、Claude Desktop、Cursor、VS Code など向けの設定をクイックスタートで確認してください)、住所の近くにある料理をペルシャ語または英語で尋ねます。

これは公式ですか?安全で無料ですか?イラン国外でも動作しますか?

非公式であり、Snapp とは関係ありません。読み取り専用(ログイン、カート、支払いは行いません)で、マシン上で動作し、MIT ライセンスのもとで無料で利用できます。イラン国外では Snappfood がほとんどの IP アドレスをブロックするため、イランの IP アドレスを使用するか、SNAPP_MCP_PROXY を設定してください。

「blocked the request (HTTP 403)」と表示されます

Snappfood のファイアウォールは、イランの IP アドレスからのアクセスのみを許可します。VPN をオフにして、イラン国内のマシンでサーバーを実行してください。VPN を使用する必要がある場合は、SNAPP_MCP_PROXY に、イラン国内から接続する HTTP プロキシを設定してください(複数指定する場合はカンマ区切りで指定できます)。通常のシステムプロキシ変数は意図的に無視されます。国外の VPN 接続先はブロックされるためです。SnappMarket の制限はこれより緩やかです。

代わりに注文してもらえますか?

いいえ。それは意図的な設計です。ログイン機能はなく、カート、注文、支払いのエンドポイントには一切アクセスしません。エージェントが最適な選択肢を見つけ、注文はアプリでご自身がタップします。

FoodParty または Gem の結果が空です

これらのセールは時間帯限定です。active: false または gem: null は、現在対象の時間帯ではないことを意味します。

価格は正確ですか?

価格は Snapp の API からリアルタイムでトマン単位で取得され、価格順の並べ替え時には各レストランの現在のメニューを再取得します。ただし、価格、在庫、配送料はすぐに変わります。呼び出し時点では正確な情報として扱い、注文前にアプリで最終的な合計金額を確認してください。

エージェントが座標を必要とするのはなぜですか?

メニュー、価格、在庫状況、配送料はすべて配達先によって変わります。エージェントは find_location を使って住所やランドマークを lat/long に変換するか、list_cities から都市の中心を使用します。

Claude Desktop で uvx が見つからないと表示されます

uvx のフルパスを command として指定してください(Windows では where uvx、macOS/Linux では which uvx を実行します)。

エージェントが認識している内容をデバッグするにはどうすればよいですか?
npx @modelcontextprotocol/inspector uvx snapp-mcp

設定

変数必須デフォルト意味
SNAPP_MCP_PROXYいいえ未設定すべてのリクエストに使用する HTTP プロキシ。例:http://user:pass@host:port。カンマ区切りで複数指定した場合は、1つずつ使用します。いずれかがブロックされた場合(403/429)、または接続できない場合は、次のプロキシに切り替わります

Snapp がボット確認ページを返した場合、サーバーはヘッドレスブラウザーで対処できます。snapp-mcp[browser] をインストールし(例:uvx --from 'snapp-mcp[browser]' snapp-mcp)、その後 patchright install chromium を実行してください。デフォルトでは無効です。

ペルシャ語:Snappfood と Snappmarket の MCP サーバー

snapp-mcp は、イランの Snappfood(レストランのオンライン注文)と Snappmarket(スーパーマーケットや食料品のオンライン購入)向けの、非公式な読み取り専用 MCP サーバーです。このサーバーを使うと、AI アシスタント(Claude、Cursor、Copilot など)が Snappfood と Snappmarket で検索し、 数百のレストランや店舗の実際の料理・商品の価格を比較し、メニューやレビューを確認して、有効な割引(Food Party、Jam、Market Party)を見つけられます。

  • 読み取り専用です。アカウントにログインせず、カートを作成せず、注文もしません。
  • パッケージ料金、配送料、最低注文額を含めた最終価格を計算します。
  • 価格はトマン、評価は 0~5 です。
  • お使いのシステム上で実行され、仲介サーバーにデータを送信しません。
  • API キーやユーザーアカウントは必要ありません。

Claude Code へのインストール:

claude mcp add snapp -- uvx snapp-mcp

次のように尋ねてみてください:「ヴァナク広場の近くで、配送料込みで最も安いピザはどこですか?」

注意: Snappfood はイラン国外からのリクエストをブロックするため、サーバーはイランの IP アドレスを使い、VPN を使用せずに実行する必要があります。VPN の使用が避けられない場合は、SNAPP_MCP_PROXY をイランを出口とする HTTP プロキシに設定してください。

よく検索される語句: Snappfood、Snappmarket、料理のオンライン注文、最安の料理、料理の価格比較、Food Party、レストランの割引、配送料、レストランのメニュー、オンラインスーパー、食料品の価格、AI アシスタント、ペルシャ語の MCP サーバー。

開発

git clone https://github.com/sepehr071/snapp-mcp && cd snapp-mcp
uv sync
uv run python -m pytest            # offline, against recorded responses
uv run python -m pytest -m live    # real APIs (needs an Iranian IP)
uv run ruff check .

ツールは src/snapp_mcp/food.py、market.py、location.py にあります。それぞれ型付きの非同期関数で、エージェントがいつ使うべきかを説明する docstring が付いています。問題の報告や PR を歓迎します。特に、新しいツールや API の変更に対する修正をお待ちしています。

リリースするには、pyproject.toml と server.json のバージョンを更新し、v* タグをプッシュしてください。GitHub Actions がテストを実行し、PyPI と MCP Registry に公開して、GitHub Release を作成します。

関連サーバー

  • iran-mcp:イランの各種サービス向け MCP サーバーのカタログ
  • okala-mcp:各店舗の食料品価格とセール情報
  • tapsifood-mcp:イランの別のプラットフォームにおける料理のデリバリー検索とメニュー
  • digikala-mcp:Digikala の商品検索と価格
  • torob-mcp:イランのショップ間での価格比較

免責事項

非公式のプロジェクトであり、Snapp との提携や同社による推奨を受けていません。読み取り専用で、snappfood.ir と snapp.market のウェブアプリが公開しているエンドポイントのみを読み取ります。これらは予告なく変更されることがあります。リクエスト頻度は適切に保ってください。

作者

Sepehr Radmard:イランのウェブ向けオープンソース MCP サーバー。LinkedIn:linkedin.com/in/sepehr-radmard

Sepehr Radmard(سپهر رادمرد)が開発・メンテナンスしています。LinkedIn でつながるか、GitHub の @sepehr071 をフォローして、イランのウェブサイト向け MCP サーバーをご覧ください。すべて iran-mcp に掲載されています。時間の節約に役立ったら、リポジトリにスターを付けていただくと、ほかの人にも見つけてもらいやすくなります。

ライセンス

MIT

クリックの手間が省けたら、スターを付けていただくと、ほかの人にも見つけてもらいやすくなります。

コメント

MCP は初めてですか?

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

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