Referensi API MCP
Referensi lengkap untuk semua 11 tools MCP Maguyva yang menghadap pelanggan. Setiap tool menyertakan parameter, panduan penggunaan, dan rekomendasi kapan paling cocok dipakai.
Gambaran Umum API#
API MCP Maguyva saat ini menyediakan 11 tools yang menghadap pelanggan di 4 kategori utama:
- Tool Search Inti - Kemampuan pencarian tingkat lanjut di seluruh codebase-mu
- Tool Struktural & Graf - Query AST, pencarian simbol, dan analisis dependensi
- Tool Analisis Kode - Analisis kode mendalam dan pemetaan relasi
- Tool Sistem & Utilitas - Konteks repository, komputasi deterministik, dan panduan
Semua tools memakai format pengidentifikasi repository yang konsisten: "owner/repo:branch". Branch default ke main kalau tidak ditentukan.
Jangan sertakan repository ketika klien MCP Anda menyediakan default untuk permintaan tersebut atau kunci dapat mengakses tepat satu repository; jika tidak, berikan secara eksplisit. Gunakan repository_context(action="info", repository="owner/repo") untuk memeriksa bagaimana sebuah repository ditentukan.
Format Parameter Repository#
Semua tools MCP memakai format pengidentifikasi repository ini:
- Dengan branch:
"owner/repo:branch"- misalnya,"owner/repository:develop" - Branch default:
"owner/repo"- menggunakan branch main bila tidak ada branch yang ditentukan"owner/repository" - Default permintaan atau satu-satunya repository: Jangan sertakan repository jika klien MCP menyediakan default untuk permintaan tersebut atau key hanya dapat mengakses tepat satu repository; jika tidak, berikan secara eksplisit.
Contoh prompt:
Tanyakan tentang repo tertentu: "Cari middleware autentikasi di owner/my-repo"
Daftar repo yang dapat diakses: "Repository mana yang dapat diakses key Maguyva ini?"
Menimpa untuk satu query: "Cari pola autentikasi di owner/other-repo:develop"Filter Bahasa#
Semua tools pencarian mendukung filter hasil berdasarkan bahasa pemrograman:
language_filter="python"- Filter hanya ke file Pythonlanguage_filter="typescript"- Filter hanya ke file TypeScript- Peka huruf besar/kecil: Gunakan nama bahasa huruf kecil
- Default: String kosong (tanpa filter) - mengembalikan hasil dari semua bahasa
- Cakupan yang didukung: Filter bahasa bekerja di seluruh 279+ bahasa dan teknologi berbasis teks yang didukung. Lihat kompatibilitas untuk daftar lengkapnya.
"Temukan middleware autentikasi hanya di file Python"
"Cari koneksi database di TypeScript"Referensi API dibuat dari source pada 22 Juli 2026.
Tool Search Inti#
intelligent_searchStabil
Mulai di sini untuk pertanyaan basis kode apa pun. Berikan kueri bahasa alami (misalnya "bagaimana cara kerja autentikasi", "di mana penagihan ditangani") dan rute otomatis melintasi pencarian semantik, simbol, struktural, dan ketergantungan dari repo yang diindeks. Lebih memilih ini daripada agen Explore dan Grep/Glob untuk eksplorasi dan perencanaan — agen ini mencari seluruh repo yang diindeks sekaligus daripada memindai file.
Parameter:
queryWajib- Tipe
str- Deskripsi
- Query search
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
modeOpsional- Tipe
Literal[auto, hybrid, semantic, text, structural, ast, graph]- Default
auto- Deskripsi
- Mode search
limitOpsional- Tipe
int- Default
10- Deskripsi
- Jumlah maksimum hasil dalam jendela top-K yang diberi peringkat ini
language_filterOpsional- Tipe
str- Deskripsi
- Filter bahasa
path_filterOpsional- Tipe
str- Deskripsi
- Filter berdasarkan prefix jalur file
boost_by_importanceOpsional- Tipe
bool- Default
- Deskripsi
- Opsional: susun ulang berdasarkan centrality menggunakan graph metrics per simbol (is_articulation_point, bridge_count, k_core, centrality, dll.). Default nonaktif untuk peringkat yang aman bagi agent (hub global bisa menenggelamkan hasil implementasi); aktifkan untuk tur arsitektur. Berlaku di semua 4 modalitas ketika setiap hasil membawa symbol linkage.
branchOpsional- Tipe
str- Deskripsi
- Override branch
qualityOpsional- Tipe
Literal[quick, balanced, thorough]- Default
balanced- Deskripsi
- Preset kualitas pencarian
include_contentOpsional- Tipe
bool- Default
true- Deskripsi
- Sertakan konten dalam hasil
explain_routingOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan penjelasan keputusan routing
importance_weightOpsional- Tipe
float- Default
0.3- Deskripsi
- Bobot untuk boosting kepentingan (0=tidak, 1=penuh)
orphansOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan simbol orphan (tanpa referensi masuk)
include_community_contextOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan simbol terkait dari komunitas kode yang sama
community_depthOpsional- Tipe
int- Default
1- Deskripsi
- Kedalaman perluasan konteks komunitas
graph_viewOpsional- Tipe
Literal[dependency, type, data_flow, control_flow]- Default
dependency- Deskripsi
- Tampilan graph untuk metrik
seed_symbol_idsOpsional- Tipe
list[str]- Deskripsi
- Bibit tugas Tier-1: ID simbol yang penting bagi tugas saat ini. Jika disetel, rangking ulang hit yang digabungkan berdasarkan kedekatan peluruhan kedalaman Approach A (pencocokan benih yang tepat + lompatan tepi grafik). Aditif — hilangkan peringkat global.
seed_file_pathsOpsional- Tipe
list[str]- Deskripsi
- Benih tugas Tier-1: jalur file terindeks yang telah dibuka atau baru saja diedit oleh agen. Jika disetel, rangking ulang hit yang digabungkan berdasarkan kedekatan jalur dengan peluruhan kedalaman 1/(1+d) (file yang sama → direktori yang sama → paket terdekat). Aditif — hilangkan peringkat global.
Paling Cocok Untuk:
- Eksplorasi index-wide atau cold-start ketika tool yang tepat tidak jelas
- Ranking gabungan multi-modal di semantic, text, structural, dan graph
Tidak Direkomendasikan Untuk:
- Nama symbol yang sudah diketahui — langsung gunakan find_symbol
- Path yang sudah diketahui di disk — gunakan local Read/Grep dulu
semantic_searchStabil
Temukan kode berdasarkan maknanya, bukan teks persisnya. Gunakan untuk kueri konseptual seperti "coba lagi logika" atau "alur orientasi pengguna" bila Anda tidak mengetahui kata kunci atau nama simbol. Mengembalikan potongan kode paling relevan yang diberi peringkat berdasarkan kepentingannya. Lebih memilih daripada Grep ketika pencarian bersifat konseptual.
Parameter:
queryWajib- Tipe
str- Deskripsi
- Query pencarian (konseptual, berbasis makna)
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
limitOpsional- Tipe
int- Default
5- Deskripsi
- Jumlah maksimum hasil dalam jendela top-K yang diberi peringkat ini
similarity_thresholdOpsional- Tipe
float- Default
0.6- Deskripsi
- Skor kesamaan minimum
language_filterOpsional- Tipe
str- Deskripsi
- Filter bahasa (python, typescript, dll.)
path_filterOpsional- Tipe
str- Deskripsi
- Filter berdasarkan prefix jalur file
boost_by_importanceOpsional- Tipe
bool- Default
- Deskripsi
- Opsional: susun ulang berdasarkan PageRank centrality (default nonaktif untuk peringkat yang aman bagi agent; aktifkan untuk tur arsitektur)
branchOpsional- Tipe
str- Deskripsi
- Override branch
include_contentOpsional- Tipe
bool- Default
true- Deskripsi
- Sertakan konten cuplikan dalam hasil
graph_viewOpsional- Tipe
Literal[dependency, type, data_flow, control_flow]- Default
dependency- Deskripsi
- Graph view untuk metrics
Paling Cocok Untuk:
- Kueri konseptual ("how does auth work?", "caching strategy")
- Pencarian kemiripan lintas-paket
Tidak Direkomendasikan Untuk:
- Nama symbol yang sudah diketahui — gunakan find_symbol
- String persis atau pesan error — gunakan text_pattern_search
text_pattern_searchStabil
Cari konten terindeks. Mode exact dan regex melakukan grep pada korpus file/blob penuh; mode fuzzy content mencari korpus chunk semantik terbatas. Scope file dan simbol hanya untuk fuzzy. Gunakan Grep lokal untuk direktori yang sudah ada di disk.
Parameter:
queryWajib- Tipe
str- Deskripsi
- Pola teks untuk dicari
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
modeOpsional- Tipe
Literal[fuzzy, exact, regex]- Default
exact- Deskripsi
- Mode pencarian
search_scopeOpsional- Tipe
Literal[content, symbols, files]- Default
content- Deskripsi
- Apa yang dicari
limitOpsional- Tipe
int- Default
5- Deskripsi
- Jumlah maksimum hasil yang dikembalikan di halaman ini
offsetOpsional- Tipe
int- Deskripsi
- Offset kompatibilitas yang sudah usang. Utamakan cursor dari pagination.next_cursor.
cursorOpsional- Tipe
str- Deskripsi
- Cursor opaque dari pagination.next_cursor. Teruskan tanpa perubahan dan pertahankan query serta filter tetap sama.
language_filterOpsional- Tipe
str- Deskripsi
- Filter bahasa
path_filterOpsional- Tipe
str- Deskripsi
- Filter berdasarkan awalan jalur file
case_sensitiveOpsional- Tipe
bool- Default
- Deskripsi
- Pencocokan peka huruf besar/kecil
branchOpsional- Tipe
str- Deskripsi
- Override branch
fuzzy_algorithmOpsional- Tipe
Literal[hybrid, trigram, levenshtein]- Default
hybrid- Deskripsi
- Algoritma pencocokan fuzzy
thresholdOpsional- Tipe
float- Default
0.05- Deskripsi
- Ambang kesamaan minimum untuk fuzzy
semantic_fallbackOpsional- Tipe
bool- Default
- Deskripsi
- Fallback ke semantic search jika tidak ada hasil
Paling Cocok Untuk:
- String persis, pesan error, dan regex
- Pencocokan trigram fuzzy untuk teks yang hampir mirip
Tidak Direkomendasikan Untuk:
- Path yang sudah diketahui di disk — utamakan local Grep
- Kueri konseptual — gunakan semantic_search
Tool Struktural & Graf#
structural_searchStabil
Utamakan preset=functions|classes|methods|imports|variables (atau pattern= bebas). Temukan kode berdasarkan bentuk AST (bukan teks). Filter tingkat menengah: name_pattern, node_type, decorator, parent_child. Filter path/ltree/call bersifat advanced — atur advanced=true saat sengaja menggunakannya; kunci advanced datar tetap diterima untuk back-compat. Berikan setidaknya satu structural selector.
Parameter:
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
presetOpsional- Tipe
Literal[functions, classes, methods, imports, variables]- Deskripsi
- Structural selector yang disarankan. Meluas ke tipe node AST lintas bahasa — functions (definisi function/arrow/method di berbagai bahasa); classes (definisi class/struct/impl); methods (definisi method (dan function_definition untuk bahasa tanpa node method)); imports (pernyataan import/use/include); variables (deklarasi variable/let/const/static). Utamakan ini daripada pattern/node_type bebas untuk query bergaya browse.
patternOpsional- Tipe
str- Deskripsi
- Pattern Free-form ketika preset terlalu kasar (terdeteksi otomatis: 'def foo(' → node_type + name_pattern). Utamakan preset= untuk query browse.
name_patternOpsional- Tipe
str- Deskripsi
- Pattern nama symbol (wildcard shell, regex POSIX terbatas, atau teks fuzzy; maksimal 256 karakter)
node_typeOpsional- Tipe
str- Deskripsi
- Tipe node AST (function_definition, class_definition, dll.) — utamakan preset= untuk bentuk umum
decoratorOpsional- Tipe
str- Deskripsi
- Filter nama decorator
base_classOpsional- Tipe
str- Deskripsi
- Filter nama base class
language_filterOpsional- Tipe
str- Deskripsi
- Filter bahasa
limitOpsional- Tipe
int- Default
20- Deskripsi
- Jumlah maksimum hasil yang dikembalikan di halaman ini
offsetOpsional- Tipe
int- Deskripsi
- Offset kompatibilitas yang sudah usang. Utamakan cursor dari pagination.next_cursor.
cursorOpsional- Tipe
str- Deskripsi
- Cursor opaque dari pagination.next_cursor. Teruskan tanpa perubahan dan pertahankan query serta filter tetap sama.
path_filterOpsional- Tipe
str- Deskripsi
- Filter berdasarkan awalan jalur file
branchOpsional- Tipe
str- Deskripsi
- Override branch
query_typeOpsional- Tipe
Literal[node_type, name_pattern, parent_child]- Deskripsi
- Tipe query eksplisit
parent_typeOpsional- Tipe
str- Deskripsi
- Filter jenis node induk AST
relationshipOpsional- Tipe
Literal[parent, ancestor]- Default
parent- Deskripsi
- Untuk parent_child: parent langsung saja, atau ancestor mana saja (pakai ancestor untuk metode kelas yang berada dalam block class)
has_modifierOpsional- Tipe
str- Deskripsi
- Filter berdasarkan modifier (export, async, static, dll.)
advancedOpsional- Tipe
bool- Default
- Deskripsi
- Atur true ketika dengan sengaja menggunakan jalur lanjutan, pohon, atau filter panggilan (ltree_ancestor, ltree_descendant, min_depth, max_depth, field_role, definition_name, callee_text, callee_name). Secara default, false menjaga antarmuka agen tetap fokus pada preset. Kunci tingkat lanjut dalam format datar masih berfungsi untuk kompatibilitas mundur, dengan peringatan metadata.
callee_textOpsional- Tipe
str- Deskripsi
- Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter teks callee ekspresi call. Atur advanced=true saat sengaja menggunakan filter path/ltree/call.
callee_nameOpsional- Tipe
str- Deskripsi
- Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter nama callee ekspresi call. Atur advanced=true saat sengaja menggunakan filter path/ltree/call.
field_roleOpsional- Tipe
str- Deskripsi
- Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter field role AST. Atur advanced=true saat sengaja menggunakan filter path/ltree/call.
ltree_ancestorOpsional- Tipe
str- Deskripsi
- Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter path ltree ancestor AST. Atur advanced=true saat sengaja menggunakan filter path/ltree/call.
ltree_descendantOpsional- Tipe
str- Deskripsi
- Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter path ltree descendant AST. Atur advanced=true saat sengaja menggunakan filter path/ltree/call.
definition_nameOpsional- Tipe
str- Deskripsi
- Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter nama definition. Atur advanced=true saat sengaja menggunakan filter path/ltree/call.
min_depthOpsional- Tipe
int- Deskripsi
- Advanced — utamakan preset=functions|classes|methods|imports|variables. Minimum AST depth. Atur advanced=true saat sengaja menggunakan filter path/ltree/call.
max_depthOpsional- Tipe
int- Deskripsi
- Advanced — utamakan preset=functions|classes|methods|imports|variables. Maximum AST depth. Atur advanced=true saat sengaja menggunakan filter path/ltree/call.
Paling Cocok Untuk:
- Struktur tingkat AST: class, decorator, preset function/method
- Menemukan kode berdasarkan bentuk, bukan teks
Tidak Direkomendasikan Untuk:
- Kueri free-text atau konseptual — gunakan semantic_search atau intelligent_search
dependency_searchStabil
Permukaan blast-radius / graph utama. Menjawab "apa yang memanggil ini?" / "apa yang menggunakan ini?" lewat call/import graph yang sesungguhnya. Untuk dampak sebelum edit: analysis_type="dependents" atau analysis_type="impact" (incoming, default shallow untuk impact), include_metrics=false secara default (opt-in untuk centrality + refactor_risk). Dampak PR/diff (P1-8): kirim changed_paths dan/atau patch (unified diff) — meresolusi symbol per path dan mengembalikan payload dependents shallow-incoming yang ringkas tanpa memerlukan nama symbol. Setelah sebuah edit, atur verify_after_edit=true dengan targets dan/atau changed_paths untuk kueri ulang multi-root yang ringkas atas symbol yang terdampak. Juga mendukung dependencies, centrality, dan orphans. analyze_dependencies adalah alias tipis untuk jalur impact — utamakan tool ini untuk agent baru.
Parameter:
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
queryOpsional- Tipe
str- Deskripsi
- Nama simbol atau istilah pencarian
targetOpsional- Tipe
str- Deskripsi
- Nama simbol (alias untuk query)
changed_pathsOpsional- Tipe
list[str]- Deskripsi
- Jalur repo-relatif untuk dampak PR/diff (default) atau, dengan verify_after_edit=true, verifikasi akar pasca-edit. PR/diff: menyelesaikan simbol per jalur dan menjalankan tanggungan masuk yang dangkal; dapat dikombinasikan dengan patch=. Verifikasi: menyelesaikan hingga 5 simbol per jalur sebagai akar verifikasi (dibatasi lebih rendah di dalam mode verifikasi). Tidak memerlukan query/target untuk dampak PR/diff.
patchOpsional- Tipe
str- Deskripsi
- Dampak PR/diff: teks patch diff / git terpadu. Jalur diurai dari header diff --git / --- / +++; jalur dampak kompak yang sama seperti changed_paths.
analysis_typeOpsional- Tipe
Literal[centrality, dependencies, dependents, impact, orphans]- Default
dependencies- Deskripsi
- Mode analisis. impact = blast radius (dependents incoming; depth shallow ketika depth tidak diisi). dependents juga menjawab impact. Ketika changed_paths atau patch diatur, analisis dipaksa menjadi dampak PR/diff. centrality/orphans tidak memerlukan target.
depthOpsional- Tipe
Literal[shallow, balanced, deep]- Default
balanced- Deskripsi
- Traversal depth. Untuk analysis_type=impact dan dampak PR/diff, default efektifnya adalah shallow kecuali Anda mengatur depth secara eksplisit.
limitOpsional- Tipe
int- Default
20- Deskripsi
- Jumlah maksimum hasil yang dikembalikan di halaman ini
offsetOpsional- Tipe
int- Deskripsi
- Offset kompatibilitas yang sudah usang. Utamakan cursor dari pagination.next_cursor.
cursorOpsional- Tipe
str- Deskripsi
- Cursor opaque dari pagination.next_cursor. Teruskan tanpa perubahan dan pertahankan query serta filter tetap sama.
path_filterOpsional- Tipe
str- Deskripsi
- Membatasi resolusi target symbol berdasarkan prefix file path; relasi graph yang dikembalikan bisa melintas keluar dari path tersebut
language_filterOpsional- Tipe
str- Deskripsi
- Filter resolusi target dan hasil browse berdasarkan bahasa
directionOpsional- Tipe
Literal[outgoing, incoming, both]- Deskripsi
- Arah traversal (menimpa inferensi analysis_type)
relationship_typesOpsional- Tipe
list[str]- Deskripsi
- Filter tipe edge (CALL, IMPORT, INHERITS_FROM, dll.). Daftar yang tidak kosong menggantikan default graph_view.
exclude_test_pathsOpsional- Tipe
bool- Default
true- Deskripsi
- Default true: mengecualikan path test, fixture, vendor, dan contoh dari hasil traversal dan centrality. Atur false untuk menyertakannya. Analisis orphan selalu menerapkan pengecualian noise-nya sendiri yang lebih ketat.
exclude_generated_pathsOpsional- Tipe
bool- Default
- Deskripsi
- Kecualikan deklarasi yang dihasilkan ditambah jalur build, cakupan, cache, peta sumber, dan artefak yang diperkecil dari hasil traversal
include_module_symbolsOpsional- Tipe
bool- Default
- Deskripsi
- Secara default, false mengecualikan tepi grafik ketika from_name atau to_name adalah simbol __module__ sintetis (gangguan tingkat modul). Atur true untuk menyertakan tepi tingkat modul dalam hasil hubungan ketergantungan dan ketergantungan.
branchOpsional- Tipe
str- Deskripsi
- Override branch
per_hop_limitOpsional- Tipe
int- Deskripsi
- Jumlah maksimum relationship per hop (1-300)
include_metricsOpsional- Tipe
bool- Default
- Deskripsi
- Graph metrics opt-in pada baris hasil (dipadatkan dengan refactor_risk). Metrics juga diambil secara internal ketika min_centrality>0 tetapi tidak dikembalikan kecuali ini true.
metrics_detailOpsional- Tipe
Literal[summary, full]- Default
summary- Deskripsi
- Ketika include_metrics=true: summary (default) mengembalikan sinyal keputusan + refactor_risk; full mengembalikan kumpulan metrik hasil kurasi yang lebih besar
include_edge_metadataOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan metadata dan bobot tepi mentah (besar). Muatan dampak kompak mengabaikan hal ini.
symbol_typesOpsional- Tipe
list[str]- Deskripsi
- Filter symbol yang dikembalikan berdasarkan jenis (function, class, method, dll.)
exact_matchOpsional- Tipe
bool- Default
- Deskripsi
- Wajibkan pencocokan nama simbol persis
find_similar_patternsOpsional- Tipe
bool- Default
- Deskripsi
- Temukan pola penggunaan serupa
min_centralityOpsional- Tipe
float- Default
0- Deskripsi
- Skor PageRank minimum. Metrics diambil secara internal untuk filtering; graph_metrics hanya dikembalikan ketika include_metrics=true.
graph_viewOpsional- Tipe
Literal[dependency, type, data_flow, control_flow]- Default
dependency- Deskripsi
- Graph view yang digunakan untuk default relationship traversal, metrics, dan peringkat centrality; analisis orphan dihitung di semua view
verify_after_editOpsional- Tipe
bool- Default
- Deskripsi
- Mode verifikasi pasca-edit P2-7: kueri ulang grafik dampak yang diindeks untuk simbol yang baru diedit dalam satu respons multi-root yang ringkas. Membutuhkan targets dan/atau changed_paths (atau target/query). Default untuk tanggungan masuk yang dangkal; hasilnya mencerminkan grafik yang diindeks (mungkin memperlambat pengeditan langsung). Jika benar, akan lebih diutamakan daripada dampak PR/diff pada changed_paths yang sama.
targetsOpsional- Tipe
list[str]- Deskripsi
- Ketika verify_after_edit=true: nama simbol untuk diverifikasi ulang (penelepon/tanggungan). Digabung dengan target/query jika keduanya disediakan.
Paling Cocok Untuk:
- Analisis blast-radius / impact sebelum mengedit symbol yang dipakai bersama
- PR/diff impact lewat changed_paths atau patch
- Verifikasi pasca-edit lewat verify_after_edit
Tidak Direkomendasikan Untuk:
- Pencarian text atau symbol sederhana — gunakan text_pattern_search atau find_symbol
Tool Analisis Kode#
find_symbolStabil
Lompat ke lokasi definisi dan penggunaan fungsi, class, atau variabel. Gunakan ketika Anda tahu nama (mis. "getCurrentUser") — lebih cepat dan presisi daripada Grep, serta mencakup seluruh repo terindeks. Opsional mengembalikan referensi dan metrik kepentingan.
Parameter:
symbol_nameOpsional- Tipe
str- Deskripsi
- Nama simbol untuk dicari (opsional — kosongi untuk menelusuri berdasarkan metrik)
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
scopeOpsional- Tipe
Literal[definitions, references, both]- Default
both- Deskripsi
- Cakupan pencarian
limitOpsional- Tipe
int- Default
15- Deskripsi
- Jumlah maksimum hasil yang dikembalikan di halaman ini
offsetOpsional- Tipe
int- Deskripsi
- Offset kompatibilitas yang sudah usang. Utamakan cursor dari pagination.next_cursor.
cursorOpsional- Tipe
str- Deskripsi
- Cursor opaque dari pagination.next_cursor. Teruskan tanpa perubahan dan pertahankan query serta filter tetap sama.
find_similarOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan nama simbol serupa
include_metricsOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan metrik centrality
metrics_detailOpsional- Tipe
Literal[summary, full]- Default
summary- Deskripsi
- Ketika include_metrics=true: summary (default) mengembalikan sinyal keputusan + refactor_risk; full mengembalikan kumpulan metrik hasil kurasi yang lebih besar
path_filterOpsional- Tipe
str- Deskripsi
- Filter berdasarkan awalan jalur file
branchOpsional- Tipe
str- Deskripsi
- Override branch
symbol_typeOpsional- Tipe
Literal[function, class, variable, method, constant, module, interface, type]- Deskripsi
- Filter tipe simbol
high_impactOpsional- Tipe
bool- Default
- Deskripsi
- Jelajahi symbol yang penting secara arsitektural (abaikan symbol_name). Mode default adalah popularity (desil PageRank teratas dikurangi utility mega-hub). Atur high_impact_mode=risk untuk articulation/bridge cut-vertex.
high_impact_modeOpsional- Tipe
Literal[popularity, risk]- Default
popularity- Deskripsi
- Ketika high_impact=true: popularitas = desil PageRank teratas dikurangi mega-hub/modul utilitas; risiko = poin artikulasi diberi peringkat berdasarkan SMV bridge_count lalu k_core (risiko refaktor struktural, bukan popularitas hub)
in_cycleOpsional- Tipe
bool- Default
- Deskripsi
- Filter hanya simbol dalam siklus dependency
exclude_test_pathsOpsional- Tipe
bool- Default
true- Deskripsi
- Saat menjelajah berdasarkan metrik grafik, kecualikan pengujian, fixtures, kode pihak ketiga, dan contoh sebelum memberi peringkat. Pencarian berdasarkan simbol bernama tidak berubah.
Paling Cocok Untuk:
- Mematok definition, reference, dan graph metric dari symbol yang sudah diketahui
- Menelusuri berdasarkan centrality, high_impact, atau in_cycle ketika symbol_name tidak disertakan
Tidak Direkomendasikan Untuk:
- Kueri konseptual atau area yang belum dikenal — gunakan intelligent_search atau semantic_search
analyze_dependenciesStabil
Alias untuk blast-radius lewat dependency_search (dependents/incoming). Utamakan dependency_search dengan analysis_type="dependents" atau "impact" untuk agent baru. Mempertahankan bentuk respons impact multi-hop lama (graph, connection_summary, metrics opsional dengan refactor_risk). Gunakan graph_view untuk membatasi relationship family: dependency (default), type, data_flow, control_flow.
Parameter:
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
targetWajib- Tipe
str- Deskripsi
- Nama simbol untuk dianalisis
depthOpsional- Tipe
Literal[shallow, balanced, deep]- Default
balanced- Deskripsi
- Kedalaman analisis
limitOpsional- Tipe
int- Default
10- Deskripsi
- Jumlah maksimum hasil yang dikembalikan di halaman ini
offsetOpsional- Tipe
int- Deskripsi
- Offset kompatibilitas yang sudah usang. Utamakan cursor dari pagination.next_cursor.
cursorOpsional- Tipe
str- Deskripsi
- Cursor opaque dari pagination.next_cursor. Teruskan tanpa perubahan dan pertahankan query serta filter tetap sama.
directionOpsional- Tipe
Literal[incoming, outgoing, both]- Default
incoming- Deskripsi
- Arah traversal
relationship_typesOpsional- Tipe
list[str]- Deskripsi
- Filter tipe edge (CALL, IMPORT, INHERITS_FROM, dll.). Menimpa default yang diturunkan dari graph_view bila diberikan.
graph_viewOpsional- Tipe
Literal[dependency, type, data_flow, control_flow]- Default
dependency- Deskripsi
- Tampilan graph: menentukan tipe edge traversal default dan metrik view yang dipakai saat include_metrics=true. dependency=[CALL,IMPORT,EXPORTS,REFERENCE,INSTANTIATES] (default), type=[INHERITS_FROM,IMPLEMENTS,OVERRIDE,DECORATES,OF_TYPE], data_flow=[READS,WRITES,ASSIGNS_TO], control_flow=[CONTROL_FLOW,THROWS,CATCHES]. Hanya dipakai sebagai default relationship_types bila relationship_types tidak diberikan. Nama parameter ini sengaja konsisten dengan dependency_search untuk keseragaman antar tools.
path_filterOpsional- Tipe
str- Deskripsi
- Membatasi resolusi target symbol berdasarkan prefix file path; relasi graph yang dikembalikan bisa melintas keluar dari path tersebut
language_filterOpsional- Tipe
str- Deskripsi
- Filter bahasa
branchOpsional- Tipe
str- Deskripsi
- Override branch
per_hop_limitOpsional- Tipe
int- Deskripsi
- Jumlah maksimum relationship per hop (1-300)
include_metricsOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan metrik grafik dalam hasil, masing-masing diperkaya dengan blok refactor_risk turunan ({risk: "low"|"medium"|"high", is_articulation_point, bridge_count, k_core, graph_view, reasons}). risk adalah "low" jika bukan merupakan titik artikulasi (dalam tampilan yang dipilih), "medium" saat titik artikulasi menjembatani beberapa sisi, "high" saat menjembatani banyak sisi (ambang batas heuristik, tidak divalidasi secara empiris). Dihilangkan per simbol ketika tidak ada baris metrik untuk simbol/tampilan tersebut.
metrics_detailOpsional- Tipe
Literal[summary, full]- Default
summary- Deskripsi
- Ketika include_metrics=true: summary (default) mengembalikan sinyal keputusan + refactor_risk; full mengembalikan kumpulan metrik hasil kurasi yang lebih besar
include_edge_metadataOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan metadata dan bobot tepi mentah. Dinonaktifkan secara default karena metadata ekstraktor bisa berukuran besar; cakupan pengayaan dilaporkan ketika diaktifkan.
exclude_test_pathsOpsional- Tipe
bool- Default
true- Deskripsi
- true default: mengecualikan jalur pengujian, perlengkapan, vendor, dan contoh dari tepi grafik yang dikembalikan. Atur false untuk menyertakannya.
include_module_symbolsOpsional- Tipe
bool- Default
- Deskripsi
- Secara default, false mengecualikan tepi grafik ketika from_name atau to_name adalah simbol __module__ sintetis. Atur true untuk menyertakan tepi tingkat modul.
Paling Cocok Untuk:
- Legacy caller yang sudah terpasang pada bentuk response-nya (graph, connection_summary)
Tidak Direkomendasikan Untuk:
- Agent loop baru — utamakan dependency_search, yang berbagi traversal core yang sama
get_task_contextStabil
Memulai pekerjaan di area yang belum dikenal? Jelaskan task-nya (mis. "tambahkan dukungan SSO", "perbaiki billing webhook") dan dapatkan satu paket file, kode, symbol, dan dependency yang relevan dalam satu panggilan yang dibatasi. File yang di-seed menyumbangkan konten indexed langsung meskipun tidak mendefinisikan symbol apa pun. Untuk hasil lebih banyak, lanjutkan dengan search tool khusus untuk layer tersebut.
Parameter:
task_descriptionWajib- Tipe
str- Deskripsi
- Deskripsi task yang membutuhkan konteks
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
limitOpsional- Tipe
int- Default
15- Deskripsi
- Item konteks maksimum per layer
scopeOpsional- Tipe
Literal[semantic, symbols, dependencies, all]- Default
all- Deskripsi
- Layer konteks yang disertakan
language_filterOpsional- Tipe
str- Deskripsi
- Filter bahasa
path_filterOpsional- Tipe
str- Deskripsi
- Filter berdasarkan prefix jalur file
branchOpsional- Tipe
str- Deskripsi
- Override branch
include_related_contextOpsional- Tipe
bool- Default
- Deskripsi
- Sertakan konteks terkait dari simbol tetangga
seed_symbol_idsOpsional- Tipe
list[str]- Deskripsi
- Tier-1 seed eksplisit: ID simbol yang sudah diketahui agen relevan untuk task (mis. simbol di file terbuka). Diprioritaskan dibanding seed turunan kata kunci. Tambahan — kosongi untuk perilaku berbasis kata kunci saja saat ini.
seed_file_pathsOpsional- Tipe
list[str]- Deskripsi
- Seed eksplisit Tier-1: path file indexed yang sedang dibuka atau baru saja diedit agent. Mengembalikan bukti file langsung yang dibatasi dan meresolusi hingga 5 symbol per file untuk graph context, termasuk dokumen dan config tanpa symbol. Bersifat additive — abaikan untuk perilaku keyword-only.
Paling Cocok Untuk:
- Task-aware context yang memadukan file yang di-seed dengan layer semantic, symbol, dan dependency
Tidak Direkomendasikan Untuk:
- Pencarian single-tool ketika tool yang lebih spesifik sudah menjawab pertanyaannya
get_fileStabil
Membaca file dari repo indexed berdasarkan path. Utamakan Read tool lokal untuk file di disk — gunakan ini untuk pencarian cross-repo atau remote ketika file tidak ada di working tree Anda. Mendukung line range opsional; lanjutkan respons yang token-truncated dari metadata.next_line_start.
Parameter:
file_pathWajib- Tipe
str- Deskripsi
- Jalur file relatif ke root repository
repositoryOpsional- Tipe
str- Deskripsi
- Repository sebagai owner/repo[:branch]. Opsional — jangan sertakan untuk memakai default klien pada permintaan tersebut (bila disediakan) atau satu-satunya repository yang dapat diakses; berikan secara eksplisit hanya untuk menargetkan repository terindeks lain. Respons menampilkan repository yang digunakan.
line_startOpsional- Tipe
int- Deskripsi
- Baris awal (1-indexed)
line_endOpsional- Tipe
int- Deskripsi
- Baris akhir (1-indexed, inklusif; harus di line_start atau setelahnya)
branchOpsional- Tipe
str- Deskripsi
- Override branch
max_tokensOpsional- Tipe
int- Default
5000- Deskripsi
- Token maksimum untuk dikembalikan
include_metadataOpsional- Tipe
bool- Default
true- Deskripsi
- Sertakan metadata file dalam respons
Paling Cocok Untuk:
- Snapshot file remote atau indexed (line range, token limit)
Tidak Direkomendasikan Untuk:
- Path yang sudah ada di disk lokal — gunakan Read tool lokal
Tool Sistem & Utilitas#
repository_contextStabil
Daftar repository yang bisa Anda cari, atau dapatkan info identity tentang satu (namespace/branch, indexed_commit_sha / index freshness). Panggil dengan action:"list" sekali untuk mengetahui repo slug persis yang diterima search tools. (Jika key Anda hanya punya satu repo, search tools default ke situ — Anda bisa melewatinya.) Jumlah file/blob/edge di seluruh namespace bersifat opt-in lewat include_statistics=true.
Parameter:
actionWajib- Tipe
Literal[list, info]- Deskripsi
- Aksi: list repositori tersedia atau dapatkan info repo
repositoryOpsional- Tipe
str- Deskripsi
- Repository dalam format owner/repo atau owner/repo:branch (wajib untuk info)
branchOpsional- Tipe
str- Deskripsi
- Override branch
patternOpsional- Tipe
str- Deskripsi
- Filter daftar repository dengan pola
include_statisticsOpsional- Tipe
bool- Default
- Deskripsi
- Opsional: sertakan jumlah indexed-data di seluruh namespace (file/blob/edge). Default false — identity repository tidak memerlukan agregat yang lebih lambat ini.
limitOpsional- Tipe
int- Default
20- Deskripsi
- Jumlah maksimum hasil yang dikembalikan di halaman ini
offsetOpsional- Tipe
int- Deskripsi
- Offset kompatibilitas tidak digunakan lagi. Lebih suka cursor dari pagination.next_cursor.
cursorOpsional- Tipe
str- Deskripsi
- cursor buram dari pagination.next_cursor. Teruskan tanpa mengubah dan pertahankan kueri dan filter tidak berubah.
Paling Cocok Untuk:
- Membuat daftar repository yang bisa diakses
- Menentukan repository identity, branch, dan HEAD-vs-index freshness
Tidak Direkomendasikan Untuk:
- Statistik seluruh namespace secara default — kirim include_statistics=true secara eksplisit, karena bisa lebih lambat daripada resolution
ask_maguyvaStabil
Bantuan dan feedback Maguyva. Utama: dapatkan tool guidance, atau kirim bug report / feature request yang disimpan untuk maintainer Maguyva. Jangan pernah menyertakan secret atau data pribadi sensitif dalam feedback. Operasi evaluate tetap ada hanya untuk back-compat — utamakan komputasi lokal atau host tools untuk pekerjaan math/hash/string.
Parameter:
operationWajib- Tipe
Literal[guidance, report_bug, request_feature, evaluate]- Deskripsi
- Utama: guidance, report_bug, request_feature. Hanya legacy/compat: evaluate (deterministic expression engine; bukan bagian dari alur kerja agent utama).
queryOpsional- Tipe
str- Deskripsi
- Topik guidance (mis. tool_selection, semantic_search). Hanya untuk evaluate legacy: expression string.
descriptionOpsional- Tipe
str- Deskripsi
- Wajib untuk report_bug dan request_feature. Feedback Free-form untuk maintainer Maguyva. Jangan pernah menyertakan secret atau data pribadi sensitif.
related_toolOpsional- Tipe
Literal[ask_maguyva, get_file, repository_context, find_symbol, structural_search, dependency_search, analyze_dependencies, semantic_search, text_pattern_search, intelligent_search, get_task_context]- Deskripsi
- Alat Maguyva opsional paling erat kaitannya dengan umpan balik
Paling Cocok Untuk:
- Tool guidance (operation="guidance")
- Bug report dan feature request permanen untuk maintainer Maguyva
Tidak Direkomendasikan Untuk:
- Komputasi math/hash/string — operasi evaluate tetap ada hanya untuk back-compat; utamakan komputasi host lokal
Praktik Terbaik#
- Gunakan Override Eksplisit dengan Sengaja: Jangan sertakan repository ketika klien MCP Anda menyediakan default untuk permintaan tersebut atau kunci dapat mengakses tepat satu repository; jika tidak, berikan secara eksplisit.
- Pilih Mode Pencarian yang Tepat: Gunakan
intelligent_searchdenganmode="auto"untuk sebagian besar kasus. Tentukan mode bila Anda tahu persis kebutuhan Anda. - Manfaatkan Filter Bahasa: Gunakan
language_filteruntuk mempersempit hasil dan meningkatkan performa. - Boosting GraphRAG: Boosting kepentingan GraphRAG untuk pencarian semantik nonaktif secara default (
boost_by_importance=false) demi menjaga ranking tetap aman untuk agent. Kirim boost_by_importance=true untuk mengaktifkan re-ranking yang peka sentralitas bagi architecture tour. - Pencocokan Repository Tidak Peka Huruf Besar/Kecil, Bukan Fuzzy:
repository_contextmencocokkan nama repository tanpa peduli huruf besar/kecil — bukan mengoreksi typo. Periksametadata.resolution_reasonpada action info ("exact"vs"corrected") untuk melihat bagaimana sebuah nama diresolusi. - Gabungkan Tools: Gunakan beberapa metode API bersamaan untuk analisis yang menyeluruh.
- Tangani Hasil Besar: Gunakan
limitdan kontrol paging khusus tool (mis.line_start/line_enddiget_file). - Gunakan ask_maguyva untuk Panduan Tool: Operasi
evaluatepadaask_maguyva(hash, base64, JSON, matematika) sifatnya legacy / hanya untuk back-compat. Panggilask_maguyvadenganoperation="guidance"danquery="tool_selection"sebagai gantinya untuk matriks local-tool-wins dan cheat sheet lengkap per tool. - Verifikasi Dampak Sebelum dan Sesudah Mengedit: Sebelum mengedit symbol yang dipakai bersama, panggil
dependency_searchdengananalysis_type="impact"(atau kirimchanged_pathsuntuk dampak PR/diff) untuk melihat blast radius-nya. Setelah mengedit, setverify_after_edit=truedengantargetsdan/atauchanged_pathsuntuk pengecekan ulang yang ringkas atas symbol yang sama.
Karakteristik Performa#
| Operasi | Catatan performa |
|---|---|
| Pencarian semantik | Kurang dari satu detik, tapi mencakup panggilan API embedding langsung setiap kali (tidak di-cache) — perkirakan ada latensi ekstra selain dari query vector |
| Pencarian teks | Kurang dari satu detik untuk exact/regex; pencarian konten fuzzy melakukan paging di sisi klien, jadi offset yang dalam lebih mahal — persempit dengan path_filter/language_filter |
| Pencarian struktural | Terindeks AST — biaya berskala sesuai volume hasil, bukan ukuran repository |
| Pencarian dependensi | Biaya berskala sesuai depth — utamakan depth="shallow" kecuali Anda butuh konteks multi-hop; per_hop_limit membatasi fan-out |
| Pengambilan file | Nyaris instan untuk satu file — gunakan line_start/line_end atau max_tokens untuk mem-page file besar alih-alih menarik satu file besar sekaligus |
| Konteks repository | Resolusi namespace hanya di-cache per request, bukan lintas panggilan — setiap pemanggilan tool melakukan resolusi ulang |
| ask_maguyva (guidance / evaluate) | Nyaris instan — berjalan in-Worker tanpa panggilan database |
Penanganan Error#
Semua metode API mengembalikan envelope terstruktur:
status: String —"success"atau"error". Sinyal degraded-match dan freshness ada di field bersarang sepertimetadata.resolution_reasonpada repository_context ataumetadata.index_freshness.status.tool: Nama tool yang menghasilkan respons inidata: Payload hasil kalau berhasil (strukturnya bervariasi per tool)error: Objek error terstruktur kalaustatusadalah"error"— mencakuptype,message,suggestions, danrecovery_actionsmetadata: Informasi tambahan tentang operasinya (routing, caching, penyesuaian parameter)pagination: Ada di respons list — mencakuphas_moredannext_cursor
Selalu periksa field status sebelum memproses hasil — nilainya hanya "success" atau "error". Untuk sinyal degraded-match atau freshness, baca field bersarang sebagai gantinya: metadata.resolution_reason pada repository_context, atau metadata.index_freshness.status (known/partial/unknown/unavailable).
Memulai#
- Konfigurasi Klien MCP: Arahkan klien MCP Anda ke endpoint server Maguyva
- Konfirmasi Akses Repository: Gunakan repository_context dengan list atau info untuk memeriksa repositori yang dapat diakses oleh API key
- Mulai Mencari: Mulai dengan intelligent_search dan jelajahi tools khusus sesuai kebutuhan
- Gabungkan Tools: Gunakan beberapa tools bersama untuk analisis kode menyeluruh
Untuk instruksi integrasi lebih detail, lihat panduan instalasi.