# Teknik Tarifler

Canonical source: https://maguyva.ai/tr/docs/cookbook

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Günlük Maguyva MCP işleri için pratik tarifler. Her tarif araçları ve sıralamayı verir; eksiksiz bir parametre başvurusu değildir. Araç parametreleri için [MCP API Başvurusu](https://maguyva.ai/docs/mcp-api), ilk kurulum için [Hızlı Başlangıç](https://maguyva.ai/docs/quickstart) bağlantısını kullanın.

### Doğru aracı seçin

Çoğu soru tek bir çağrıyla başlar. Yalnızca ilk yanıt fazla geniş veya yetersizse daha ayrıntılı bir araca geçin.

- `intelligent_search` — kod tabanı hakkında doğal dille sorulan bir soru için buradan başlayın. Varsayılan auto/balanced, tanım aradığı yüksek güvenle belirlenen sorguları yapısal aramaya, referans veya etki sorgularını grafa, tam eşleşme sorgularını ise metin aramasına yönlendirir. Diğer sorgular anlamsal anlamı ve dizinlenmiş metni kullanır. Dört arama yönteminin tümünü istemek için mode=hybrid veya quality=thorough ile auto kullanın; açıkça belirtilen mod, quality ayarından önce gelir.
- `find_symbol` — işlev, sınıf veya değişken adını zaten biliyorsanız kullanın.
- `dependency_search` — düzenlemeden önce ve sonra etki yarıçapını görmek için çağıranları, bağımlıları ve değişiklik etkisini bulun.
- `get_task_context` — tanımadığınız bir alan için görev açıklamasına bağlı, boyutu sınırlı tek bir dosya, sembol ve bağımlılık paketi alın.
- `repository_context` — erişilebilir repoları listeleyin veya bir repo adının nasıl çözümlendiğini inceleyin.
- `operation="guidance"` ile `ask_maguyva` — araç seçimi ve Maguyva kullanımı için yerel yardım alın; repoda değişiklik yapmaz.

JSON blokları, MCP tools/call girdileridir. owner/repo, dal ve sembol adlarını kendi reponuzdaki değerlerle değiştirin.

### İstemciyi kurun ve doğrulayın

Maguyva'yı MCP istemcinize ekleyin ve gerçek repo listesiyle bağlantıyı doğrulayın.

1. [app.maguyva.ai](https://app.maguyva.ai) içinde bir API anahtarı oluşturun (anahtarlar `mgv_` ile başlar).
2. İyi bildiğiniz en az bir GitHub reposunu bağlayıp dizinleyin.
3. İstemcinizi [Kurulum Kılavuzu](https://maguyva.ai/docs/installation) ile yapılandırın (Claude Code eklentisi veya Cursor, VS Code, Devin Desktop, Zed ve diğerleri için doğrudan uzak sunucu bağlantısı ayarı).
4. Ajanınıza "Hangi repoları bağladım?" diye sorun; bu, kimlik doğrulamayı ve `repository_context` aracını uçtan uca sınar.
5. Yanıtını değerlendirebileceğiniz gerçek bir repo sorusu sorun. Dizinlenmiş ağaçtan dosya yolları ve satır numaraları görmelisiniz.

```json
{
  "name": "repository_context",
  "arguments": {
    "action": "list"
  }
}
```

Anahtarlar, köprüler veya eksik repolarda mı takıldınız? [Sorun Giderme](https://maguyva.ai/docs/troubleshooting).

### Düzenlemeden önce sorun

Paylaşılan kodu değiştirmeden önce symbol haritasını ve etki yarıçapını çıkarın. Maguyva araçları repolarınızı değiştirmez; istemcinizin yerelde uygulayacağı düzenlemeyi kanıtla besler.

1. Symbol adını biliyorsanız tanımları ve kullanımları bulmak için `find_symbol` aracını çağırın.
2. Yalnızca görev açıklamanız varsa ("SSO ekle", "faturalandırma webhook’unu düzelt"), `get_task_context` veya `intelligent_search` ile başlayın.
3. Paylaşılan bir symbol üzerinde değişiklik yapmadan önce, bağımlı/etki analiziyle `dependency_search` aracını çağırın (PR tarzı etki için değişen yolları da iletebilirsiniz); böylece etki yarıçapını görürsünüz.
4. Atıf yapılan dosyaları açın (diskteki dosyalar için yerel okuma, uzak veya çapraz repo yolları için `get_file`) ve planı gerçek kodla doğrulayın.
5. Düzenlemeden sonra aynı sembolleri `dependency_search` ile verify_after_edit=true ve targets veya changed_paths kullanarak yeniden denetleyin. Bu işlem commit edilmemiş yerel değişiklikleri değil, dizine alınmış grafı okur: sonucu yeni revizyon için kanıt saymadan önce indexed_commit_sha değerini ve dizinin güncelliğini kontrol edin, ayrıca yerel testleri çalıştırın.

```json
{
  "name": "dependency_search",
  "arguments": {
    "repository": "owner/repo",
    "target": "getCurrentUser",
    "exact_match": true,
    "analysis_type": "impact",
    "depth": "shallow",
    "include_metrics": true,
    "limit": 10
  }
}
```

Tüm parametreler: [MCP API Başvurusu](https://maguyva.ai/docs/mcp-api).

### Arayın, sonra değiştirin

Varsayılan ajan döngüsü: keşfet → symbol’leri sabitle → kanıta dayanarak düzenle.

1. `intelligent_search` ve doğal dilli bir sorguyla başlayın ("oturum süresi nasıl doluyor", "yeniden deneme mantığı nerede").
2. İlk sonuç penceresinde çok sayıda ilgisiz sonuç varsa dil veya yol filtreleriyle daraltın. language_filter, grafı auto/hybrid kapsamından çıkarır; yalnızca grafa yönlendirilmiş bir auto sorgusu anlamsal aramaya ve metin aramasına döner. Açıkça belirtilmiş graf modu ile language_filter birlikte kullanılırsa istek reddedilir. Seçilen arama planını görmek için routing_decision.modalities_used alanını inceleyin; warnings yalnızca sunucu bir uyarı ürettiğinde bulunur.
3. Aynı belirsiz soruyu tekrar sormak yerine umut veren sonuçları `find_symbol` veya `dependency_search` ile derinleştirin.
4. `get_file` aracını yalnızca diskte bulunmayan belirli bir dizinlenmiş yola ihtiyacınız olduğunda kullanın.
5. Düzenlemeyi normal istemci araçlarınızda yapın. Maguyva keşif ve doğrulama içindir; yazma aracı değildir.

```json
{
  "name": "intelligent_search",
  "arguments": {
    "repository": "owner/repo",
    "query": "How does session expiry work?",
    "limit": 5
  }
}
```

Bu döngünün neden çalıştığı: [Nasıl Çalışır](https://maguyva.ai/docs/how-it-works).

### Boş veya yetersiz sonuçlar

Araçlar işe yarar sonuç vermiyorsa sorguyu sonsuza dek yeniden yazmadan önce repo çözümleme ve dizinleme sorunlarını giderin.

1. Reponun [app.maguyva.ai](https://app.maguyva.ai) içinde bağlı olduğunu ve dizinlemenin tamamlandığını doğrulayın.
2. Repo dizesini kontrol edin: `"owner/repo"` varsayılan dalı kullanır; `"owner/repo:branch"` belirli bir dalı sabitler. Eşleştirme büyük/küçük harfe duyarsızdır ama fuzzy değildir; yazım hataları otomatik düzeltilmez.
3. `repository_context` aracını `action="info"` ile çağırın ve çözümleme meta verilerini (örneğin `metadata.resolution_reason`) inceleyin.
4. `repository` değerini yalnızca MCP istemciniz istek varsayılanı sağlıyorsa veya anahtar tam olarak bir repoya erişebiliyorsa atlayın; aksi hâlde açıkça iletin.
5. Daha belirgin bir sorguyla, `find_symbol` üzerinden bilinen bir symbol adıyla veya dil/yol filtresiyle yeniden deneyin. Bağlantı bozuksa [Sorun Giderme](https://maguyva.ai/docs/troubleshooting) bağlantısını kullanın.

```json
{
  "name": "repository_context",
  "arguments": {
    "action": "info",
    "repository": "owner/repo:main"
  }
}
```

Kurulum sorunları: [Sorun Giderme](https://maguyva.ai/docs/troubleshooting).

### Birden çok repoda çalışın

Bir anahtar birden fazla repoyu görebildiğinde doğru dizinlenmiş repoyu hedefleyin.

1. Anahtarınızın arayabildiği tam slug’ları öğrenmek için `repository_context` aracını `action="list"` ile bir kez çağırın.
2. Varsayılan olmayan bir repoya ihtiyacınızda `repository` değerini arama ve symbol araçlarına açıkça iletin (örneğin `"owner/other-repo"` veya `"owner/other-repo:develop"`).
3. Ayrı çağrılarda repoları özellikle karşılaştırmıyorsanız bir soru = bir repo kuralını koruyun.
4. Dosya, geçerli çalışma ağacınız olmayan dizinlenmiş bir repodaysa `get_file` aracını kullanın.
5. Unutmayın: araçlar GitHub’a geri yazmaz; çoklu repo bağlamı yalnızca okuma ve planlama içindir.

Repo biçimi ayrıntıları: [MCP API Başvurusu](https://maguyva.ai/docs/mcp-api).

İlk kez mi kuruyorsunuz? [Hızlı Başlangıç](https://maguyva.ai/docs/quickstart) ile başlayın, sonra günlük işler için bu tarifleri kullanın.
