mcpField
M
market-fiyati-mcp

market-fiyati-mcp

Local
github.com/gokhancvsBusiness & Marketing0Updated 4d ago

About market-fiyati-mcp

market-fiyati-mcp is an unofficial stdio MCP server for Turkish grocery prices, letting users search products and compare store offers, baskets, and price history. It supports live price queries and an offline mode for development.

Key features

  1. 01Search grocery products
  2. 02Compare store product offers
  3. 03Compare baskets of up to five products
  4. 04Retrieve price history
  5. 05Find nearby stores and alternatives

Use cases

  1. 01Compare milk prices at nearby stores
  2. 02Compare a basket across store branches
  3. 03Review a product’s price history
  4. 04Find similar product alternatives

MCP support

It exposes 15 tools, 3 resources, and 3 prompts to MCP clients over stdio JSON-RPC. Tools cover product searches, branch offers, baskets, and price history; some nearby-branch discovery tools require an experimental setting.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"gokhancvs-market-fiyati": {
"command": "npx",
"args": [
"-y",
"market-fiyati-mcp"
],
"env": {
"MARKET_FIYATI_MODE": "<MARKET_FIYATI_MODE>",
"MARKET_FIYATI_ENABLE_EXPERIMENTAL": "<MARKET_FIYATI_ENABLE_EXPERIMENTAL>",
"MARKET_FIYATI_LATITUDE": "<MARKET_FIYATI_LATITUDE>",
"MARKET_FIYATI_LONGITUDE": "<MARKET_FIYATI_LONGITUDE>",
"MARKET_FIYATI_DISTANCE": "<MARKET_FIYATI_DISTANCE>"
}
}
}
}
Run commandnpx -y market-fiyati-mcp
Environment variables to set
MARKET_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_LATITUDESecretDefault latitude (-90..90). Optional as a group with LONGITUDE and DISTANCE; calls may override the coordinate pair.
MARKET_FIYATI_LONGITUDESecretDefault 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.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmarket-fiyati-mcp2.0.2

Tools

15

Saved tool list · updated 4d ago

This tool takes no parameters.

Details

From the project README

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", "[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"
      }
    }
  }
}

Ö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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.