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 sahajalanguage_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#
intelligent_searchStabil
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
semantic_searchStabil
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
text_pattern_searchStabil
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#
structural_searchStabil
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
dependency_searchStabil
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#
- 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.
- Pilih Mod Carian yang Betul: Gunakan
intelligent_searchdenganmode="auto"untuk kebanyakan kes. Tentukan mod apabila anda tahu dengan tepat apa yang anda perlukan. - Manfaatkan Penapis Bahasa: Gunakan
language_filteruntuk mengecilkan keputusan dan meningkatkan prestasi. - 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. - Padanan Repositori Tidak Peka Huruf Besar/Kecil, Bukan Fuzzy:
repository_contextmemadankan nama repositori tanpa mengira huruf besar/kecil — ia tidak membetulkan kesilapan menaip. Semakmetadata.resolution_reasonpada tindakan info ("exact"berbanding"corrected") untuk melihat cara sesuatu nama diselesaikan. - Gabungkan Alat: Gunakan berbilang kaedah API bersama-sama untuk analisis komprehensif.
- Mengendalikan Keputusan Besar: Gunakan
limitdan kawalan halaman khusus alat (contohnyaline_start/line_enddalamget_file). - Gunakan ask_maguyva untuk Panduan Alat: Operasi
evaluatepadaask_maguyva(hash, base64, JSON, matematik) hanyalah legasi / untuk keserasian ke belakang sahaja. Sebaliknya, panggilask_maguyvadenganoperation="guidance"danquery="tool_selection"untuk mendapatkan matriks local-tool-wins dan helaian rujukan penuh bagi setiap alat. - Sahkan Kesan Sebelum dan Selepas Menyunting: Sebelum menyunting simbol yang dikongsi, panggil
dependency_searchdengananalysis_type="impact"(atau hantarchanged_pathsuntuk kesan PR/diff) untuk melihat radius kesannya. Selepas menyunting, tetapkanverify_after_edit=truedengantargetsdan/atauchanged_pathsuntuk semakan semula ringkas bagi simbol yang sama.
Ciri Prestasi#
| Operasi | Nota prestasi |
|---|---|
| Carian semantik | Bawah satu saat, tetapi melibatkan panggilan API embedding secara langsung setiap kali (tidak dicache) — jangkakan kependaman tambahan di atas pertanyaan vektor |
| Carian teks | Bawah 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 struktur | Diindeks AST — kos berskala mengikut jumlah hasil, bukan saiz repositori |
| Carian kebergantungan | Kos berskala mengikut depth — utamakan depth="shallow" melainkan anda memerlukan konteks multi-hop; per_hop_limit mengehadkan fan-out |
| Pengambilan fail | Hampir seketika untuk satu fail — gunakan line_start/line_end atau max_tokens untuk memparamkan fail besar berbanding menarik satu fail besar sekaligus |
| Konteks repositori | Resolusi 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 sepertimetadata.resolution_reasonpada repository_context ataumetadata.index_freshness.status.tool: Nama tool yang menghasilkan responsdata: Payload hasil apabila berjaya (struktur berbeza mengikut tool)error: Objek ralat berstruktur apabilastatusialah"error"— merangkumitype,message,suggestions, danrecovery_actionsmetadata: Maklumat tambahan mengenai operasi (routing, caching, pelarasan parameter)pagination: Hadir pada respons senarai — merangkumihas_moredannext_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#
- Konfigurasikan klien MCP: Halakan klien MCP anda ke endpoint pelayan Maguyva
- Sahkan akses repositori: Gunakan repository_context dengan "list" atau "info" untuk memeriksa repositori yang tersedia kepada kunci API
- Mulakan carian: Mulakan dengan intelligent_search dan terokai alat khusus apabila diperlukan
- Gabungkan alat: Gunakan beberapa alat bersama-sama untuk analisis kod yang menyeluruh
Untuk arahan integrasi terperinci, lihat panduan pemasangan.