market-fiyati-mcp について
market-fiyati-mcpは、トルコの食料品価格を扱う非公式のstdio MCPサーバーです。商品検索、店舗ごとの価格や買い物かごの比較、価格履歴の確認ができ、ライブ照会と開発用オフラインモードに対応します。
主な機能
- 01食料品の検索
- 02店舗ごとの商品価格比較
- 03最大5商品の買い物かご比較
- 04価格履歴の取得
- 05近隣店舗と代替商品の検索
活用シーン
- 01近隣店舗の牛乳価格を比較
- 02店舗ごとの買い物かご価格を比較
- 03商品の価格履歴を確認
- 04類似する代替商品を検索
MCP 対応
stdio JSON-RPC経由で、15個のツール、3個のリソース、3個のプロンプトをMCPクライアントに提供します。商品検索、店舗価格、買い物かご、価格履歴を扱い、近隣店舗の検索など一部のツールには実験機能の設定が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y market-fiyati-mcpMARKET_FIYATI_MODELive price requests by default. Select offline for development and tests to block remote requests.MARKET_FIYATI_ENABLE_EXPERIMENTALEnables experimental endpoints, including nearby branch discovery. Set true on first setup when branch IDs are unknown; restart after changing it.MARKET_FIYATI_LATITUDEシークレットDefault latitude (-90..90). Optional as a group with LONGITUDE and DISTANCE; calls may override the coordinate pair.MARKET_FIYATI_LONGITUDEシークレットDefault longitude (-180..180). Set together with MARKET_FIYATI_LATITUDE and MARKET_FIYATI_DISTANCE.MARKET_FIYATI_DISTANCEDefault radius in km (>0..50). Set together with latitude and longitude; no implicit radius.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
15掲載時のツール一覧 · 4 日前に更新
このツールにパラメーターはありません。
詳細
Market Fiyatı MCP
非公式です。 このプロジェクトは Market Fiyatı、TÜBİTAK、またはスーパーマーケットチェーンとは関係がなく、これらから承認を受けていません。 利用条件は運営者の責任で確認してください:目的と利用許可。
はじめに: 以下の設定を MCP クライアントに追加してください。
トルコでの商品、店舗価格、買い物かごを比較するための MCP サーバーです。
Node.js 22+ が必要です。 通常の利用では実際の価格を検索する live モードを使用します。
offline は開発とテスト用です。以下の例では、以前のバージョンでも動作するよう、モードを明示的に選択しています。
1. クライアントに追加する
店舗の検索: 商品検索には店舗 ID が必要です。近くの店舗を検索するツールを利用するには、実験的な機能を有効にする必要があります。
この設定により、近くの店舗、スーパーマーケット一覧、住所/座標検索、商品一括更新、代替商品ツールが有効になります。
そのため、例には "MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true" が含まれています。この設定の既定値は false のままです。
すでに店舗 ID がわかっている場合は、この行を削除できます。
{
"mcpServers": {
"market-fiyati": {
"command": "npx",
"args": ["-y", "[email protected]"],
"env": {
"MARKET_FIYATI_MODE": "live",
"MARKET_FIYATI_LATITUDE": "41.025591",
"MARKET_FIYATI_LONGITUDE": "28.974075",
"MARKET_FIYATI_DISTANCE": "4",
"MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true"
}
}
}
}
例:ガラタ塔 — 41.025591, 28.974075。
distance=4 は、中心から半径 4 km(直径 8 km)を意味します。
数値の型: ツール入力の座標と半径は、引用符なしの JSON 数値です。
env の値だけは環境変数なので引用符で囲みます。サーバーがこれらを数値に変換します。
market_find_nearby_depots の同じ例を、引用符なしの数値で示します:
{ "latitude": 41.025591, "longitude": 28.974075, "distance": 4 }
設定ファイルの場所
上記の market-fiyati エントリをクライアントのファイルに追加し、クライアントを再起動してください。
| クライアント | ファイル | 備考 |
|---|---|---|
| Claude Desktop | macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows: %APPDATA%\Claude\claude_desktop_config.json | mcpServers キー |
| Claude Code | プロジェクト:.mcp.json · コマンド:claude mcp add · ユーザー共通:claude mcp add-json -s user | mcpServers キー |
| Cursor | 共通:~/.cursor/mcp.json · プロジェクト:.cursor/mcp.json | mcpServers キー |
| VS Code | プロジェクト:.vscode/mcp.json | 親キーは servers。エントリに "type": "stdio" を追加してください |
| Codex | ~/.codex/config.toml | TOML:[mcp_servers.market-fiyati] と .env テーブル |
座標をお住まいの地域に合わせて変更してください。個人の位置情報はクライアントの非公開設定に保存し、Git に追加しないでください。
環境変数での位置指定は 1.0.6 以降でサポートされています(半径の引き継ぎ)。パッケージをインストールできない場合は、ソースコードから実行してください。
npx はパッケージをダウンロードします。見つからない場合は、絶対パスを使用してください。ガラタ塔の設定例。
2. 接続を確認する
サーバーを再起動し、AI に次のように入力してください:
market_statusを呼び出してください。モードと位置設定が準備できているかを表示してください。
期待される結果: data.mode=live、data.liveRequestsEnabled=true、data.locationDefaults.configured=true。
Status は設定のみを確認します。実際の価格を確認するには、次の手順で検索してください。
3. 価格を検索する
AI に希望する商品とスーパーマーケットを伝えてください。位置情報が設定済みの場合は、再度指定する必要はありません。
店舗が不明な場合は、上記で有効にした実験的アクセスを使って market_find_nearby_depots を一度呼び出します。
商品検索で返された店舗 ID を使用します。手順:実際の価格で検索する。
リクエストの例
近くの店舗で、1 リットルの低脂肪乳が最も安いのはいくらですか?
3 kg のヨーグルトを価格順に並べ、完全一致と代替品を分けて表示してください。
500 g の白チーズの価格を店舗間で比較して、地図リンクを表示してください。
1 kg のジャガイモ、2 L の牛乳、10 個入りの卵で構成される買い物かごを、店舗ごとに比較してください。
1 kg のグラニュー糖の価格履歴を要約してください。
商品名とパッケージサイズを明確に指定してください。「完全一致のみ」などの厳密な条件を明記してください。 そうでない場合、AI は類似商品を別の見出しで説明して提案することがあります。
位置情報の仕組み
| 状況 | ルール |
|---|---|
| Env を使用する | 3 つの値をまとめて設定してください。AI は各リクエストで再度確認しません。 |
| Env を使用しない | 3 つすべてを削除してください。位置情報を使う呼び出しごとに、緯度、経度、半径を指定してください。 |
| 別の場所を検索する | 緯度と経度を一緒に指定してください。Distance がない場合は env の半径が使われます。 |
| 値が不足または無効 | Env が不正な場合、サーバーは起動しません。呼び出しが不正な場合、その呼び出しは拒否されます。デフォルトの半径はありません。 |
| 設定を変更した | Env の場合は再起動してください。呼び出し時の変更は、その呼び出しにのみ適用されます。 |
店舗(depots)は商品呼び出し時にも必要です。MCP はこれらを保存しません。
同じプロセスでは env の位置情報が共有されます。異なるユーザーは、別々のプロセスまたは呼び出し時に明示した値を使用してください。
位置情報と店舗コンテキストのすべてのルールと制限。
できること
| 目的 | ツール |
|---|---|
| 商品を検索する | market_search_products |
| 店舗間で価格を比較する | market_compare_product_offers |
| 買い物かごを比較する | market_compare_basket |
| 価格履歴を確認する | market_get_price_history |
| 呼び出しの流れを確認する | market://guide |
15 個のツール · 3 個のリソース · 3 個のプロンプト。 購入、注文、バーコード検索には対応していません。
結果を正しく読み取る
- 価格の通貨は TRY です。
percentageは割引率ではありません。API のdiscountマーカーを参照してください。 - offer が不足している場合は、不明という意味です。「在庫切れ」や「すべての価格を検索済み」とは言えません。
- 買い物かごが不完全な場合、
total=nullとなります。subtotalは見つかった商品のみを対象とします。 - 実店舗の比較には
groupBy=depotを使用してください。チェーンは単一の店舗ではありません。 - 買い物かごに入れられる商品は最大 5 点です。予算は retry を含めて 5 回の HTTP 試行です。retry が有効な場合、商品数の上限は下がります(
market_status内のlimits.basketItems)。リストを分割したり、ツールを変更したりして制限を回避しないでください。
トラブルシューティング
| エラーまたは症状 | 原因と解決方法 |
|---|---|
NETWORK_DISABLED | クライアント設定で MARKET_FIYATI_MODE=offline が指定されているか、1.0.7 以前のバージョンがインストールされています。値を live に変更して、サーバーを再起動してください。変数を削除するだけでよいのは 1.0.8 以降です。ネットワークに接続されていない開発環境では、offline のままにしてください。 |
EXPERIMENTAL_DISABLED | 近くの支店や住所検索などの実験的なツールが無効になっています。設定に "MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true" を追加して再起動するか、支店 ID を自分で指定してください。 |
OUTPUT_TOO_LARGE | 応答がローカルのサイズ上限を超えました。部分データは返されません。同じクエリを繰り返さず、ページサイズ(size)、支店数、またはカートの商品数を減らしてください。 |
sh: market-fiyati-mcp: command not found / Claude Code の Connection closed | クライアントが、package.json の固定バージョンと market-fiyati-mcp が一致するフォルダー(このリポジトリのチェックアウト)で起動されています。npx は公開済みパッケージではなく、ローカルプロジェクトを解決します。args リストで -y の前に "--prefix", "<フォルダー>" を追加してください。<フォルダー> は、market-fiyati-mcp の package.json がないフォルダーの絶対パスです(例:ホームディレクトリ)。 |
| Claude Code が大きな結果をファイルに移動する | 応答サイズは商品数と支店数に応じて大きくなります。2026-10-07 のライブセッションでは、25 商品 × 25 支店の検索はクライアントの出力上限を超え、15 商品 × 25 支店では上限内に収まりました。支店数を減らすか、size を小さくするか、クライアント環境で MAX_MCP_OUTPUT_TOKENS の値を増やしてください。 |
| サーバーが一覧に表示されない(Windows) | Claude Desktop を MSIX パッケージ(Microsoft Store、WinGet、または公式インストーラー)でインストールした場合、アプリは %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json からファイルを読み込むと報告されています。Settings > Developer > "Edit Config" では、%APPDATA% 配下のファイルが開かれることがあります。%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc フォルダーがある場合は、そのファイルに mcpServers エントリを追加し、アプリを完全に終了してから再起動してください。フォルダーがない場合、この行は該当しません。このパスは公式ドキュメントには記載されていません。 |
| その他のエラーコード:API。 |
ソースコードからの開発
リポジトリをクローンして実行します。
npm ci --ignore-scripts
MARKET_FIYATI_MODE=offline npm run check
check はビルドも実行します。クライアントでは、command: "node" を指定し、args には
dist/src/index.js ファイルの絶対パスを指定してください。開発時は、クライアントの env 設定で明示的に MARKET_FIYATI_MODE=offline を指定してください。
テストでネットワークを遮断する設定も維持されます。必要に応じて、node のパスも絶対パスで指定してください。
サーバーは stdio JSON-RPC を使用し、HTTP ポートは開きません。開発時に MARKET_FIYATI_MODE=offline npm start
を実行すると、MCP メッセージを待ち受けます。モード設定がない場合、起動時に live が選択されます。起動するだけでは HTTP リクエストは送信されません。
stdout は MCP トラフィック専用です。npm のインストールではネットワークを使用する場合がありますが、アプリケーションのテストは API に接続しません。
詳細情報
| 必要な情報 | ドキュメント |
|---|---|
| 実際の価格を照会する | 実際の価格での照会 |
| ツール、フィルター、応答のルール | API |
| 設定とコード構成 | アーキテクチャ |
| テストとその制限 | 検証 · 合成受け入れテスト |
| リリース | リリースガイド · CHANGELOG |
目的と利用許諾
このプロジェクトは、商業的な利益やその他の利害を目的とせずに開発された独立した取り組みです。 Market Fiyatı、TÜBİTAK、またはスーパーマーケットチェーンの公式製品ではありません。承認、 スポンサーシップ、提携を主張するものではありません。
Market Fiyatı の利用規約を確認し、
利用に必要な許諾を得ることは運用者の責任です。このリポジトリは、サードパーティーのサービスへの
アクセス許可を付与するものではありません。live 設定は、技術的なアクセスのみを制御します。
セキュリティ脆弱性を報告するには、非公開の報告手順を使用してください。
ライセンス
MIT — Copyright (c) 2026 Gökhan Çavuş.
ライセンスの対象は、ソフトウェアおよび付属ドキュメントのみです。サードパーティーのデータ、ブランド、 ロゴ、サービスへのアクセス権は付与されません。上記の目的に関する声明は MIT ライセンスを変更するものではなく、 コードに商用利用の禁止を追加するものでもありません。サードパーティーのコンポーネントには、それぞれのライセンスが適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。