Back to Directory/Developer Tools

io.github.gokhancvs/market-fiyati-mcp

Unofficial stdio MCP for Turkish grocery prices, branch offers and basket comparisons.

Developer ToolsTypeScriptv2.0.1

Market Fiyatı MCP

Resmî değildir. Bu proje Market Fiyatı, TÜBİTAK veya market zincirleriyle bağlantılı değildir ve onlar tarafından onaylanmamıştır. Kullanım koşulları operatörün sorumluluğundadır: Amaç ve kullanım izinleri.

Başlayın: Aşağıdaki yapılandırmayı MCP istemcinize ekleyin.

Türkiye'de ürün, şube fiyatı ve sepet karşılaştırması için MCP sunucusu. Node.js 22+ gerekir. Normal kullanım gerçek fiyat sorguları için live modudur; offline geliştirme ve test içindir. Aşağıdaki örnek, önceki sürümlerde de çalışması için modu açıkça seçer.

1. İstemciye ekleyin

Şube keşfi: Ürün aramaları şube ID'si ister; yakındaki şubeleri bulan tool deneysel erişim gerektirir. Bu ayar yakın şube, market listesi, adres/koordinat arama, toplu ürün güncelleme ve alternatif ürün tool'larını açar. Bu yüzden örnek "MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true" içerir. Ayarın varsayılanı false olarak kalır; şube ID'lerinizi zaten biliyorsanız bu satırı silebilirsiniz.

{
  "mcpServers": {
    "market-fiyati": {
      "command": "npx",
      "args": ["-y", "market-fiyati-mcp@2.0.1"],
      "env": {
        "MARKET_FIYATI_MODE": "live",
        "MARKET_FIYATI_LATITUDE": "41.025591",
        "MARKET_FIYATI_LONGITUDE": "28.974075",
        "MARKET_FIYATI_DISTANCE": "4",
        "MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true"
      }
    }
  }
}

Örnek: Galata Kulesi — 41.025591, 28.974075. distance=4, merkezden 4 km yarıçap demektir (8 km çap).

Sayı tipi: Tool girdisindeki koordinat ve yarıçap tırnaksız JSON sayısıdır. Yalnız env değerleri ortam değişkeni olduğu için tırnaklıdır; sunucu bunları sayıya çevirir.

market_find_nearby_depots için aynı örnek, tırnaksız sayılarla:

{ "latitude": 41.025591, "longitude": 28.974075, "distance": 4 }

Yapılandırma dosyası nerede?

Yukarıdaki market-fiyati girdisini istemcinizin dosyasına ekleyin ve istemciyi yeniden başlatın.

İstemciDosyaNot
Claude DesktopmacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
mcpServers anahtarı
Claude CodeProje: .mcp.json · Komut: claude mcp add · Kullanıcı geneli: claude mcp add-json -s usermcpServers anahtarı
CursorGenel: ~/.cursor/mcp.json · Proje: .cursor/mcp.jsonmcpServers anahtarı
VS CodeProje: .vscode/mcp.jsonÜst anahtar servers; girdiye "type": "stdio" ekleyin
Codex~/.codex/config.tomlTOML: [mcp_servers.market-fiyati] ve .env tablosu

Kendi konumunuz için koordinatları değiştirin. Kişisel konumunuzu özel istemci ayarında tutun; Git'e eklemeyin.

Env konumu 1.0.6'dan beri desteklenir (yarıçap geçişi). Paket kurulamıyorsa kaynak koddan çalıştırın. npx paketi indirir; bulunamazsa mutlak yolunu kullanın. Hazır Galata yapılandırması.

2. Bağlantıyı doğrulayın

Sunucuyu yeniden başlatıp AI'ya şunu yazın:

market_status çağır. Modu ve konum ayarının hazır olup olmadığını göster.

Beklenen: data.mode=live, data.liveRequestsEnabled=true, data.locationDefaults.configured=true. Status yalnız ayarları kontrol eder; gerçek fiyat için sonraki adımdaki aramayı yapın.

3. Fiyat sorgulayın

AI'ya istediğiniz ürünü ve marketleri söyleyin. Konum ayarı hazırsa tekrar vermeniz gerekmez. Şubeler bilinmiyorsa yukarıda açtığınız deneysel erişimle market_find_nearby_depots bir kez çağrılır; ürün aramasında dönen şube ID'leri kullanılır. Adımlar: Gerçek fiyatlarla sorgulama.

Örnek istekler

Yakınımdaki şubelerde 1 litre yarım yağlı sütün en ucuz fiyatı ne?

3 kg yoğurdu fiyata göre sırala; tam eşleşmeleri ve alternatifleri ayrı göster.

500 g beyaz peynirin fiyatını şubeler arasında karşılaştır ve harita linklerini ver.

1 kg patates, 2 L süt ve 10'lu yumurtadan oluşan sepeti şube bazında karşılaştır.

1 kg toz şekerin fiyat geçmişini özetle.

Ürün adlarını ve paket boyutlarını açık yazın. "Sadece tam eşleşme" gibi kesin şartları belirtin; aksi hâlde AI benzer ürünleri ayrı başlıkta açıklayarak önerebilir.

Konum nasıl çalışır?

DurumKural
Env kullanıyorumÜç değeri birlikte ayarlayın; AI her sorguda tekrar sormaz.
Env kullanmıyorumÜçünü de kaldırın; enlem, boylam ve yarıçapı her konumlu çağrıda sağlayın.
Başka konum arıyorumEnlem/boylamı birlikte verin. Distance yoksa env yarıçapı kullanılır.
Eksik veya geçersiz değerEnv hatalıysa sunucu başlamaz; çağrı hatalıysa o çağrı reddedilir. Varsayılan yarıçap yoktur.
Ayarı değiştirdimEnv için yeniden başlatın. Çağrıdaki değişiklik yalnız o çağrıya aittir.

Şubeler (depots) ürün çağrısında ayrıca gerekir; MCP bunları saklamaz. Aynı süreç env konumunu paylaşır; farklı kullanıcılar ayrı süreç veya açık çağrı değerleri kullanmalıdır. Tüm konum kuralları ve sınırlar.

Yapabilecekleriniz

AmaçTool
Ürün aramarket_search_products
Şube fiyatlarını karşılaştırmarket_compare_product_offers
Sepet karşılaştırmarket_compare_basket
Fiyat geçmişini incelemarket_get_price_history
Çağrı akışını öğrenmarket://guide

15 tool · 3 resource · 3 prompt. Satın alma, sipariş ve barkod sorgusu desteklenmez.

Sonuçları doğru okuyun

  • Fiyatlar TRY. percentage indirim oranı değildir; API'nin discount işaretine bakın.
  • Eksik offer bilinmiyor demektir; “stok yok” veya “tüm fiyatlar tarandı” denemez.
  • Eksik sepette total=null; subtotal yalnız bulunan ürünlerdir.
  • Fiziksel şube karşılaştırması için groupBy=depot kullanın; zincir tek bir şube değildir.
  • Sepet en fazla 5 ürün alır; bütçe retry dâhil 5 HTTP denemesidir. Retry açıksa ürün sınırı düşer (market_status içindeki limits.basketItems). Listeyi bölerek veya tool değiştirerek aşmayın.

Sorun giderme

Hata veya belirtiNeden ve çözüm
NETWORK_DISABLEDİstemci ayarında MARKET_FIYATI_MODE=offline vardır veya 1.0.7 ya da daha eski bir sürüm kuruludur. Değeri live yapıp sunucuyu yeniden başlatın. Değişkeni silmek yalnız 1.0.8 ve sonrasında yeterlidir. Ağsız geliştirme ortamında offline kalmalıdır.
EXPERIMENTAL_DISABLEDYakın şube, adres arama gibi deneysel tool'lar kapalıdır. Ayara "MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true" ekleyip yeniden başlatın veya şube ID'lerini kendiniz verin.
OUTPUT_TOO_LARGEYanıt yerel boyut sınırını aştı; kısmi veri dönmez. Aynı sorguyu tekrarlamayın: sayfa boyutunu (size), şube veya sepet ürünü sayısını azaltın.
sh: market-fiyati-mcp: command not found / Claude Code Connection closedİstemci, package.json dosyası sabitlenen sürümle aynı market-fiyati-mcp olan bir klasörde (bu repo'nun checkout'u) başlatılmıştır; npx yayımlanmış paket yerine yerel projeyi çözer. args listesinde -y'den önce "--prefix", "<klasör>" ekleyin. <klasör>, market-fiyati-mcp package.json'u olmayan bir klasörün mutlak yoludur (ör. ev dizininiz).
Claude Code büyük sonucu dosyaya taşıyorYanıt boyutu ürün ve şube sayısıyla büyür. 2026-10-07 tarihli live oturumda 25 ürün × 25 şubelik aramalar istemcinin çıktı sınırını aştı, 15 ürün × 25 şube altında kaldı. Daha az şube veya daha küçük size kullanın ya da istemci ortamında MAX_MCP_OUTPUT_TOKENS değerini yükseltin.
Sunucu listede görünmüyor (Windows)Claude Desktop MSIX paketiyle kurulduysa (Microsoft Store, WinGet veya resmî kurucu) uygulamanın dosyayı %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json yolundan okuduğu bildiriliyor. Settings > Developer > "Edit Config" ise %APPDATA% altındaki dosyayı açabilir. %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc klasörü varsa mcpServers girdisini bu dosyaya ekleyin ve uygulamayı tamamen kapatıp açın; klasör yoksa bu satır sizin için geçerli değildir. Bu yol resmî belgede yer almaz.

Diğer hata kodları: API.

Kaynak koddan geliştirme

Depoyu klonlayıp çalıştırın:

npm ci --ignore-scripts
MARKET_FIYATI_MODE=offline npm run check

check derlemeyi de yapar. İstemcide command: "node", args içinde dist/src/index.js dosyasının mutlak yolunu kullanın. Geliştirirken istemci env ayarını açıkça MARKET_FIYATI_MODE=offline yapın; testlerin ağ engeli de korunur. Gerekirse node yolunu da mutlak yazın.

Sunucu stdio JSON-RPC kullanır; HTTP portu açmaz. Geliştirmede MARKET_FIYATI_MODE=offline npm start MCP mesajlarını bekler. Mod ayarı olmadan başlangıç live seçer; yalnız başlatmak HTTP isteği göndermez. stdout yalnız MCP trafiğidir. npm kurulumu ağ kullanabilir; uygulama testleri API'ye bağlanmaz.

Ayrıntı gerektiğinde

İhtiyaçBelge
Gerçek fiyatları sorgulaGerçek fiyatlarla sorgulama
Tool, filtre ve yanıt kurallarıAPI
Ayarlar ve kod yapısıMimari
Testler ve sınırlarıDoğrulama · Sentetik kabul
Sürüm çıkarmaYayın rehberi · CHANGELOG

Amaç ve kullanım izinleri

Bu proje, ticari kazanç veya başka bir çıkar gözetilmeden geliştirilmiş bağımsız bir çalışmadır. Market Fiyatı'nın, TÜBİTAK'ın veya market zincirlerinin resmî ürünü değildir. Herhangi bir onay, sponsorluk veya ortaklık iddiası yoktur.

Market Fiyatı kullanım koşullarını değerlendirmek ve kullanımına uygun izinleri sağlamak operatörün sorumluluğundadır. Bu depo üçüncü taraf servislerine erişim izni vermez; live ayarı yalnız teknik erişimi belirler.

Güvenlik açığı bildirmek için özel bildirim yönergesini kullanın.

Lisans

MIT — Copyright (c) 2026 Gökhan Çavuş.

Lisans yalnızca yazılımı ve beraberindeki belgeleri kapsar. Üçüncü tarafların verilerine, markalarına, logolarına veya servislerine erişim hakkı vermez. Yukarıdaki amaç beyanı MIT lisansını değiştirmez ve koda ticari kullanım yasağı eklemez. Üçüncü taraf bileşenler kendi lisanslarına tabidir.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y market-fiyati-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-gokhancvs-market-fiyati-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "market-fiyati-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

market-fiyati-mcpnpm

Compatible MCP Clients

io.github.gokhancvs/market-fiyati-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More