io.github.gokhancvs/market-fiyati-mcp
Unofficial stdio MCP for Turkish grocery prices, branch offers and basket comparisons.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
market-fiyati-mcpclaude mcp add market-fiyati-mcp -e 'MARKET_FIYATI_MODE=live' -e 'MARKET_FIYATI_ENABLE_EXPERIMENTAL=false' -e 'MARKET_FIYATI_LATITUDE=<your market_fiyati_latitude>' -e 'MARKET_FIYATI_LONGITUDE=<your market_fiyati_longitude>' -e 'MARKET_FIYATI_DISTANCE=<MARKET_FIYATI_DISTANCE>' -- npx -y market-fiyati-mcp@2.0.2
{
"mcpServers": {
"market-fiyati-mcp": {
"command": "npx",
"args": [
"-y",
"market-fiyati-mcp@2.0.2"
],
"env": {
"MARKET_FIYATI_MODE": "live",
"MARKET_FIYATI_ENABLE_EXPERIMENTAL": "false",
"MARKET_FIYATI_LATITUDE": "<your market_fiyati_latitude>",
"MARKET_FIYATI_LONGITUDE": "<your market_fiyati_longitude>",
"MARKET_FIYATI_DISTANCE": "<MARKET_FIYATI_DISTANCE>"
}
}
}
}
Environment variables
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_LATITUDEsecret Default latitude (-90..90). Optional as a group with LONGITUDE and DISTANCE; calls may override the coordinate pair.MARKET_FIYATI_LONGITUDEsecret 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.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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.
| İstemci | Dosya | Not |
|---|---|---|
| Claude Desktop | macOS: ~/Library/Application Support/Claude/claude_desktop_config.json | |
Windows: %APPDATA%\Claude\claude_desktop_config.json | mcpServers anahtarı | |
| Claude Code | Proje: .mcp.json · Komut: claude mcp add · Kullanıcı geneli: claude mcp add-json -s user | mcpServers anahtarı |
| Cursor | Genel: ~/.cursor/mcp.json · Proje: .cursor/mcp.json | mcpServers anahtarı |
| VS Code | Proje: .vscode/mcp.json | Üst anahtar servers; girdiye "type": "stdio" ekleyin |
| Codex | ~/.codex/config.toml | TOML: [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?
| Durum | Kural |
|---|---|
| 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ıyorum | Enlem/boylamı birlikte verin. Distance yoksa env yarıçapı kullanılır. |
| Eksik veya geçersiz değer | Env hatalıysa sunucu başlamaz; çağrı hatalıysa o çağrı reddedilir. Varsayılan yarıçap yoktur. |
| Ayarı değiştirdim | Env 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 ara | market_search_products |
| Şube fiyatlarını karşılaştır | market_compare_product_offers |
| Sepet karşılaştır | market_compare_basket |
| Fiyat geçmişini incele | market_get_price_history |
| Çağrı akışını öğren | market://guide |
15 tool · 3 resource · 3 prompt. Satın alma, sipariş ve barkod sorgusu desteklenmez.
Sonuçları doğru okuyun
- Fiyatlar TRY.
percentageindirim oranı değildir; API'nindiscountişaretine bakın. - Eksik offer bilinmiyor demektir; “stok yok” veya “tüm fiyatlar tarandı” denemez.
- Eksik sepette
total=null;subtotalyalnız bulunan ürünlerdir. - Fiziksel şube karşılaştırması için
groupBy=depotkullanı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_statusiçindekilimits.basketItems). Listeyi bölerek veya tool değiştirerek aşmayın.
Sorun giderme
| Hata veya belirti | Neden 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_DISABLED | Yakı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_LARGE | Yanı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şıyor | Yanı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ı sorgula | Gerç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 çıkarma | Yayı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.
Frequently asked questions
What is io.github.gokhancvs/market-fiyati-mcp?
Unofficial stdio MCP for Turkish grocery prices, branch offers and basket comparisons.
How do I install io.github.gokhancvs/market-fiyati-mcp?
It runs on your machine. In Claude Code: claude mcp add market-fiyati-mcp -e 'MARKET_FIYATI_MODE=live' -e 'MARKET_FIYATI_ENABLE_EXPERIMENTAL=false' -e 'MARKET_FIYATI_LATITUDE=<your market_fiyati_latitude>' -e 'MARKET_FIYATI_LONGITUDE=<your market_fiyati_longitude>' -e 'MARKET_FIYATI_DISTANCE=<MARKET_FIYATI_DISTANCE>' -- npx -y market-fiyati-mcp@2.0.2. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.gokhancvs/market-fiyati-mcp need an API key?
Yes. It expects MARKET_FIYATI_LATITUDE, MARKET_FIYATI_LONGITUDE, which you set in its configuration.
Is io.github.gokhancvs/market-fiyati-mcp open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.gokhancvs/market-fiyati-mcp?
It is published by gokhancvs. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.