Lompat ke konten

Buku Resep

Resep praktis untuk pekerjaan sehari-hari Maguyva MCP. Setiap resep memberi nama alat dan urutannya — bukan referensi parameter lengkap. Untuk parameter alat, gunakan Referensi MCP API. Untuk pengaturan pertama kali, gunakan Mulai cepat.

Blok JSON adalah input MCP tools/call. Ganti owner/repo, nama branch, dan nama simbol dengan nilai dari repositori Anda.

Pilih alat yang tepat

#

Kebanyakan pertanyaan dimulai dengan satu panggilan. Lanjutkan ke pencarian yang lebih mendalam hanya jika jawaban pertama terlalu luas atau informasinya kurang.

  • intelligent_search — mulai di sini untuk pertanyaan tentang basis kode dalam bahasa alami. Pengaturan bawaan auto/balanced mengarahkan kueri yang dikenali dengan keyakinan tinggi sebagai pencarian definisi ke pencarian struktural, pertanyaan tentang referensi atau dampak ke graf, dan pertanyaan tentang kecocokan persis ke pencarian teks. Pertanyaan lainnya menggunakan makna semantik dan teks yang diindeks. Gunakan mode=hybrid atau auto dengan quality=thorough untuk meminta keempat modalitas pencarian. Mode yang dipilih secara eksplisit didahulukan daripada quality.
  • find_symbol — gunakan saat Anda sudah mengetahui nama fungsi, kelas, atau variabel.
  • dependency_search — cakupan dampak: kode pemanggil, kode yang bergantung pada simbol, dan efek sebelum maupun sesudah perubahan.
  • get_task_context — untuk area yang belum dikenal; satu paket terbatas berisi file, symbol, dan dependensi berdasarkan deskripsi tugas.
  • repository_context — tampilkan repositori yang dapat diakses atau periksa bagaimana nama repositori di-resolve.
  • ask_maguyva dengan operation="guidance" — bantuan lokal untuk memilih dan menggunakan alat Maguyva, tanpa mengubah repo.

Instal dan verifikasi klien

#

Tambahkan Maguyva ke klien MCP Anda, lalu verifikasi koneksinya dengan daftar repositori yang nyata.

  1. Buat kunci API di app.maguyva.ai (kunci diawali mgv_).
  2. Hubungkan dan indeks setidaknya satu repositori GitHub yang sudah Anda pahami.
  3. Konfigurasikan klien melalui Panduan Instalasi (plugin Claude Code, atau konfigurasi remote native untuk Cursor, VS Code, Devin Desktop, Zed, dan lainnya).
  4. Tanyakan "Repositori apa yang telah saya sambungkan?" kepada agen Anda; ini menguji autentikasi dan repository_context dari awal hingga akhir.
  5. Ajukan satu pertanyaan nyata tentang repo itu yang jawabannya bisa Anda nilai. Anda seharusnya melihat path file dan nomor baris dari tree yang telah diindeks.
repository_context
{
  "name": "repository_context",
  "arguments": {
    "action": "list"
  }
}

Ada masalah dengan kunci API, bridge, atau repo yang tidak ditemukan? Pemecahan masalah.

Tanyakan sebelum Anda mengedit

#

Petakan symbol dan cakupan dampak sebelum mengubah kode bersama. Alat Maguyva tidak memodifikasi repositori Anda; alat ini menyediakan bukti untuk perubahan yang diterapkan klien secara lokal.

  1. Jika Anda mengetahui nama symbol, panggil find_symbol untuk menemukan definisi dan penggunaannya.
  2. Jika Anda hanya memiliki deskripsi tugas ("tambahkan SSO", "perbaiki webhook penagihan"), mulai dengan get_task_context atau intelligent_search.
  3. Sebelum mengedit simbol bersama, panggil dependency_search untuk menganalisis kode yang bergantung padanya atau dampak perubahan (atau kirim path yang berubah untuk analisis ala PR) agar Anda melihat seluruh cakupan dampak.
  4. Buka file yang dirujuk (baca secara lokal untuk file di disk; gunakan get_file untuk path remote atau lintas repo), lalu cocokkan rencana dengan kode yang sebenarnya.
  5. Setelah mengedit, periksa kembali simbol yang sama dengan dependency_search, menggunakan verify_after_edit=true dan targets atau changed_paths. Ini membaca graf terindeks, bukan perubahan lokal yang belum di-commit: periksa indexed_commit_sha dan kemutakhiran indeks sebelum menganggapnya sebagai bukti untuk revisi baru, lalu jalankan pengujian lokal.
dependency_search
{
  "name": "dependency_search",
  "arguments": {
    "repository": "owner/repo",
    "target": "getCurrentUser",
    "exact_match": true,
    "analysis_type": "impact",
    "depth": "shallow",
    "include_metrics": true,
    "limit": 10
  }
}

Parameter lengkap: Referensi MCP API.

Cari, lalu ubah

#

Loop agen bawaan: jelajahi → tetapkan symbol → edit berdasarkan bukti.

  1. Mulai dengan intelligent_search dan kueri dalam bahasa biasa ("bagaimana sesi kedaluwarsa", "di mana logika retry berada").
  2. Persempit dengan filter bahasa atau path jika kumpulan hasil pertama terlalu banyak memuat hasil yang tidak relevan. language_filter menghilangkan graf dari auto/hybrid; kueri auto yang hanya diarahkan ke graf akan beralih kembali ke pencarian semantik dan teks. Mode graf yang dipilih secara eksplisit dengan language_filter ditolak. Periksa routing_decision.modalities_used untuk melihat rencana pencarian yang dipilih; warnings hanya muncul kalau server mengeluarkan peringatan.
  3. Lanjutkan hasil yang menjanjikan ke find_symbol atau dependency_search, alih-alih mengulang pertanyaan samar yang sama.
  4. Gunakan get_file hanya saat Anda membutuhkan path terindeks tertentu yang tidak tersedia di disk.
  5. Edit dengan alat klien biasa. Maguyva untuk penemuan dan verifikasi, bukan untuk menulis.
intelligent_search
{
  "name": "intelligent_search",
  "arguments": {
    "repository": "owner/repo",
    "query": "How does session expiry work?",
    "limit": 5
  }
}

Mengapa loop ini berfungsi: Cara Kerjanya.

Hasil kosong atau minim

#

Jika alat tidak menghasilkan apa pun yang berguna, perbaiki resolusi repositori dan pengindeksan sebelum terus-menerus menulis ulang kueri.

  1. Konfirmasikan repositori terhubung dan selesai mengindeks di app.maguyva.ai.
  2. Periksa string repositori: "owner/repo" menggunakan branch default; "owner/repo:branch" menentukan branch tertentu. Pencocokan tidak membedakan huruf besar-kecil, tetapi tidak menggunakan pencocokan perkiraan — kesalahan ketik tidak dikoreksi secara otomatis.
  3. Panggil repository_context dengan action="info" dan periksa metadata resolusi (misalnya metadata.resolution_reason).
  4. Jangan sertakan repository hanya jika klien MCP Anda menyediakan nilai default untuk permintaan atau kunci dapat mengakses tepat satu repositori; jika tidak, berikan secara eksplisit.
  5. Coba lagi dengan kueri yang lebih spesifik, nama symbol yang dikenal melalui find_symbol, atau filter bahasa/jalur. Jika koneksinya sendiri terputus, gunakan Pemecahan masalah.
repository_context
{
  "name": "repository_context",
  "arguments": {
    "action": "info",
    "repository": "owner/repo:main"
  }
}

Kegagalan pengaturan: Pemecahan masalah.

Bekerja di banyak repositori

#

Targetkan repo terindeks yang tepat ketika sebuah kunci dapat melihat lebih dari satu.

  1. Panggil repository_context dengan action="list" satu kali untuk mengetahui slug persis yang dapat dicari oleh kunci Anda.
  2. Kirim repository secara eksplisit ke alat pencarian dan symbol saat Anda membutuhkan repo non-default (misalnya "owner/other-repo" atau "owner/other-repo:develop").
  3. Pertahankan satu pertanyaan = satu repositori, kecuali Anda memang membandingkan repo melalui panggilan terpisah.
  4. Gunakan get_file saat file berada di repo terindeks yang bukan working tree saat ini.
  5. Ingat: alat tidak pernah menulis kembali ke GitHub; konteks lintas repo hanya untuk membaca dan merencanakan.

Detail format repositori: Referensi MCP API.

Baru pertama kali menyiapkan? Mulai dari Mulai cepat, lalu gunakan resep ini untuk tugas sehari-hari.

Langkah selanjutnya

#