Langkau ke kandungan

Rujukan API MCP

Rujukan lengkap untuk semua 11 tool MCP Maguyva yang menghadap pelanggan. Setiap tool merangkumi parameter, panduan penggunaan, dan cadangan sesuai-untuk.

Gambaran Keseluruhan API#

API MCP Maguyva kini mendedahkan 11 tool yang menghadap pelanggan merentas 4 kategori utama:

  • Tool Carian Teras - Keupayaan carian termaju merentas codebase anda
  • Tool Struktural & Graf - Query AST, symbol lookup, dan dependency analysis
  • Tool Analisis Kod - Analisis kod mendalam dan pemetaan hubungan
  • Tool Sistem & Utiliti - Konteks repositori, compute deterministik, dan panduan

Semua tool menggunakan format pengenal repositori yang konsisten: "owner/repo:branch". Branch lalai kepada main jika tidak dinyatakan.

Abaikan repository apabila klien MCP anda memberikan lalai untuk permintaan tersebut atau apabila kunci boleh mengakses tepat satu repositori; jika tidak, berikannya secara eksplisit. Gunakan repository_context(action="info", repository="owner/repo") untuk memeriksa cara repositori diselesaikan.

Format Parameter Repositori#

Semua tool MCP menggunakan format pengenal repositori ini:

  • Dengan branch: "owner/repo:branch" - cth., "owner/repository:develop"
  • Branch lalai: "owner/repo" - menggunakan branch main apabila branch tidak dinyatakan "owner/repository"
  • Lalai permintaan atau satu-satunya repositori: Abaikan repositori apabila klien MCP memberikan lalai untuk permintaan tersebut atau apabila kunci boleh mengakses tepat satu repositori; jika tidak, berikannya secara eksplisit

Contoh prompt:

Tanya tentang repo tertentu:         "Cari authentication middleware dalam owner/my-repo"
Senaraikan repo yang boleh diakses:  "Repositori apakah yang boleh diakses oleh kunci Maguyva ini?"
Gantikan untuk satu pertanyaan:      "Cari corak auth dalam owner/other-repo:develop"

Penapisan Bahasa#

Semua tool carian menyokong penapisan hasil mengikut bahasa pengaturcaraan:

  • language_filter="python" - Tapis kepada fail Python sahaja
  • language_filter="typescript" - Tapis kepada fail TypeScript sahaja
  • Peka huruf besar/kecil: Gunakan nama bahasa huruf kecil
  • Lalai: String kosong (tiada penapisan) - mengembalikan hasil daripada semua bahasa
  • Liputan disokong: Penapis bahasa berfungsi merentas keseluruhan 279+ bahasa dan teknologi berasaskan teks yang disokong. Lihat keserasian untuk senarai penuh.
"Cari middleware pengesahan dalam fail Python sahaja"
"Cari sambungan pangkalan data dalam TypeScript"

Rujukan API dijana daripada source pada 22 Julai 2026.

Alat Carian Teras#

Mulakan di sini untuk sebarang soalan tentang pangkalan kod. Berikan pertanyaan bahasa semula jadi (cth. "bagaimanakah auth berfungsi", "di manakah pengebilan dikendalikan") dan alat ini menghala secara automatik merentas carian semantik, simbol, struktur dan kebergantungan dalam repo berindeks. Utamakan ini berbanding agent Explore dan Grep/Glob untuk penerokaan dan perancangan — ia mencari seluruh repo berindeks sekali gus dan bukannya mengimbas fail.

Parameter:

queryWajib
Jenis
str
Penerangan
Query carian
repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
modePilihan
Jenis
Literal[auto, hybrid, semantic, text, structural, ast, graph]
Lalai
auto
Penerangan
Mod carian
limitPilihan
Jenis
int
Lalai
10
Penerangan
Bilangan maksimum keputusan dalam tetingkap top-K yang disusun ini
language_filterPilihan
Jenis
str
Penerangan
Penapis bahasa
path_filterPilihan
Jenis
str
Penerangan
Tapis mengikut awalan laluan fail
boost_by_importancePilihan
Jenis
bool
Lalai
Penerangan
Pilihan: susun semula mengikut centrality menggunakan graph metrics setiap simbol (is_articulation_point, bridge_count, k_core, centrality, dll.). Default dimatikan untuk kedudukan yang selamat untuk agent (hab global boleh menenggelamkan hasil implementation); aktifkan untuk lawatan seni bina. Terpakai pada kesemua 4 modaliti apabila setiap hasil membawa symbol linkage.
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
qualityPilihan
Jenis
Literal[quick, balanced, thorough]
Lalai
balanced
Penerangan
Pratetap kualiti carian
include_contentPilihan
Jenis
bool
Lalai
true
Penerangan
Sertakan kandungan dalam hasil carian
explain_routingPilihan
Jenis
bool
Lalai
Penerangan
Sertakan penjelasan keputusan penghalaan
importance_weightPilihan
Jenis
float
Lalai
0.3
Penerangan
Berat untuk meningkatkan kepentingan (0=tiada, 1=penuh)
orphansPilihan
Jenis
bool
Lalai
Penerangan
Sertakan simbol anak yatim (tiada rujukan masuk)
include_community_contextPilihan
Jenis
bool
Lalai
Penerangan
Sertakan simbol berkaitan daripada komuniti kod yang sama
community_depthPilihan
Jenis
int
Lalai
1
Penerangan
Kedalaman pengembangan konteks komuniti
graph_viewPilihan
Jenis
Literal[dependency, type, data_flow, control_flow]
Lalai
dependency
Penerangan
Paparan graf untuk metrik
seed_symbol_idsPilihan
Jenis
list[str]
Penerangan
Benih tugas Tier-1: ID simbol pusat kepada tugas semasa. Apabila ditetapkan, susun semula pukulan bercantum mengikut kedekatan pereputan kedalaman Approach A (padanan benih tepat + lompat tepi graf). Aditif — tinggalkan untuk kedudukan global.
seed_file_pathsPilihan
Jenis
list[str]
Penerangan
Benih tugas Tier-1: laluan fail diindeks ejen telah membuka atau baru sahaja diedit. Apabila ditetapkan, susun semula hits bercantum mengikut kedekatan laluan dengan pereputan kedalaman 1/(1+d) (fail yang sama → dir yang sama → pakej berdekatan). Aditif — tinggalkan untuk kedudukan global.

Sesuai Untuk:

  • Penerokaan index-wide atau cold-start apabila tool yang betul tidak jelas
  • Ranking gabungan pelbagai-mod merentasi semantic, text, structural, dan graph

Tidak Disyorkan Untuk:

  • Nama symbol yang diketahui — gunakan find_symbol terus
  • Path yang diketahui pada cakera — gunakan local Read/Grep dahulu

Cari kod mengikut makna, bukan teks tepat. Gunakan untuk pertanyaan konsep seperti "cuba semula logik" atau "aliran onboarding pengguna" apabila anda tidak mengetahui kata kunci atau nama simbol. Mengembalikan ketulan kod yang paling berkaitan yang ditarafkan mengikut kepentingan. Lebih suka daripada Grep apabila carian adalah konseptual.

Parameter:

queryWajib
Jenis
str
Penerangan
Pertanyaan carian (konseptual, berasaskan makna)
repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
limitPilihan
Jenis
int
Lalai
5
Penerangan
Bilangan maksimum keputusan dalam tetingkap top-K yang disusun ini
similarity_thresholdPilihan
Jenis
float
Lalai
0.6
Penerangan
Skor persamaan minimum
language_filterPilihan
Jenis
str
Penerangan
Penapis bahasa (python, typescript, dsb.)
path_filterPilihan
Jenis
str
Penerangan
Tapis mengikut awalan laluan fail
boost_by_importancePilihan
Jenis
bool
Lalai
Penerangan
Pilihan: susun semula mengikut PageRank centrality (default dimatikan untuk kedudukan yang selamat untuk agent; aktifkan untuk lawatan seni bina)
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan (lalai: daripada param repositori atau utama)
include_contentPilihan
Jenis
bool
Lalai
true
Penerangan
Sertakan kandungan ketulan dalam hasil carian
graph_viewPilihan
Jenis
Literal[dependency, type, data_flow, control_flow]
Lalai
dependency
Penerangan
Graph view untuk metrics

Sesuai Untuk:

  • Pertanyaan konsep ("how does auth work?", "caching strategy")
  • Carian persamaan merentas pakej

Tidak Disyorkan Untuk:

  • Nama symbol yang diketahui — gunakan find_symbol sebagai gantinya
  • String tepat atau mesej ralat — gunakan text_pattern_search

Cari kandungan diindeks. Mod tepat dan regex grep fail penuh/blob corpus; mod kandungan kabur mencari korpus bongkah semantik terikat. Skop fail dan simbol adalah kabur sahaja. Gunakan Grep setempat untuk direktori ketat yang sudah ada pada cakera.

Parameter:

queryWajib
Jenis
str
Penerangan
Corak teks untuk dicari
repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
modePilihan
Jenis
Literal[fuzzy, exact, regex]
Lalai
exact
Penerangan
Mod carian
search_scopePilihan
Jenis
Literal[content, symbols, files]
Lalai
content
Penerangan
Apa yang hendak dicari
limitPilihan
Jenis
int
Lalai
5
Penerangan
Bilangan maksimum keputusan yang dikembalikan pada halaman ini
offsetPilihan
Jenis
int
Penerangan
Offset keserasian yang sudah lapuk. Utamakan cursor daripada pagination.next_cursor.
cursorPilihan
Jenis
str
Penerangan
Cursor opaque daripada pagination.next_cursor. Hantar tanpa perubahan dan kekalkan query serta filter tidak berubah.
language_filterPilihan
Jenis
str
Penerangan
Penapis bahasa
path_filterPilihan
Jenis
str
Penerangan
Tapis mengikut awalan laluan fail
case_sensitivePilihan
Jenis
bool
Lalai
Penerangan
Padanan sensitif huruf besar-besaran
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
fuzzy_algorithmPilihan
Jenis
Literal[hybrid, trigram, levenshtein]
Lalai
hybrid
Penerangan
Algoritma padanan kabur
thresholdPilihan
Jenis
float
Lalai
0.05
Penerangan
Ambang kesamaan minimum untuk fuzzy
semantic_fallbackPilihan
Jenis
bool
Lalai
Penerangan
Kembali ke carian semantik jika tiada hasil

Sesuai Untuk:

  • String tepat, mesej ralat, dan regex
  • Padanan trigram fuzzy untuk teks hampir sepadan

Tidak Disyorkan Untuk:

  • Path yang diketahui pada cakera — utamakan local Grep
  • Pertanyaan konsep — gunakan semantic_search

Alat Struktur & Graf#

Utamakan preset=functions|classes|methods|imports|variables (atau pattern= bebas). Cari kod mengikut bentuk AST (bukan teks). Filter peringkat pertengahan: name_pattern, node_type, decorator, parent_child. Filter path/ltree/call adalah advanced — tetapkan advanced=true apabila sengaja menggunakannya; kunci advanced yang rata masih diterima untuk back-compat. Berikan sekurang-kurangnya satu structural selector.

Parameter:

repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
presetPilihan
Jenis
Literal[functions, classes, methods, imports, variables]
Penerangan
Structural selector yang disyorkan. Berkembang kepada jenis node AST merentas bahasa — functions (takrifan function/arrow/method merentas bahasa); classes (takrifan class/struct/impl); methods (takrifan method (dan function_definition untuk bahasa tanpa node method)); imports (pernyataan import/use/include); variables (pengisytiharan variable/let/const/static). Utamakan ini berbanding pattern/node_type bebas untuk query bergaya browse.
patternPilihan
Jenis
str
Penerangan
Pattern Free-form apabila preset terlalu kasar (dikesan secara automatik: 'def foo(' → node_type + name_pattern). Utamakan preset= untuk query browse.
name_patternPilihan
Jenis
str
Penerangan
Pattern nama symbol (wildcard shell, regex POSIX terhad, atau teks fuzzy; maksimum 256 aksara)
node_typePilihan
Jenis
str
Penerangan
Jenis node AST (function_definition, class_definition, dll.) — utamakan preset= untuk bentuk lazim
decoratorPilihan
Jenis
str
Penerangan
Penapis nama decorator
base_classPilihan
Jenis
str
Penerangan
Penapis kelas asas
language_filterPilihan
Jenis
str
Penerangan
Penapis bahasa (python, typescript, dsb.)
limitPilihan
Jenis
int
Lalai
20
Penerangan
Bilangan maksimum keputusan yang dikembalikan pada halaman ini
offsetPilihan
Jenis
int
Penerangan
Offset keserasian yang sudah lapuk. Utamakan cursor daripada pagination.next_cursor.
cursorPilihan
Jenis
str
Penerangan
Cursor opaque daripada pagination.next_cursor. Hantar tanpa perubahan dan kekalkan query serta filter tidak berubah.
path_filterPilihan
Jenis
str
Penerangan
Tapis mengikut awalan laluan fail
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
query_typePilihan
Jenis
Literal[node_type, name_pattern, parent_child]
Penerangan
Jenis pertanyaan eksplisit
parent_typePilihan
Jenis
str
Penerangan
Penapis jenis nod AST induk
relationshipPilihan
Jenis
Literal[parent, ancestor]
Lalai
parent
Penerangan
Untuk pertanyaan parent_child: induk langsung sahaja, atau mana-mana nenek moyang (gunakan ancestor untuk kaedah kelas bersarang di bawah badan/blok kelas)
has_modifierPilihan
Jenis
str
Penerangan
Tapis mengikut pengubah suai (eksport, tak segerak, statik, dsb.)
advancedPilihan
Jenis
bool
Lalai
Penerangan
Tetapkan true apabila sengaja menggunakan laluan lanjutan, penapis ltree atau panggilan (ltree_ancestor, ltree_descendant, min_depth, max_depth, field_role, definition_name, callee_text, callee_name). Secara lalai, false memastikan antara muka ejen tertumpu pada pratetap. Kekunci lanjutan dalam format rata masih berfungsi untuk keserasian ke belakang, dengan amaran metadata.
callee_textPilihan
Jenis
str
Penerangan
Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter teks callee ungkapan call. Tetapkan advanced=true apabila sengaja menggunakan filter path/ltree/call.
callee_namePilihan
Jenis
str
Penerangan
Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter nama callee ungkapan call. Tetapkan advanced=true apabila sengaja menggunakan filter path/ltree/call.
field_rolePilihan
Jenis
str
Penerangan
Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter field role AST. Tetapkan advanced=true apabila sengaja menggunakan filter path/ltree/call.
ltree_ancestorPilihan
Jenis
str
Penerangan
Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter path ltree ancestor AST. Tetapkan advanced=true apabila sengaja menggunakan filter path/ltree/call.
ltree_descendantPilihan
Jenis
str
Penerangan
Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter path ltree descendant AST. Tetapkan advanced=true apabila sengaja menggunakan filter path/ltree/call.
definition_namePilihan
Jenis
str
Penerangan
Advanced — utamakan preset=functions|classes|methods|imports|variables. Filter nama definition. Tetapkan advanced=true apabila sengaja menggunakan filter path/ltree/call.
min_depthPilihan
Jenis
int
Penerangan
Advanced — utamakan preset=functions|classes|methods|imports|variables. Minimum AST depth. Tetapkan advanced=true apabila sengaja menggunakan filter path/ltree/call.
max_depthPilihan
Jenis
int
Penerangan
Advanced — utamakan preset=functions|classes|methods|imports|variables. Maximum AST depth. Tetapkan advanced=true apabila sengaja menggunakan filter path/ltree/call.

Sesuai Untuk:

  • Struktur peringkat AST: class, decorator, preset function/method
  • Mencari kod mengikut bentuk, bukan teks

Tidak Disyorkan Untuk:

  • Pertanyaan free-text atau konsep — gunakan semantic_search atau intelligent_search

Permukaan blast-radius / graph utama. Menjawab "apa yang memanggil ini?" / "apa yang menggunakan ini?" melalui call/import graph sebenar. Untuk impak 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). Impak PR/diff (P1-8): hantar changed_paths dan/atau patch (unified diff) — menyelesaikan symbol bagi setiap path dan mengembalikan payload dependents shallow-incoming yang padat tanpa memerlukan nama symbol. Selepas edit, tetapkan verify_after_edit=true dengan targets dan/atau changed_paths untuk pertanyaan semula multi-root yang padat bagi symbol yang terjejas. Turut menyokong dependencies, centrality, dan orphans. analyze_dependencies ialah alias nipis untuk laluan impact — utamakan tool ini untuk agent baharu.

Parameter:

repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
queryPilihan
Jenis
str
Penerangan
Nama simbol atau istilah carian
targetPilihan
Jenis
str
Penerangan
Nama simbol (alias untuk pertanyaan)
changed_pathsPilihan
Jenis
list[str]
Penerangan
Laluan Repo-relatif untuk kesan PR/diff (lalai) atau, dengan verify_after_edit=true, pasca edit sahkan punca. PR/diff: menyelesaikan simbol setiap laluan dan berjalan tanggungan masuk cetek; boleh digabungkan dengan patch=. Sahkan: menyelesaikan sehingga 5 simbol setiap laluan sebagai sahkan akar (dihadkan lebih rendah di dalam mod pengesahan). Tidak memerlukan query/target untuk kesan PR/diff.
patchPilihan
Jenis
str
Penerangan
Kesan PR/diff: teks tampalan perbezaan / git bersatu. Laluan dihuraikan daripada pengepala diff --git / --- / +++; laluan hentaman padat yang sama seperti changed_paths.
analysis_typePilihan
Jenis
Literal[centrality, dependencies, dependents, impact, orphans]
Lalai
dependencies
Penerangan
Mod analysis. impact = blast radius (dependents incoming; depth shallow apabila depth tidak dinyatakan). dependents turut menjawab impact. Apabila changed_paths atau patch ditetapkan, analysis dipaksa menjadi impak PR/diff. centrality/orphans tidak memerlukan target.
depthPilihan
Jenis
Literal[shallow, balanced, deep]
Lalai
balanced
Penerangan
Traversal depth. Bagi analysis_type=impact dan impak PR/diff, default efektifnya ialah shallow melainkan anda menetapkan depth secara eksplisit.
limitPilihan
Jenis
int
Lalai
20
Penerangan
Bilangan maksimum keputusan yang dikembalikan pada halaman ini
offsetPilihan
Jenis
int
Penerangan
Offset keserasian yang sudah lapuk. Utamakan cursor daripada pagination.next_cursor.
cursorPilihan
Jenis
str
Penerangan
Cursor opaque daripada pagination.next_cursor. Hantar tanpa perubahan dan kekalkan query serta filter tidak berubah.
path_filterPilihan
Jenis
str
Penerangan
Menghadkan resolusi target symbol mengikut prefix file path; hubungan graph yang dikembalikan boleh melangkaui path tersebut
language_filterPilihan
Jenis
str
Penerangan
Filter resolusi target dan keputusan browse mengikut bahasa
directionPilihan
Jenis
Literal[outgoing, incoming, both]
Penerangan
Arah lintasan (mengatasi inferens analysis_type)
relationship_typesPilihan
Jenis
list[str]
Penerangan
Filter jenis edge (CALL, IMPORT, INHERITS_FROM, dll.). Senarai yang tidak kosong akan menggantikan default graph_view.
exclude_test_pathsPilihan
Jenis
bool
Lalai
true
Penerangan
Default true: mengecualikan path test, fixture, vendor, dan contoh daripada keputusan traversal dan centrality. Tetapkan false untuk menyertakannya. Analysis orphan sentiasa mengenakan pengecualian noise-nya sendiri yang lebih ketat.
exclude_generated_pathsPilihan
Jenis
bool
Lalai
Penerangan
Kecualikan pengisytiharan yang dijana serta laluan binaan, liputan, cache, peta sumber dan artifak terkecil daripada hasil traversal
include_module_symbolsPilihan
Jenis
bool
Lalai
Penerangan
Secara lalai, false mengecualikan tepi graf apabila from_name atau to_name ialah simbol __module__ sintetik (bunyi tahap modul). Tetapkan true untuk memasukkan tepi peringkat modul dalam hasil untuk perhubungan bergantung dan pergantungan.
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
per_hop_limitPilihan
Jenis
int
Penerangan
Bilangan maksimum relationship setiap hop (1-300)
include_metricsPilihan
Jenis
bool
Lalai
Penerangan
Graph metrics pilihan pada baris keputusan (dipadatkan bersama refactor_risk). Metrics turut diambil secara dalaman apabila min_centrality>0 tetapi tidak dikembalikan melainkan ini true.
metrics_detailPilihan
Jenis
Literal[summary, full]
Lalai
summary
Penerangan
Apabila include_metrics=true: summary (lalai) mengembalikan isyarat keputusan + refactor_risk; full mengembalikan set metrik susun atur yang lebih besar
include_edge_metadataPilihan
Jenis
bool
Lalai
Penerangan
Sertakan metadata tepi mentah dan pemberat (besar). Muatan impak padat meninggalkan perkara ini.
symbol_typesPilihan
Jenis
list[str]
Penerangan
Filter symbol yang dikembalikan mengikut jenis (function, class, method, dll.)
exact_matchPilihan
Jenis
bool
Lalai
Penerangan
Memerlukan padanan nama simbol yang tepat
find_similar_patternsPilihan
Jenis
bool
Lalai
Penerangan
Cari corak penggunaan yang serupa
min_centralityPilihan
Jenis
float
Lalai
0
Penerangan
Skor PageRank minimum. Metrics diambil secara dalaman untuk filtering; graph_metrics hanya dikembalikan apabila include_metrics=true.
graph_viewPilihan
Jenis
Literal[dependency, type, data_flow, control_flow]
Lalai
dependency
Penerangan
Graph view yang digunakan untuk default traversal relationship, metrics, dan kedudukan centrality; analysis orphan dikira merentas semua view
verify_after_editPilihan
Jenis
bool
Lalai
Penerangan
Mod pengesahan pasca edit P2-7: tanya semula graf impak yang diindeks untuk simbol yang diedit baru-baru ini dalam satu respons berbilang akar padat. Memerlukan targets dan/atau changed_paths (atau target/query). Lalai kepada tanggungan masuk cetek; keputusan mencerminkan graf yang diindeks (mungkin ketinggalan suntingan langsung). Apabila benar, diutamakan daripada kesan PR/diff pada changed_paths yang sama.
targetsPilihan
Jenis
list[str]
Penerangan
Apabila verify_after_edit=true: nama simbol untuk mengesahkan semula (pemanggil/tanggungan). Digabungkan dengan target/query jika kedua-duanya dibekalkan.

Sesuai Untuk:

  • Analisis blast-radius / impact sebelum menyunting symbol yang dikongsi
  • PR/diff impact melalui changed_paths atau patch
  • Pengesahan selepas edit melalui verify_after_edit

Tidak Disyorkan Untuk:

  • Carian text atau symbol yang mudah — gunakan text_pattern_search atau find_symbol

Alat Analisis Kod#

find_symbolStabil

Lompat ke tempat fungsi, kelas atau pembolehubah ditakrifkan dan digunakan. Gunakan apabila anda mengetahui nama (cth. "getCurrentUser") — lebih pantas dan lebih tepat daripada Grep, dan ia merangkumi keseluruhan repo yang diindeks. Secara pilihan mengembalikan rujukan dan metrik kepentingan.

Parameter:

symbol_namePilihan
Jenis
str
Penerangan
Nama simbol untuk dicari (pilihan — abaikan untuk menyemak imbas berdasarkan metrik)
repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
scopePilihan
Jenis
Literal[definitions, references, both]
Lalai
both
Penerangan
Skop carian
limitPilihan
Jenis
int
Lalai
15
Penerangan
Bilangan maksimum keputusan yang dikembalikan pada halaman ini
offsetPilihan
Jenis
int
Penerangan
Offset keserasian yang sudah lapuk. Utamakan cursor daripada pagination.next_cursor.
cursorPilihan
Jenis
str
Penerangan
Cursor opaque daripada pagination.next_cursor. Hantar tanpa perubahan dan kekalkan query serta filter tidak berubah.
find_similarPilihan
Jenis
bool
Lalai
Penerangan
Sertakan nama simbol yang serupa
include_metricsPilihan
Jenis
bool
Lalai
Penerangan
Sertakan metrik kepusatan
metrics_detailPilihan
Jenis
Literal[summary, full]
Lalai
summary
Penerangan
Apabila include_metrics=true: summary (lalai) mengembalikan isyarat keputusan + refactor_risk; full mengembalikan set metrik susun atur yang lebih besar
path_filterPilihan
Jenis
str
Penerangan
Tapis mengikut awalan laluan fail
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
symbol_typePilihan
Jenis
Literal[function, class, variable, method, constant, module, interface, type]
Penerangan
Tapis mengikut jenis simbol
high_impactPilihan
Jenis
bool
Lalai
Penerangan
Layari symbol yang penting dari segi seni bina (abaikan symbol_name). Mod default ialah popularity (desil PageRank teratas tolak utility mega-hub). Tetapkan high_impact_mode=risk untuk articulation/bridge cut-vertex.
high_impact_modePilihan
Jenis
Literal[popularity, risk]
Lalai
popularity
Penerangan
Apabila high_impact=true: populariti = atas PageRank desil tolak utiliti mega-hab/modul; risiko = titik artikulasi ditarafkan mengikut SMV bridge_count kemudian k_core (risiko refactor struktur, bukan populariti hab)
in_cyclePilihan
Jenis
bool
Lalai
Penerangan
Tapis kepada simbol dalam kitaran pergantungan
exclude_test_pathsPilihan
Jenis
bool
Lalai
true
Penerangan
Apabila menyemak imbas mengikut metrik graf, kecualikan ujian, fixtures, kod pihak ketiga dan contoh sebelum kedudukan. Carian mengikut simbol bernama tidak berubah.

Sesuai Untuk:

  • Menyematkan definition, reference, dan graph metric bagi symbol yang diketahui
  • Menyemak imbas mengikut centrality, high_impact, atau in_cycle apabila symbol_name ditinggalkan

Tidak Disyorkan Untuk:

  • Pertanyaan konsep atau kawasan tidak diketahui — gunakan intelligent_search atau semantic_search

analyze_dependenciesStabil

Alias untuk blast-radius melalui dependency_search (dependents/incoming). Utamakan dependency_search dengan analysis_type="dependents" atau "impact" untuk agent baharu. Mengekalkan bentuk respons impact multi-hop lama (graph, connection_summary, metrics pilihan bersama refactor_risk). Gunakan graph_view untuk menghadkan relationship family: dependency (default), type, data_flow, control_flow.

Parameter:

repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
targetWajib
Jenis
str
Penerangan
Nama simbol untuk dianalisis
depthPilihan
Jenis
Literal[shallow, balanced, deep]
Lalai
balanced
Penerangan
Kedalaman analisis
limitPilihan
Jenis
int
Lalai
10
Penerangan
Bilangan maksimum keputusan yang dikembalikan pada halaman ini
offsetPilihan
Jenis
int
Penerangan
Offset keserasian yang sudah lapuk. Utamakan cursor daripada pagination.next_cursor.
cursorPilihan
Jenis
str
Penerangan
Cursor opaque daripada pagination.next_cursor. Hantar tanpa perubahan dan kekalkan query serta filter tidak berubah.
directionPilihan
Jenis
Literal[incoming, outgoing, both]
Lalai
incoming
Penerangan
Arah lintasan
relationship_typesPilihan
Jenis
list[str]
Penerangan
Jenis tepi penapis (CALL, IMPORT, INHERITS_FROM, dll.). Sentiasa mengatasi lalai yang diperolehi graph_view di bawah apabila dibekalkan.
graph_viewPilihan
Jenis
Literal[dependency, type, data_flow, control_flow]
Lalai
dependency
Penerangan
Paparan graf: menentukan kedua-dua jenis sisi perentasan lalai dan metrik paparan yang digunakan apabila include_metrics=true. dependency=[CALL,IMPORT,EXPORTS,REFERENCE,INSTANTIATES] ialah lalai, type=[INHERITS_FROM,IMPLEMENTS,OVERRIDE,DECORATES,OF_TYPE], data_flow=[READS,WRITES,ASSIGNS_TO], dan control_flow=[CONTROL_FLOW,THROWS,CATCHES]. Nilai ini hanya digunakan sebagai lalai relationship_types apabila relationship_types tidak diberikan secara nyata. Nama parameter graph_view yang sama seperti dalam dependency_search digunakan untuk memastikan kekonsistenan antara alat.
path_filterPilihan
Jenis
str
Penerangan
Menghadkan resolusi target symbol mengikut prefix file path; hubungan graph yang dikembalikan boleh melangkaui path tersebut
language_filterPilihan
Jenis
str
Penerangan
Penapis bahasa
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
per_hop_limitPilihan
Jenis
int
Penerangan
Bilangan maksimum relationship setiap hop (1-300)
include_metricsPilihan
Jenis
bool
Lalai
Penerangan
Sertakan metrik graf dalam hasil, setiap satu diperkaya dengan blok refactor_risk terbitan ({risk: "low"|"medium"|"high", is_articulation_point, bridge_count, k_core, graph_view, reasons}). risiko ialah "low" apabila bukan titik artikulasi (dalam paparan yang dipilih), "medium" apabila titik artikulasi merapatkan beberapa tepi, "high" apabila merapatkan banyak (ambang heuristik, tidak disahkan secara empirik). Diabaikan setiap simbol apabila tiada baris metrik wujud untuk simbol/pandangan itu.
metrics_detailPilihan
Jenis
Literal[summary, full]
Lalai
summary
Penerangan
Apabila include_metrics=true: summary (lalai) mengembalikan isyarat keputusan + refactor_risk; full mengembalikan set metrik susun atur yang lebih besar
include_edge_metadataPilihan
Jenis
bool
Lalai
Penerangan
Sertakan metadata tepi mentah dan pemberat. Dilumpuhkan secara lalai kerana metadata pengekstrak boleh menjadi besar; liputan pengayaan dilaporkan apabila didayakan.
exclude_test_pathsPilihan
Jenis
bool
Lalai
true
Penerangan
true lalai: kecualikan ujian, lekapan, vendor dan laluan contoh daripada tepi graf yang dikembalikan. Tetapkan false untuk memasukkannya.
include_module_symbolsPilihan
Jenis
bool
Lalai
Penerangan
Secara lalai, false mengecualikan tepi graf apabila from_name atau to_name ialah simbol __module__ sintetik. Tetapkan true untuk memasukkan tepi peringkat modul.

Sesuai Untuk:

  • Legacy caller yang sudah disambungkan kepada bentuk response-nya (graph, connection_summary)

Tidak Disyorkan Untuk:

  • Agent loop baharu — utamakan dependency_search, yang berkongsi traversal core yang sama

get_task_contextStabil

Baru mula bekerja di kawasan yang tidak dikenali? Terangkan task (cth. "tambah sokongan SSO", "betulkan billing webhook") dan dapatkan satu bungkusan file, kod, symbol, dan dependency berkaitan dalam satu panggilan terhad. File yang di-seed menyumbang kandungan indexed terus walaupun tidak mentakrifkan sebarang symbol. Untuk lebih banyak keputusan, teruskan dengan search tool khusus untuk lapisan tersebut.

Parameter:

task_descriptionWajib
Jenis
str
Penerangan
Penerangan tentang tugasan yang anda perlukan konteks
repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
limitPilihan
Jenis
int
Lalai
15
Penerangan
Hasil maksimum setiap lapisan
scopePilihan
Jenis
Literal[semantic, symbols, dependencies, all]
Lalai
all
Penerangan
Lapisan konteks yang hendak disertakan
language_filterPilihan
Jenis
str
Penerangan
Penapis bahasa
path_filterPilihan
Jenis
str
Penerangan
Tapis mengikut awalan laluan fail
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
include_related_contextPilihan
Jenis
bool
Lalai
Penerangan
Sertakan konteks berkaitan daripada simbol bersebelahan
seed_symbol_idsPilihan
Jenis
list[str]
Penerangan
Benih eksplisit Tahap-1: ID simbol yang sudah diketahui oleh ejen adalah penting kepada tugasan (cth. simbol dalam fail yang telah dibuka). Kedudukan di hadapan benih terbitan kata kunci dalam lapisan dependensi/related_context. Aditif — tinggalkan untuk tingkah laku kata kunci sahaja hari ini.
seed_file_pathsPilihan
Jenis
list[str]
Penerangan
Seed eksplisit Tier-1: path file indexed yang sedang dibuka atau baru sahaja diedit oleh agent. Mengembalikan bukti file terus yang terhad dan menyelesaikan sehingga 5 symbol setiap file untuk graph context, termasuk dokumen dan config tanpa symbol. Bersifat tambahan — abaikan untuk kelakuan keyword-only.

Sesuai Untuk:

  • Task-aware context yang mencampurkan file yang di-seed dengan lapisan semantic, symbol, dan dependency

Tidak Disyorkan Untuk:

  • Carian single-tool apabila tool yang lebih khusus sudah menjawab soalan tersebut

get_fileStabil

Baca file daripada repo indexed mengikut path. Utamakan Read tool tempatan untuk file di dalam disk — gunakan ini untuk carian cross-repo atau remote apabila file tiada dalam working tree anda. Menyokong line range pilihan; teruskan respons token-truncated daripada metadata.next_line_start.

Parameter:

file_pathWajib
Jenis
str
Penerangan
Laluan fail relatif kepada akar repositori
repositoryPilihan
Jenis
str
Penerangan
Repositori sebagai owner/repo[:branch]. Pilihan — abaikan untuk menggunakan lalai klien bagi permintaan tersebut (jika diberikan) atau satu-satunya repositori yang boleh diakses; berikan secara eksplisit hanya untuk menyasarkan repo berindeks yang lain. Respons menunjukkan repositori yang digunakan.
line_startPilihan
Jenis
int
Penerangan
Baris mula (berindeks dari 1)
line_endPilihan
Jenis
int
Penerangan
Baris akhir (1-indexed, inklusif; mesti pada atau selepas line_start)
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
max_tokensPilihan
Jenis
int
Lalai
5000
Penerangan
Token maksimum untuk dikembalikan
include_metadataPilihan
Jenis
bool
Lalai
true
Penerangan
Sertakan metadata fail sebagai tindak balas

Sesuai Untuk:

  • Snapshot file remote atau indexed (line range, token limit)

Tidak Disyorkan Untuk:

  • Path yang sudah ada pada cakera tempatan — gunakan Read tool tempatan

Alat Sistem & Utiliti#

repository_contextStabil

Senaraikan repository yang boleh anda cari, atau dapatkan maklumat identity tentang satu (namespace/branch, indexed_commit_sha / index freshness). Panggil dengan action:"list" sekali untuk mengetahui repo slug tepat yang diterima oleh search tools. (Jika key anda hanya mempunyai satu repo, search tools akan default kepadanya — anda boleh langkau ini.) Bilangan file/blob/edge merentas namespace adalah pilihan melalui include_statistics=true.

Parameter:

actionWajib
Jenis
Literal[list, info]
Penerangan
Tindakan: list untuk menyenaraikan repo yang tersedia atau info untuk mendapatkan maklumat repo
repositoryPilihan
Jenis
str
Penerangan
Repositori dalam format owner/repo atau owner/repo:branch (diperlukan untuk info)
branchPilihan
Jenis
str
Penerangan
Gantikan cawangan
patternPilihan
Jenis
str
Penerangan
Tapis senarai repositori mengikut corak
include_statisticsPilihan
Jenis
bool
Lalai
Penerangan
Pilihan: sertakan bilangan indexed-data merentas namespace (file/blob/edge). Default false — identity repository tidak memerlukan agregat yang lebih perlahan ini.
limitPilihan
Jenis
int
Lalai
20
Penerangan
Bilangan maksimum keputusan yang dikembalikan pada halaman ini
offsetPilihan
Jenis
int
Penerangan
Mengimbangi keserasian yang ditamatkan. Lebih suka cursor daripada pagination.next_cursor.
cursorPilihan
Jenis
str
Penerangan
cursor legap daripada pagination.next_cursor. Hantarnya tidak berubah dan pastikan pertanyaan dan penapis tidak berubah.

Sesuai Untuk:

  • Menyenaraikan repository yang boleh diakses
  • Menyelesaikan repository identity, branch, dan HEAD-vs-index freshness

Tidak Disyorkan Untuk:

  • Statistik merentas namespace secara lalai — hantar include_statistics=true secara eksplisit, kerana ia mungkin lebih perlahan daripada resolution

ask_maguyvaStabil

Bantuan dan maklum balas Maguyva. Utama: dapatkan tool guidance, atau hantar bug report / feature request yang disimpan untuk penyelenggara Maguyva. Jangan sesekali sertakan secret atau data peribadi sensitif dalam maklum balas. Operasi evaluate kekal hanya untuk back-compat — utamakan pengiraan tempatan atau host tools untuk kerja math/hash/string.

Parameter:

operationWajib
Jenis
Literal[guidance, report_bug, request_feature, evaluate]
Penerangan
Utama: guidance, report_bug, request_feature. Legacy/compat sahaja: evaluate (deterministic expression engine; bukan sebahagian daripada aliran kerja agent utama).
queryPilihan
Jenis
str
Penerangan
Topik guidance (cth. tool_selection, semantic_search). Untuk evaluate legacy sahaja: expression string.
descriptionPilihan
Jenis
str
Penerangan
Diperlukan untuk report_bug dan request_feature. Maklum balas Free-form untuk penyelenggara Maguyva. Jangan sesekali sertakan secret atau data peribadi sensitif.
related_toolPilihan
Jenis
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]
Penerangan
Alat Maguyva pilihan yang paling berkait rapat dengan maklum balas

Sesuai Untuk:

  • Tool guidance (operation="guidance")
  • Bug report dan feature request kekal untuk penyelenggara Maguyva

Tidak Disyorkan Untuk:

  • Pengiraan math/hash/string — operasi evaluate kekal hanya untuk back-compat; utamakan pengiraan host tempatan

Amalan Terbaik#

  1. Gunakan Penggantian Eksplisit Dengan Sengaja: Abaikan repositori apabila klien MCP anda memberikan lalai untuk permintaan tersebut atau apabila kunci boleh mengakses tepat satu repositori; jika tidak, berikannya secara eksplisit.
  2. Pilih Mod Carian yang Betul: Gunakan intelligent_search dengan mode="auto" untuk kebanyakan kes. Tentukan mod apabila anda tahu dengan tepat apa yang anda perlukan.
  3. Manfaatkan Penapis Bahasa: Gunakan language_filter untuk mengecilkan keputusan dan meningkatkan prestasi.
  4. Peningkatan GraphRAG: Peningkatan kepentingan GraphRAG untuk carian semantik dilumpuhkan secara lalai (boost_by_importance=false) untuk memastikan susunan kekal selamat untuk ejen. Hantar boost_by_importance=true untuk mendayakan penyusunan semula peka-kesentralan bagi lawatan seni bina.
  5. Padanan Repositori Tidak Peka Huruf Besar/Kecil, Bukan Fuzzy: repository_context memadankan nama repositori tanpa mengira huruf besar/kecil — ia tidak membetulkan kesilapan menaip. Semak metadata.resolution_reason pada tindakan info ("exact" berbanding "corrected") untuk melihat cara sesuatu nama diselesaikan.
  6. Gabungkan Alat: Gunakan berbilang kaedah API bersama-sama untuk analisis komprehensif.
  7. Mengendalikan Keputusan Besar: Gunakan limit dan kawalan halaman khusus alat (contohnya line_start/line_end dalam get_file).
  8. Gunakan ask_maguyva untuk Panduan Alat: Operasi evaluate pada ask_maguyva (hash, base64, JSON, matematik) hanyalah legasi / untuk keserasian ke belakang sahaja. Sebaliknya, panggil ask_maguyva dengan operation="guidance" dan query="tool_selection" untuk mendapatkan matriks local-tool-wins dan helaian rujukan penuh bagi setiap alat.
  9. Sahkan Kesan Sebelum dan Selepas Menyunting: Sebelum menyunting simbol yang dikongsi, panggil dependency_search dengan analysis_type="impact" (atau hantar changed_paths untuk kesan PR/diff) untuk melihat radius kesannya. Selepas menyunting, tetapkan verify_after_edit=true dengan targets dan/atau changed_paths untuk semakan semula ringkas bagi simbol yang sama.

Ciri Prestasi#

OperasiNota prestasi
Carian semantikBawah satu saat, tetapi melibatkan panggilan API embedding secara langsung setiap kali (tidak dicache) — jangkakan kependaman tambahan di atas pertanyaan vektor
Carian teksBawah satu saat untuk exact/regex; carian kandungan fuzzy melakukan penomboran halaman di sisi klien, jadi offset yang mendalam lebih mahal — sempitkan dengan path_filter/language_filter
Carian strukturDiindeks AST — kos berskala mengikut jumlah hasil, bukan saiz repositori
Carian kebergantunganKos berskala mengikut depth — utamakan depth="shallow" melainkan anda memerlukan konteks multi-hop; per_hop_limit mengehadkan fan-out
Pengambilan failHampir seketika untuk satu fail — gunakan line_start/line_end atau max_tokens untuk memparamkan fail besar berbanding menarik satu fail besar sekaligus
Konteks repositoriResolusi namespace hanya dicache setiap permintaan, bukan merentasi panggilan — setiap panggilan alat menyelesaikan semula
ask_maguyva (guidance / evaluate)Hampir seketika — berjalan in-Worker tanpa panggilan pangkalan data

Pengendalian Ralat#

Semua kaedah API mengembalikan envelope berstruktur:

  • status: String — "success" atau "error". Isyarat degraded-match dan kesegaran terletak dalam medan bersarang seperti metadata.resolution_reason pada repository_context atau metadata.index_freshness.status.
  • tool: Nama tool yang menghasilkan respons
  • data: Payload hasil apabila berjaya (struktur berbeza mengikut tool)
  • error: Objek ralat berstruktur apabila status ialah "error" — merangkumi type, message, suggestions, dan recovery_actions
  • metadata: Maklumat tambahan mengenai operasi (routing, caching, pelarasan parameter)
  • pagination: Hadir pada respons senarai — merangkumi has_more dan next_cursor

Sentiasa semak medan status sebelum memproses hasil — nilainya hanya "success" atau "error". Untuk isyarat degraded-match atau kesegaran, baca medan bersarang sebaliknya: metadata.resolution_reason pada repository_context, atau metadata.index_freshness.status (known/partial/unknown/unavailable).

Bermula#

  1. Konfigurasikan klien MCP: Halakan klien MCP anda ke endpoint pelayan Maguyva
  2. Sahkan akses repositori: Gunakan repository_context dengan "list" atau "info" untuk memeriksa repositori yang tersedia kepada kunci API
  3. Mulakan carian: Mulakan dengan intelligent_search dan terokai alat khusus apabila diperlukan
  4. Gabungkan alat: Gunakan beberapa alat bersama-sama untuk analisis kod yang menyeluruh

Untuk arahan integrasi terperinci, lihat panduan pemasangan.