Agent’ınız kodun nerede olduğunu tahmin etmeyi bıraksın.
Next.js projenizi bir kez okur, kodunuzun zaten uyduğu kuralları öğrenir ve “bu işi hangi dosya sahipleniyor” sorusunu tek çağrıda yanıtlar — altı grep ve her prompt’ta yüklenen 11.000 token’lık talimat dosyası yerine.
{
"mcpServers": {
"nextjs-mcp-architecture": {
"command": "npx",
"args": ["-y", "nextjs-mcp-architecture@latest"]
}
}
}cwd, ortam değişkeni yokSüresiz ücretsiz paketNode 20+
- 0 ms
- soğuk indeks, 2.100 dosya
- 0 ms
- sıcak başlangıç
- 0.0 ms
- arama sorgusu
- 0
- kurulan paket
Tek bir dosyayı bulmak 16.372 token tutuyor. 293 tutmalı.
Bir geliştiricinin gerçekten yazacağı sekiz prompt, dub üzerinde çalıştırıldı — herkesin klonlayabileceği, 3.593 dosyalık açık kaynak bir Next.js ürünü. Bir kez bugün bir agent’ın aradığı gibi, bir kez bu sunucu üzerinden. Aynı depo, aynı görevler, aynı puanlama.
- 16.372
- arayarak bulmanın token maliyeti
- 293
- ücretsiz pakette token
- 56×
- görev başına daha az context
- 6/8
- Ücretsiz pakette doğru dosya — arama 8’de 6 buldu
Görevi yaz…
⏎- glob *button*+755
- grep "upgrade plan button" + "billing upgrade"eşleşme yok
- kelimeleri tek tek grep (cümle bulunamadı)+25.496
- 3 dosya okundu+8.921
- resolve_task_context+294
Görevler ölçümde İngilizce yazıldı — kod tabanı İngilizce. Burada okunabilirlik için çevrildi; rakamlar ölçülen koşunun kendisi.
| Geliştirici ne sordu | Arama | Ücretsiz | Pro |
|---|---|---|---|
| Kısa bağlantıyı kopyalayan butonu nereden değiştiriyorum? | 3.120 | 307 | 240 |
| QR kod penceresinin yanlış boyutta indirdiği hatayı düzelt | 21.197 | 267 | 224 |
| Sekme değiştirince analiz tarih aralığı seçimi sıfırlanıyor | 30.706 | 287 | 241 |
| Bağlantılar tablosuna bir sütun ekle | 27.782 | 313 | 248 |
| Özel alan adı doğrulama akışı nerede uygulanmış? | 4.156 | 286 | 234 |
| Faturalandırma sayfasındaki paket yükseltme butonu hiçbir şey yapmıyor | 35.172 | 294 | 241 |
| Bir etiketin alabileceği renkleri nereden düzenliyorum? | 4.621 | 301 | 240 |
| Ekip davet formu, e-posta zaten davet edilmişken hata göstermiyor | 4.221 | 286 | 230 |
Görevler ölçümde İngilizce yazıldı — kod tabanı İngilizce. Burada okunabilirlik için çevrildi; rakamlar ölçülen koşunun kendisi.
“Faturalandırma sayfasındaki paket yükseltme butonu hiçbir şey yapmıyor”
- glob *button*755
- grep "upgrade plan button" + "billing upgrade"0
- kelimeleri tek tek grep (cümle bulunamadı)25.496
- 3 dosya okundu8.921
- resolve_task_context294
Geliştiricinin kendi cümlesiyle arama hiçbir şey döndürmüyor — insanlar davranışı tarif eder, kod ise şeylere isim verir. Bunun üzerine agent kelimeleri tek tek aramaya düşüyor ve bunun gibi sıradan kelimeler kod tabanının büyük bir bölümüyle eşleşiyor. Context işte bu geri düşüşte harcanıyor.
ölçülen projede 3.593 kaynak dosya
Her dosya, her pakette adı ve yolu ile indekste bulunur — indeksin hiç duymadığı bir dosya hiçbir fiyata döndürülemez, dolayısıyla ücretli paketlerin sattığı şey bu değildir.
Paketin yükselttiği şey kaç dosyanın içinin okunduğudur: ücretsiz paket bunlardan 1.500’ünü, ağacın tamamına yayarak okur ve bunu cevabında açıkça söyler. Bu projede fark 8 görevde bir görev ediyor — ücretsiz 6, Pro 7 buluyor — ve Pro, dosyanın yalnızca adını bilmek yerine içini okuduğu için 293 yerine 237 token’da yanıtlıyor.
Günde 12 agent görevi, yirmi bir iş günü
Yalnızca keşif. Model fiyatları değişir ve sizinki farklı olabilir — ölçüm token sayılarıdır; dolar tutarı ise o ölçümün çalıştığı gün Claude Opus 5 girdi fiyatıyla (milyon token başına $5.00) okunmuş hâlidir. Büyük bir talimat dosyası olan proje bunu her prompt’ta üstüne öder.
Karşılaştırma tarafı nasıl kuruldu. İstekteki isimlerle glob, geliştiricinin kendi cümlesiyle grep, cümle tutmadığında kelimeleri tek tek grep, sonra en umut verici üç dosyayı oku — her adım gerçekten çalıştırıldı ve gerçek çıktısı ölçüldü; adaylar da bir insanın neyi açacağına karar verdiği gibi sıralandı. Bir karşılaştırma ancak karşı tarafa en iyi şansı verildiyse yayımlanmaya değer; bu yüzden isabet burada berabere: her iki tarafta da 8 görevin 6 tanesi, üstelik kısmen farklı görevlerde. Değişen şey sormanın maliyeti.
Ölçülen şey, soruyu yanıtlamak için gereken context — herhangi bir agent’ın herhangi bir gün harcadığı miktar değil; o tekrarlanabilir olmazdı. Tüm yöntem, her görev ve çekinceler — ya da kendi projenizde npm run benchmark komutunu çalıştırın.
Öğrendiği her şey, tek bir yerel sayfada.
Pano sizin makinenizde çalışır ve agent’ınızın sorguladığı indeksin aynısını okur. Yukarıdaki grafik, canlı çalışan o görüntüleyicinin kendisi.
Aşağıdaki proje uydurma, raporladığı her şey de öyle — gerçek bir müşterinin modül adlarını ve bağımlılıklarını yayımlamak bize düşmez. Alacağınız bulgulara benzesin diye orta ölçekli bir ticaret uygulaması gibi şekillendirildi.
- errorsrc/components/PriceTag.tsx:14
process.env.STRIPE_SECRET_KEY tarayıcıda tanımsız. İstemci koduna yalnızca NEXT_PUBLIC_* değişkenleri ulaşır.
- warningsrc/app/account/OrderList.tsx:22
useState için 'use client' gerekiyor. Bu dosyayı import eden hiçbir dosya direktifi tanımlamıyor, dolayısıyla bir Server Component gibi görünüyor.
- uygulananpage ve layout dosyalarının %97’si (61 dosya) server component.istisna: src/app/blog/preview/page.tsx
- uygulananhook dosyalarının %94’ü (49 dosya) use* olarak adlandırılmış.istisna: src/hooks/cartStore.ts
- gözlenenBileşen dosyalarının %71’i (218 dosya) PascalCase, Button.tsx gibi.
- 89% benzersrc/app/shop/_components/ProductFilterBar.tsxsrc/app/admin/_components/CatalogFilterBar.tsx
Sizin projenizi öğrenir. Bizimkini dayatmaz.
Genel amaçlı linter’lar başkasının kurallarını taşır ve hiç görmedikleri bir kod tabanı hakkında aşağı yukarı tesadüf kadar sık haklı çıkar. Bir kuralı söylemeye değer kılan şey, kendi deponuzdan gelen kanıttır — üstelik doğrulayabilmeniz için sayısı da yanında.
Projeyi bulur
Sırayla dokuz sinyal, her biri gerçek bir Next.js uygulaması kanıtına karşı puanlanır. Monorepo’lar doğru uygulamaya çözülür; next’i peer olarak listeleyen bir UI kütüphanesi ise doğru şekilde uygulama sayılmaz.
Bir kez okur
Alan ağırlıklı BM25 ile saf TypeScript indeks — native bağımlılık yok, yani npx bir derleme adımında patlayamaz. Ayrıca alan sözlüğünüzü kendi çeviri dosyalarınızdan öğrenir; “invoice” aramasının fin/ar adlı bir modülü bulması bu sayede olur.
Yalnızca kanıtlayabildiğini söyler
Kurallar Wilson güven sınırına tabidir. Framework doğruluk kuralları ise her zaman geçerlidir, çünkü onlar sizin tarzınız hakkında görüş değil Next.js hakkında olgulardır.
Bir bulgu şöyle görünür
Bu projedeki hook dosyalarının %94’ü (50’de 47) şu adlandırmayı kullanıyor: use*.ts ve şurada duruyor: src/hooks. src/utils/fetchUser.ts bir hook tanımlıyor ve bu desenden sapıyor. Uyumlu örnek: src/hooks/useOrders.ts
Sayı, iddiayı doğrulanabilir kılar. Uyumlu örnek ise agent’ın kuralla tartışmak yerine deseni kopyalamasını sağlar.
Tek bir gezinti, ve projeyi tanıyor.
Kodun çalıştırdığı sırayla altı adım — rakamlar, ölçülen projenin soğuk indeksinden gerçekten çıkanlar. Burada hiçbir şey arka planda çalışmıyor ve makinenizden hiçbir şey çıkmıyor.
npx paketi indiriyor
Hangi projeye baktığını çözüyor
9 sinyal, gerçek bir Next.js uygulaması kanıtına karşı puanlanır
- agent yapılandırması0
- çalışma dizini0
- npm ön eki0
- andığınız yol0
Ağacı bir kez dolaşıyor
Bulduğunu okuyup ağırlıklandırıyor
Bu projenin ne yaptığını öğreniyor
Hazır
- 697 ms
- soğuk kurulum
- 83 ms
- sonraki her başlangıç
- 0,22 ms
- sorgu başına
Hepsi yerelde. Makineden hiçbir şey çıkmadı.
Agent’ınıza artık aramasına gerek olmadığını söyleyin.
Sunucuyu kurmak bir agent’ın alışkanlıklarını değiştirmez. grep yapmayı zaten bilen bir agent, talimatları ona daha iyi bir yol olduğunu söylemedikçe grep yapmaya devam eder — keşif maliyetini bir kez ödemekle her prompt’ta ödemek arasındaki fark budur.
## Kodu bulma
Herhangi bir şey okumadan ya da aramadan **önce** `resolve_task_context` aracını
görevi sade bir dille yazarak çağır. Görevi sahiplenen dosyaları, onlara uygulanan
kuralları ve değişikliği doğrulayan komutu döndürür.
- Bir özelliği bulmak için glob ya da grep kullanma. Bu sunucunun ortadan
kaldırmak için var olduğu maliyet tam olarak budur.
- Bir şeyin nerede tanımlandığını bulmak için dosya açmak yerine
`find_symbol` kullan.
- URL ile adreslenen her şey için `get_route_context` kullan.
- İşi bitirdim demeden önce değiştirdiğin dosyalarda `check_conventions` çağır.
grep'e yalnızca bir aracın cevabında indeksin kısmi olduğunu söyleyen
`degradations` alanı varsa ya da dosyayı zaten kesin olarak biliyorsan dön.Bunu kurulum bloğunun yanına yapıştırın; yukarıdaki benchmark o zaman gerçekten aldığınız davranış olur.
Bilerek kısa: bu dosyalar her prompt’ta yüklenir, dolayısıyla buraya konacak bir sayfa dolusu metin sunucunun kazandırdığından fazlasını harcardı.
AGENTS.md, CLAUDE.md ya da .github/copilot-instructions.md dosyanıza koyun.
Tüm dokümantasyonu okuyun →Kendi rakamlarınızı girin.
Kaydırıcılar benchmark’ın çıktığı yerden başlıyor. Kendi projenize göre oynatın — sonuç bir tahmindir ve öyle etiketlenmiştir.
3.593 dosyalık bir projede ölçüldü, sizinkine uygulandı — yani bu, kod tabanınız için bir tahmindir, ölçüm değil. Talimat dosyası burada tam olarak sayılıyor; pratikte prompt cache bunun bir kısmını geri kazandırır.
Ücretsiz paket tek başına gerçekten işe yarıyor.
Ödediğiniz şey dosya bulmak değil, mimariyi ölçmek ve yönetmek. Tek istediğiniz tahmin etmeyi bırakan bir agent’sa Ücretsiz pakette kalın.
Ücretsiz
Agent’ın tahmin etmeyi bırakması için gereken her şey.
- Sıfır konfigürasyonla proje tanıma
- Kanıtıyla birlikte öğrenilmiş kurallar
- Dokuz keşif ve doğrulama aracı
- Next.js doğruluk denetimleri
- Her dosya indekslenir, 1.500’ü baştan sona okunur
Basic
En çok seçilenya da yılda $50
Mimariyi sorgulamakla kalmayın, görün.
- Ücretsiz paketteki her şey
- Yerel bağımlılık panosu
- Markdown ve HTML raporlar
- 15.000 dosya baştan sona okunur
- Kurallar yalnızca gözlenmez, uygulanır
Pro
ya da yılda $100
Ölçün ve yönetin.
- Basic paketteki her şey
- Ortak kodu değiştirmeden önce etki analizi
- Bağımlılık döngüsü ve bağlılık denetimi
- Neredeyse birebir kopya tespiti
- Okuma tavanı yok, CI kullanımı dahil
Kurmadan önce, cevaplar.
Agent’ımı yavaşlatır mı?+
Sıcak başlangıç 53 ms, bir sorgu ise milisaniyenin küçük bir kesri. İndeksleme MCP el sıkışması sırasında hiç çalışmaz — ihtiyaç duyan ilk araç çağrısında olur, böylece büyük bir proje istemcinizin açılışını kilitleyemez. Sonrasında indeks artımlıdır: yalnızca stat yapan bir yürüyüş hiçbir şeyin değişmediğine karar verir ve sadece mtime, boyut ve içerik hash’i birlikte değişen dosyalar yeniden okunur.
İlk indeksleme ne kadar sürüyor, ne kadar yer kaplıyor?+
3.593 dosyalık bir projede ölçüldü: soğuk başlangıç yaklaşık 1,4 saniye, tamamı okunduğunda diskte 3,3 MB. 2.100 dosyalık bir proje 412 ms’de indeksleniyor. Arka planda çalışan bir servis yok — iş, bir araç istediğinde yapılır ve biter.
İndeksi nerede saklıyor?+
Deponuzda değil, işletim sisteminizin önbellek dizininde: macOS’ta ~/Library/Caches/nextjs-mcp-architecture, Windows’ta %LOCALAPPDATA%\nextjs-mcp-architecture, Linux’ta $XDG_CACHE_HOME/nextjs-mcp-architecture (genelde ~/.cache). Her proje, mutlak yolunun hash’iyle adlandırılmış bir alt dizin alır; böylece aynı makinedeki iki proje birbirinin indeksini okuyamaz ve hiçbir şey git status’unuzda ya da Docker build bağlamınızda görünmez. O dizini silmek güvenlidir; bir sonraki araç çağrısı yeniden oluşturur.
Arkasını topluyor mu?+
Evet. 30 gündür açmadığınız projelerin önbellek dizinleri silinir, en yeni 50 tanesi tutulur. Temizlik, ilk araç çağrısının hemen ardından değil birkaç saniye sonra planlanır; yani beklediğiniz bir cevabın önüne asla geçmez.
Ücretsiz pakette projemin tamamı aranabilir mi?+
Evet. Her dosya, her pakette adı ve yolu ile indekse girer — indeksin hiç duymadığı bir dosya hiçbir fiyata döndürülemez ve ücretli paketlerin sattığı şey bu değildir. Paketin yükselttiği şey kaç dosyanın içinin okunduğudur: ücretsiz pakette 1.500 dosya, ilk bulunanlar değil ağacın tamamına yayılarak seçilir ve her cevap bunu açıkça söyler.
Aboneliğim biterse indeksime ne olur?+
Size ait hiçbir şeye dokunulmaz ve hiçbir şey ortada kalmaz. İndeks deponuzda değil işletim sistemi önbelleğinizde durur, yani kaynak kodunuz hiç işin içinde değildir. Bir sonraki araç çağrısında ücretsiz bütçeyle yeniden kurulur: her dosya adı ve yoluyla bulunabilir kalır, fazla dosya içerikleri düşer ve önbellek dosyası büyümek yerine küçülür — 3.593 dosyalık bir projede 3,3 MB’den 1,7 MB’ye iniyor. Aboneliği yenilemek derin indeksi aynı şekilde geri getirir.
Gerçekten hiç konfigürasyon istemiyor mu?+
cwd yok, ortam değişkeni yok, konfigürasyon dosyası yok. Projeyi dokuz sinyalden sırayla çözer — sizin andığınız bir yol, MCP istemcisinin kökleri, npm’in kendi ön eki, çalışma dizini — ve ilkini almak yerine her birini gerçek bir Next.js uygulaması kanıtına karşı puanlar. Gerçekten ayırt edemediğinde yanlış proje hakkında cevap vermek yerine bunu söyler ve çözümü önerir.
Bende olmayan kuralları dayatır mı?+
Bir kuralı yalnızca kendi kodunuz destekliyorsa söyler: Wilson skoru alt sınırının 0,80’e ulaşması gerekir, bu da kabaca hiç istisnasız 16 uyumlu dosya ya da en fazla bir istisnayla 25 dosya demektir. Daha zayıf desenler gözlem olarak bildirilir ve asla bulgu üretmez. Kural oluşturamayacak kadar yeni bir projeye kural uydurulmaz.
Dışarıya ne gönderiyor?+
Hiçbir şey. İndeksleme, öğrenme ve denetim tamamen yerelde çalışır. Lisans doğrulaması, pakete gömülü bir anahtara karşı çevrimdışı yapılan bir imza kontrolüdür; yani ağ hiç olmadan da çalışır.
Hangi editör ve agent’larla çalışıyor?+
stdio üzerinden MCP konuşan her şeyle: Claude Code, Cursor, VS Code, Windsurf ve Zed. Kurulum bloğu hepsinde birebir aynıdır.
Tek yapıştırma, ve agent’ınız kod tabanını tanıyor.
Süresiz ücretsiz, hesap yok, yapılandırılacak bir şey yok. Mimariyi sorgulamakla kalmayıp görmek isterseniz sonradan ücretli bir paket ekleyin.
npx -y nextjs-mcp-architecture@latest