Passer au contenu

Référence de l'API MCP

Référence complète pour les 11 outils MCP Maguyva orientés client. Chaque outil comprend ses paramètres, des conseils d'usage et des recommandations d'usage idéal.

Vue d'ensemble de l'API#

L'API MCP de Maguyva expose actuellement 11 outils orientés client répartis en 4 catégories principales :

  • Outils de recherche principaux - Fonctionnalités de recherche avancées dans votre base de code
  • Outils structurels et de graphes - Requêtes AST, recherche de symboles et analyse des dépendances
  • Outils d'analyse de code - Analyse approfondie du code et cartographie des relations
  • Outils système et utilitaires - Contexte du dépôt, calcul déterministe et assistance

Tous les outils utilisent un format d'identifiant de dépôt cohérent : "owner/repo:branch". La branche prend par défaut main si elle n'est pas précisée.

Omettez repository lorsque votre client MCP fournit une valeur par défaut pour la requête ou lorsque la clé permet d’accéder à un seul dépôt ; sinon, transmettez-le explicitement. Utilisez repository_context(action="info", repository="owner/repo") pour vérifier la manière dont un dépôt est résolu.

Format du paramètre de dépôt#

Tous les outils MCP utilisent ce format d'identifiant de dépôt :

  • Avec branche: "owner/repo:branch" - ex. : "owner/repository:develop"
  • Branche par défaut: "owner/repo" - utilise la branche main quand aucune branche n'est précisée "owner/repository"
  • Valeur par défaut de la requête ou du dépôt unique: Omettez le dépôt lorsque le client MCP fournit une valeur par défaut pour la requête ou lorsque la clé permet d’accéder à un seul dépôt ; sinon, transmettez-le explicitement

Exemples de prompts:

Interroger un dépôt précis :     "Cherche dans owner/my-repo le middleware d'authentification"
Lister les dépôts accessibles :  "À quels dépôts cette clé Maguyva peut-elle accéder ?"
Surcharger pour une requête :    "Cherche dans owner/other-repo:develop des patterns d'auth"

Filtrage par langage#

Tous les outils de recherche supportent le filtrage des résultats par langage de programmation :

  • language_filter="python" - Filtrer sur les fichiers Python uniquement
  • language_filter="typescript" - Filtrer sur les fichiers TypeScript uniquement
  • Sensible à la casse: Utilisez les noms de langages en minuscules
  • Par défaut: Chaîne vide (aucun filtrage) - renvoie les résultats de tous les langages
  • Couverture supportée: Les filtres de langage fonctionnent sur l'ensemble des 279+ langages et technologies textuelles supportés. Voir compatibilité pour la liste complète.
"Trouve le middleware d'authentification uniquement dans les fichiers Python"
"Cherche les connexions base de données en TypeScript"

Référence de l'API générée à partir du code source le 22 juillet 2026.

Outils de recherche principaux#

Commencez ici pour toute question sur le code. Formulez une requête en langage naturel (p. ex. « comment fonctionne l'authentification ? », « où la facturation est-elle gérée ? ») : elle sera automatiquement dirigée vers la recherche sémantique, symbolique, structurelle ou de dépendances sur tout le dépôt indexé. Pour l'exploration et la planification, préférez cet outil à l'agent Explore et à Grep/Glob : il interroge tout le dépôt en une fois au lieu de parcourir les fichiers.

Paramètres :

queryRequis
Type
str
Description
Requête de recherche
repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
modeOptionnel
Type
Literal[auto, hybrid, semantic, text, structural, ast, graph]
Par défaut
auto
Description
Mode de recherche
limitOptionnel
Type
int
Par défaut
10
Description
Nombre maximal de résultats dans cette fenêtre top-K classée
language_filterOptionnel
Type
str
Description
Filtre de langage
path_filterOptionnel
Type
str
Description
Filtrer par préfixe de chemin de fichier
boost_by_importanceOptionnel
Type
bool
Par défaut
Description
Facultatif : reclasse selon la centralité à l'aide des métriques de graphe par symbole (is_articulation_point, bridge_count, k_core, centrality, etc.). Désactivé par défaut pour un classement sûr pour les agents (les hubs globaux peuvent noyer les résultats d'implémentation) ; activez-le pour les visites d'architecture. S'applique aux 4 modalités lorsque chaque résultat porte une liaison de symbole.
branchOptionnel
Type
str
Description
Remplacement de branche
qualityOptionnel
Type
Literal[quick, balanced, thorough]
Par défaut
balanced
Description
Qualité de recherche
include_contentOptionnel
Type
bool
Par défaut
true
Description
Inclure le contenu dans les résultats
explain_routingOptionnel
Type
bool
Par défaut
Description
Inclure l'explication de la décision de routage
importance_weightOptionnel
Type
float
Par défaut
0.3
Description
Poids de l'amplification par importance (0=aucune, 1=totale)
orphansOptionnel
Type
bool
Par défaut
Description
Renvoie les symboles sans référence entrante (code mort potentiel). Utile pour le nettoyage, mais peut inclure des décorateurs, des fonctions internes ou des points d'entrée CLI.
include_community_contextOptionnel
Type
bool
Par défaut
Description
Inclut les symboles apparentés de la même communauté de code pour un contexte plus large. Utile pour explorer le fonctionnement d'une fonctionnalité ou d'un module.
community_depthOptionnel
Type
int
Par défaut
1
Description
Profondeur d'expansion du contexte de communauté
graph_viewOptionnel
Type
Literal[dependency, type, data_flow, control_flow]
Par défaut
dependency
Description
Vue du graphe pour les métriques
seed_symbol_idsOptionnel
Type
list[str]
Description
Graines de tâche Tier-1 : ID de symboles centraux pour la tâche en cours. Lorsqu'il est défini, reclasse les hits fusionnés par proximité de profondeur-décroissance Approach A (correspondance exacte des graines + sauts de bord du graphique). Additif – à omettre pour le classement mondial.
seed_file_pathsOptionnel
Type
list[str]
Description
Graines de tâches Tier-1 : chemins de fichiers indexés que l'agent a ouverts ou vient de modifier. Lorsqu'il est défini, reclasse les hits fusionnés par proximité de chemin avec la décroissance de la profondeur 1/(1+d) (même fichier → même répertoire → packages à proximité). Additif – à omettre pour le classement mondial.

Idéal pour :

  • Exploration à l'échelle de l'index ou en démarrage à froid lorsque l'outil approprié n'est pas évident
  • Classement fusionné multimodal combinant recherche sémantique, textuelle, structurelle et de graphe

Déconseillé pour :

  • Un nom de symbole connu — utilisez directement find_symbol
  • Un chemin connu sur le disque — utilisez d'abord Read/Grep en local

Trouvez le code par son sens plutôt que par un texte exact. À utiliser pour des requêtes conceptuelles comme « logique de nouvelle tentative » ou « parcours d'intégration utilisateur » lorsque le mot-clé ou le symbole est inconnu. Renvoie les extraits les plus pertinents, classés par importance. Préférez-le à Grep pour une recherche conceptuelle.

Paramètres :

queryRequis
Type
str
Description
Requête de recherche (conceptuelle, fondée sur le sens)
repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
limitOptionnel
Type
int
Par défaut
5
Description
Nombre maximal de résultats dans cette fenêtre top-K classée
similarity_thresholdOptionnel
Type
float
Par défaut
0.6
Description
Score de similarité minimal
language_filterOptionnel
Type
str
Description
Filtrer les résultats aux fichiers détectés dans ce langage de programmation
path_filterOptionnel
Type
str
Description
Filtrer par préfixe de chemin de fichier
boost_by_importanceOptionnel
Type
bool
Par défaut
Description
Facultatif : reclasse selon la centralité PageRank (désactivé par défaut pour un classement sûr pour les agents ; activez-le pour les visites d'architecture)
branchOptionnel
Type
str
Description
Remplacement de branche (par défaut : paramètre repository ou main)
include_contentOptionnel
Type
bool
Par défaut
true
Description
Inclure le contenu des extraits dans les résultats
graph_viewOptionnel
Type
Literal[dependency, type, data_flow, control_flow]
Par défaut
dependency
Description
Vue du graphe pour les métriques

Idéal pour :

  • Requêtes conceptuelles (« comment fonctionne l'authentification ? », « stratégie de cache »)
  • Recherche de similarité inter-paquets

Déconseillé pour :

  • Un nom de symbole connu — utilisez plutôt find_symbol
  • Des chaînes exactes ou des messages d'erreur — utilisez text_pattern_search

Recherche dans le contenu indexé. Les modes exact et regex parcourent tout le corpus de fichiers/blobs ; le mode fuzzy content interroge le corpus borné d'extraits sémantiques. Les portées fichier et symbole n'acceptent que fuzzy. Utilisez Grep local pour un répertoire restreint déjà présent sur le disque.

Paramètres :

queryRequis
Type
str
Description
Motif textuel
repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
modeOptionnel
Type
Literal[fuzzy, exact, regex]
Par défaut
exact
Description
Mode de recherche
search_scopeOptionnel
Type
Literal[content, symbols, files]
Par défaut
content
Description
Éléments à rechercher
limitOptionnel
Type
int
Par défaut
5
Description
Nombre maximal de résultats renvoyés sur cette page
offsetOptionnel
Type
int
Description
Compensation de compatibilité obsolète. Préférez cursor de pagination.next_cursor.
cursorOptionnel
Type
str
Description
Curseur opaque de pagination.next_cursor. Transmettez-le inchangé et conservez la requête et les filtres inchangés.
language_filterOptionnel
Type
str
Description
Filtre de langage
path_filterOptionnel
Type
str
Description
Filtrer par préfixe de chemin de fichier
case_sensitiveOptionnel
Type
bool
Par défaut
Description
Sensible à la casse
branchOptionnel
Type
str
Description
Remplacement de branche
fuzzy_algorithmOptionnel
Type
Literal[hybrid, trigram, levenshtein]
Par défaut
hybrid
Description
Algorithme de correspondance approximative
thresholdOptionnel
Type
float
Par défaut
0.05
Description
Seuil minimal de similarité pour la recherche approximative
semantic_fallbackOptionnel
Type
bool
Par défaut
Description
Revenir à la recherche sémantique en l'absence de résultat

Idéal pour :

  • Chaînes exactes, messages d'erreur et regex
  • Correspondance floue par trigrammes pour un texte presque identique

Déconseillé pour :

  • Un chemin connu sur le disque — préférez Grep en local
  • Requêtes conceptuelles — utilisez semantic_search

Outils structurels et de graphe#

Préférez preset=functions|classes|methods|imports|variables (ou pattern= libre). Trouvez le code par sa forme AST (pas par le texte). Filtres de niveau intermédiaire : name_pattern, node_type, decorator, parent_child. Les filtres de chemin/ltree/appel sont avancés — définissez advanced=true lorsque vous les utilisez délibérément ; les clés avancées à plat restent acceptées pour la rétrocompatibilité. Fournissez au moins un sélecteur structurel.

Paramètres :

repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
presetOptionnel
Type
Literal[functions, classes, methods, imports, variables]
Description
Sélecteur structurel privilégié. Se développe en types de nœuds AST multilingues — functions (définitions de fonction/flèche/méthode selon les langages) ; classes (définitions de classe/struct/impl) ; methods (définitions de méthode, et function_definition pour les langages sans nœud de méthode) ; imports (instructions import/use/include) ; variables (déclarations variable/let/const/static). À préférer à pattern/node_type libre pour les requêtes de type parcours.
patternOptionnel
Type
str
Description
Motif Free-form lorsque les préréglages sont trop grossiers (détecté automatiquement : 'def foo(' → node_type + name_pattern). Préférez preset= pour les requêtes de parcours.
name_patternOptionnel
Type
str
Description
Motif de nom de symbole (caractère générique shell, expression régulière POSIX bornée ou texte approximatif ; 256 caractères max.)
node_typeOptionnel
Type
str
Description
Type de nœud AST (function_definition, class_definition, etc.) — préférez preset= pour les formes courantes
decoratorOptionnel
Type
str
Description
Filtre par nom de décorateur
base_classOptionnel
Type
str
Description
Filtre par nom de classe de base (trouve les classes qui en héritent)
language_filterOptionnel
Type
str
Description
Filtre de langage
limitOptionnel
Type
int
Par défaut
20
Description
Nombre maximal de résultats renvoyés sur cette page
offsetOptionnel
Type
int
Description
Compensation de compatibilité obsolète. Préférez cursor de pagination.next_cursor.
cursorOptionnel
Type
str
Description
Curseur opaque de pagination.next_cursor. Transmettez-le inchangé et conservez la requête et les filtres inchangés.
path_filterOptionnel
Type
str
Description
Filtrer par préfixe de chemin de fichier
branchOptionnel
Type
str
Description
Remplacement de branche
query_typeOptionnel
Type
Literal[node_type, name_pattern, parent_child]
Description
Type de requête explicite
parent_typeOptionnel
Type
str
Description
Filtre du type de nœud AST parent
relationshipOptionnel
Type
Literal[parent, ancestor]
Par défaut
parent
Description
Pour les requêtes parent_child : parent direct uniquement, ou n'importe quel ancêtre (utilisez ancestor pour les méthodes de classe imbriquées dans le corps/bloc d'une classe)
has_modifierOptionnel
Type
str
Description
Filtrer par modificateur (export, async, static, etc.)
advancedOptionnel
Type
bool
Par défaut
Description
Définissez true lorsque vous utilisez intentionnellement des filtres de chemin, d'arbre ou d'appel avancés (ltree_ancestor, ltree_descendant, min_depth, max_depth, field_role, definition_name, callee_text, callee_name). Par défaut, false maintient l'interface de l'agent concentrée sur les préréglages. Les clés avancées au format plat fonctionnent toujours pour la compatibilité ascendante, avec un avertissement de métadonnées.
callee_textOptionnel
Type
str
Description
Avancé — préférez preset=functions|classes|methods|imports|variables. Filtre de texte de l'appelé d'une expression d'appel. Définissez advanced=true lorsque vous utilisez intentionnellement des filtres de chemin/ltree/appel.
callee_nameOptionnel
Type
str
Description
Avancé — préférez preset=functions|classes|methods|imports|variables. Filtre de nom de l'appelé d'une expression d'appel. Définissez advanced=true lorsque vous utilisez intentionnellement des filtres de chemin/ltree/appel.
field_roleOptionnel
Type
str
Description
Avancé — préférez preset=functions|classes|methods|imports|variables. Filtre de rôle de champ AST. Définissez advanced=true lorsque vous utilisez intentionnellement des filtres de chemin/ltree/appel.
ltree_ancestorOptionnel
Type
str
Description
Avancé — préférez preset=functions|classes|methods|imports|variables. Filtre de chemin ancêtre AST ltree. Définissez advanced=true lorsque vous utilisez intentionnellement des filtres de chemin/ltree/appel.
ltree_descendantOptionnel
Type
str
Description
Avancé — préférez preset=functions|classes|methods|imports|variables. Filtre de chemin descendant AST ltree. Définissez advanced=true lorsque vous utilisez intentionnellement des filtres de chemin/ltree/appel.
definition_nameOptionnel
Type
str
Description
Avancé — préférez preset=functions|classes|methods|imports|variables. Filtre de nom de définition. Définissez advanced=true lorsque vous utilisez intentionnellement des filtres de chemin/ltree/appel.
min_depthOptionnel
Type
int
Description
Avancé — préférez preset=functions|classes|methods|imports|variables. Profondeur AST minimale. Définissez advanced=true lorsque vous utilisez intentionnellement des filtres de chemin/ltree/appel.
max_depthOptionnel
Type
int
Description
Avancé — préférez preset=functions|classes|methods|imports|variables. Profondeur AST maximale. Définissez advanced=true lorsque vous utilisez intentionnellement des filtres de chemin/ltree/appel.

Idéal pour :

  • Structure au niveau AST : classes, décorateurs, presets function/method
  • Trouver du code par sa forme plutôt que par son texte

Déconseillé pour :

  • Requêtes en texte libre ou conceptuelles — utilisez semantic_search ou intelligent_search

Surface principale de rayon d'impact / graphe. Répond à « qu'est-ce qui appelle ceci ? » / « qu'est-ce que ceci utilise ? » via le vrai graphe d'appels/imports. Pour l'impact avant modification : analysis_type="dependents" ou analysis_type="impact" (entrant, profondeur superficielle par défaut pour impact), include_metrics=false par défaut (activez-le pour la centralité + refactor_risk). Impact PR/diff (P1-8) : transmettez changed_paths et/ou patch (diff unifié) — résout les symboles par chemin et renvoie une charge utile compacte de dépendants entrants superficiels sans nécessiter de nom de symbole. Après une modification, définissez verify_after_edit=true avec targets et/ou changed_paths pour une nouvelle requête compacte multi-racine des symboles impactés. Prend aussi en charge dependencies, centrality et orphans. analyze_dependencies est un alias léger pour le chemin impact — préférez cet outil pour les nouveaux agents.

Paramètres :

repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
queryOptionnel
Type
str
Description
Nom de symbole ou terme de recherche
targetOptionnel
Type
str
Description
Nom du symbole (alias de query)
changed_pathsOptionnel
Type
list[str]
Description
Chemins relatifs au dépôt pour l'impact de PR/diff (par défaut) ou, avec verify_after_edit=true, vérification post-édition des racines. PR/diff : résout les symboles par chemin et parcourt les dépendances entrantes superficielles ; peut être combiné avec patch=. Vérifier : résout jusqu'à 5 symboles par chemin en tant que racines de vérification (plafonnées en bas dans le mode de vérification). Ne nécessite pas query/target pour l'impact PR/diff.
patchOptionnel
Type
str
Description
Impact PR/diff : texte du patch diff/git unifié. Les chemins sont analysés à partir des en-têtes diff --git / --- / +++ ; même chemin d'impact compact que le changed_paths.
analysis_typeOptionnel
Type
Literal[centrality, dependencies, dependents, impact, orphans]
Par défaut
dependencies
Description
Mode d'analyse. impact = rayon d'impact (dépendants entrants ; profondeur superficielle quand depth est omis). dependents répond aussi à impact. Quand changed_paths ou patch est défini, l'analyse est forcée sur l'impact PR/diff. centrality/orphans ne nécessitent pas de target.
depthOptionnel
Type
Literal[shallow, balanced, deep]
Par défaut
balanced
Description
Profondeur de parcours. Pour analysis_type=impact et l'impact PR/diff, la valeur par défaut effective est shallow sauf si vous définissez depth explicitement.
limitOptionnel
Type
int
Par défaut
20
Description
Nombre maximal de résultats renvoyés sur cette page
offsetOptionnel
Type
int
Description
Compensation de compatibilité obsolète. Préférez cursor de pagination.next_cursor.
cursorOptionnel
Type
str
Description
Curseur opaque de pagination.next_cursor. Transmettez-le inchangé et conservez la requête et les filtres inchangés.
path_filterOptionnel
Type
str
Description
Restreint la résolution du symbole cible par préfixe de chemin de fichier ; les relations de graphe renvoyées peuvent sortir de ce chemin.
language_filterOptionnel
Type
str
Description
Filtrer la résolution de la cible et les résultats de parcours par langage
directionOptionnel
Type
Literal[outgoing, incoming, both]
Description
Direction de parcours (remplace l’inférence de analysis_type)
relationship_typesOptionnel
Type
list[str]
Description
Filtrer les types d'arête (CALL, IMPORT, INHERITS_FROM, etc.). Une liste non vide remplace les valeurs par défaut de graph_view.
exclude_test_pathsOptionnel
Type
bool
Par défaut
true
Description
Par défaut true : exclut les chemins de test, fixture, fournisseur et exemple des résultats de parcours et de centralité. Définissez false pour les inclure. L'analyse des orphelins applique toujours ses propres exclusions de bruit plus strictes.
exclude_generated_pathsOptionnel
Type
bool
Par défaut
Description
Exclure les déclarations générées ainsi que les chemins de construction, de couverture, de cache, de carte source et d'artefact minifié des résultats de traversée
include_module_symbolsOptionnel
Type
bool
Par défaut
Description
Par défaut, false exclut les bords du graphique lorsque from_name ou to_name est le symbole synthétique __module__ (bruit au niveau du module). Définissez true pour inclure les bords au niveau du module dans les résultats pour les relations dépendantes et de dépendance.
branchOptionnel
Type
str
Description
Remplacement de branche
per_hop_limitOptionnel
Type
int
Description
Nombre maximal de relations par saut (1-300)
include_metricsOptionnel
Type
bool
Par défaut
Description
Métriques de graphe facultatives sur les lignes de résultats (compactées avec refactor_risk). Les métriques sont aussi récupérées en interne quand min_centrality>0 mais ne sont renvoyées que si ce paramètre est true.
metrics_detailOptionnel
Type
Literal[summary, full]
Par défaut
summary
Description
Lorsque include_metrics=true : summary (par défaut) renvoie des signaux de décision + refactor_risk ; full renvoie le plus grand ensemble de métriques organisées
include_edge_metadataOptionnel
Type
bool
Par défaut
Description
Inclut les métadonnées brutes et les pondérations (grandes). Les charges utiles à impact compact laissent cela de côté.
symbol_typesOptionnel
Type
list[str]
Description
Filtrer les symboles renvoyés par type (function, class, method, etc.)
exact_matchOptionnel
Type
bool
Par défaut
Description
Exiger une correspondance exacte du nom de symbole (insensible à la casse). Désactive la correspondance approximative
find_similar_patternsOptionnel
Type
bool
Par défaut
Description
Trouver des motifs d’utilisation similaires
min_centralityOptionnel
Type
float
Par défaut
0
Description
Score PageRank minimal. Les métriques sont récupérées en interne pour le filtrage ; graph_metrics n'est renvoyé que lorsque include_metrics=true.
graph_viewOptionnel
Type
Literal[dependency, type, data_flow, control_flow]
Par défaut
dependency
Description
Vue du graphe utilisée pour les valeurs par défaut des relations de parcours, les métriques et le classement de centralité ; l'analyse des orphelins est calculée sur toutes les vues
verify_after_editOptionnel
Type
bool
Par défaut
Description
Mode de vérification post-édition P2-7 : réinterrogez le graphique d'impact indexé pour les symboles récemment édités dans une réponse multi-racine compacte. Nécessite targets et/ou changed_paths (ou target/query). La valeur par défaut est les personnes à charge entrantes superficielles ; les résultats reflètent le graphique indexé (peut être en retard sur les modifications en direct). Lorsque cela est vrai, a priorité sur l'impact de PR/diff sur le même changed_paths.
targetsOptionnel
Type
list[str]
Description
Lorsque verify_after_edit=true : noms de symboles à revérifier (appelants/dépendants). Fusionné avec target/query si les deux sont fournis.

Idéal pour :

  • Analyse du rayon d'impact avant de modifier un symbole partagé
  • Impact PR/diff via changed_paths ou patch
  • Vérification après modification via verify_after_edit

Déconseillé pour :

  • Recherches simples de texte ou de symboles — préférez text_pattern_search ou find_symbol

Outils d'analyse de code#

find_symbolStable

Accédez à la définition et aux utilisations d'une fonction, d'une classe ou d'une variable. À utiliser lorsque vous connaissez le nom (p. ex. « getCurrentUser ») : plus rapide et plus précis que Grep, sur tout le dépôt indexé. Peut aussi renvoyer les références et les métriques d'importance.

Paramètres :

symbol_nameOptionnel
Type
str
Description
Nom du symbole à rechercher (facultatif — omettez-le pour parcourir par métriques)
repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
scopeOptionnel
Type
Literal[definitions, references, both]
Par défaut
both
Description
Portée : definitions|references|both
limitOptionnel
Type
int
Par défaut
15
Description
Nombre maximal de résultats renvoyés sur cette page
offsetOptionnel
Type
int
Description
Compensation de compatibilité obsolète. Préférez cursor de pagination.next_cursor.
cursorOptionnel
Type
str
Description
Curseur opaque de pagination.next_cursor. Transmettez-le inchangé et conservez la requête et les filtres inchangés.
find_similarOptionnel
Type
bool
Par défaut
Description
Trouver des symboles similaires
include_metricsOptionnel
Type
bool
Par défaut
Description
Inclure les métriques de centralité
metrics_detailOptionnel
Type
Literal[summary, full]
Par défaut
summary
Description
Lorsque include_metrics=true : summary (par défaut) renvoie des signaux de décision + refactor_risk ; full renvoie le plus grand ensemble de métriques organisées
path_filterOptionnel
Type
str
Description
Filtrer par préfixe de chemin de fichier
branchOptionnel
Type
str
Description
Remplacement de branche
symbol_typeOptionnel
Type
Literal[function, class, variable, method, constant, module, interface, type]
Description
Filtre par type de symbole
high_impactOptionnel
Type
bool
Par défaut
Description
Parcourt les symboles architecturalement importants (omettez symbol_name). Le mode par défaut est popularity (décile PageRank supérieur moins les méga-hubs utilitaires). Définissez high_impact_mode=risk pour les points d'articulation/coupures de pont.
high_impact_modeOptionnel
Type
Literal[popularity, risk]
Par défaut
popularity
Description
Lorsque high_impact=true : popularité = premier décile de PageRank moins les méga-hubs/modules utilitaires ; risque = points d'articulation classés par SMV bridge_count puis k_core (risque de refactorisation structurelle, pas de popularité du hub)
in_cycleOptionnel
Type
bool
Par défaut
Description
Cycle uniquement
exclude_test_pathsOptionnel
Type
bool
Par défaut
true
Description
Lorsque vous parcourez les métriques du graphe, excluez les tests, les fixtures, le code tiers et les exemples avant le classement. La recherche de symboles nommés reste inchangée.

Idéal pour :

  • Repérer la définition, les références et les métriques de graphe d'un symbole connu
  • Parcourir par centrality, high_impact ou in_cycle lorsque symbol_name est omis

Déconseillé pour :

  • Requêtes conceptuelles ou zones inconnues — utilisez intelligent_search ou semantic_search

analyze_dependenciesStable

Alias pour le rayon d'impact via dependency_search (dependents/incoming). Préférez dependency_search avec analysis_type="dependents" ou "impact" pour les nouveaux agents. Conserve la forme de réponse historique multi-sauts pour l'impact (graph, connection_summary, métriques facultatives avec refactor_risk). Utilisez graph_view pour limiter la famille de relations : dependency (par défaut), type, data_flow, control_flow.

Paramètres :

repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
targetRequis
Type
str
Description
Nom du symbole à analyser
depthOptionnel
Type
Literal[shallow, balanced, deep]
Par défaut
balanced
Description
Profondeur d'analyse (alias pris en charge : auto, shallow/quick=1, balanced/medium=2, deep/thorough=3)
limitOptionnel
Type
int
Par défaut
10
Description
Nombre maximal de résultats renvoyés sur cette page
offsetOptionnel
Type
int
Description
Compensation de compatibilité obsolète. Préférez cursor de pagination.next_cursor.
cursorOptionnel
Type
str
Description
Curseur opaque de pagination.next_cursor. Transmettez-le inchangé et conservez la requête et les filtres inchangés.
directionOptionnel
Type
Literal[incoming, outgoing, both]
Par défaut
incoming
Description
Sens de parcours : 'outgoing' = ce dont dépend ce symbole (ses dépendances), 'incoming' = ce qui dépend de ce symbole (ses dépendants), 'both' = contexte complet. Utilisez 'incoming' pour trouver tous les appelants/utilisateurs d'un symbole.
relationship_typesOptionnel
Type
list[str]
Description
Filtrer les types d'arêtes (CALL, IMPORT, INHERITS_FROM, etc.). Lorsqu'il est fourni, ce paramètre remplace toujours la valeur par défaut dérivée de graph_view ci-dessous.
graph_viewOptionnel
Type
Literal[dependency, type, data_flow, control_flow]
Par défaut
dependency
Description
Vue du graphe : lorsque include_metrics=true, détermine à la fois les types d'arêtes de parcours par défaut et la vue dont les métriques sont utilisées. dependency=[CALL,IMPORT,EXPORTS,REFERENCE,INSTANTIATES] (par défaut), type=[INHERITS_FROM,IMPLEMENTS,OVERRIDE,DECORATES,OF_TYPE], data_flow=[READS,WRITES,ASSIGNS_TO], control_flow=[CONTROL_FLOW,THROWS,CATCHES]. Ne s'applique comme valeur par défaut de relationship_types que si relationship_types n'est pas fourni explicitement. Le nom de paramètre correspond au graph_view existant de dependency_search afin d'assurer la cohérence entre les outils.
path_filterOptionnel
Type
str
Description
Restreint la résolution du symbole cible par préfixe de chemin de fichier ; les relations de graphe renvoyées peuvent sortir de ce chemin.
language_filterOptionnel
Type
str
Description
Restreindre les résultats à un langage
branchOptionnel
Type
str
Description
Remplacement de branche
per_hop_limitOptionnel
Type
int
Description
Nombre maximal de relations par saut (1-300)
include_metricsOptionnel
Type
bool
Par défaut
Description
Inclure les métriques du graphe dans les résultats, chacune enrichie d'un bloc refactor_risk dérivé ({risk: "low"|"medium"|"high", is_articulation_point, bridge_count, k_core, graph_view, reasons}). Le risque vaut "low" si le symbole n'est pas un point d'articulation dans la vue choisie, "medium" s'il relie peu d'arêtes et "high" s'il en relie beaucoup (seuil heuristique non validé empiriquement). Le bloc est omis si aucune ligne de métriques n'existe pour ce symbole/cette vue.
metrics_detailOptionnel
Type
Literal[summary, full]
Par défaut
summary
Description
Lorsque include_metrics=true : summary (par défaut) renvoie des signaux de décision + refactor_risk ; full renvoie le plus grand ensemble de métriques organisées
include_edge_metadataOptionnel
Type
bool
Par défaut
Description
Incluez les métadonnées et les pondérations brutes. Désactivé par défaut car les métadonnées de l'extracteur peuvent être volumineuses ; la couverture d’enrichissement est signalée lorsqu’elle est activée.
exclude_test_pathsOptionnel
Type
bool
Par défaut
true
Description
Par défaut true : exclut les chemins de test, d'appareil, de fournisseur et d'exemple des bords du graphique renvoyés. Définissez false pour les inclure.
include_module_symbolsOptionnel
Type
bool
Par défaut
Description
Par défaut, false exclut les bords du graphique lorsque from_name ou to_name est le symbole synthétique __module__. Définissez true pour inclure les bords au niveau du module.

Idéal pour :

  • Appelants existants déjà conçus pour sa forme de réponse (graph, connection_summary)

Déconseillé pour :

  • Nouvelles boucles d'agent — préférez dependency_search, qui partage le même cœur de traversée

get_task_contextStable

Vous commencez dans une zone inconnue ? Décrivez la tâche (p. ex. « ajouter la prise en charge de SSO », « corriger le webhook de facturation ») et obtenez en un seul appel un paquet borné de fichiers, code, symboles et dépendances pertinents. Les fichiers de départ apportent du contenu indexé direct même s'ils ne définissent aucun symbole. Pour plus de résultats, poursuivez avec l'outil de recherche spécialisé pour cette couche.

Paramètres :

task_descriptionRequis
Type
str
Description
Description de la tâche
repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
limitOptionnel
Type
int
Par défaut
15
Description
Nombre maximal de résultats par couche
scopeOptionnel
Type
Literal[semantic, symbols, dependencies, all]
Par défaut
all
Description
Couches de contexte à inclure. Valeurs : 'semantic', 'symbols', 'dependencies', 'all'. Par défaut : ['semantic', 'symbols', 'dependencies']
language_filterOptionnel
Type
str
Description
Filtrer les résultats aux fichiers détectés dans ce langage de programmation
path_filterOptionnel
Type
str
Description
Filtrer par préfixe de chemin de fichier
branchOptionnel
Type
str
Description
Remplacement de branche
include_related_contextOptionnel
Type
bool
Par défaut
Description
Inclure le contexte associé des symboles adjacents
seed_symbol_idsOptionnel
Type
list[str]
Description
Graines explicites de niveau 1 : identifiants de symboles que l'agent sait déjà être centraux pour la tâche (p. ex. les symboles des fichiers ouverts). Elles sont classées avant les graines dérivées des mots-clés dans les couches dependencies/related_context. Ce paramètre est additif : omettez-le pour conserver le comportement actuel fondé uniquement sur les mots-clés.
seed_file_pathsOptionnel
Type
list[str]
Description
Graines explicites de niveau 1 : chemins de fichiers indexés que l'agent a ouverts ou vient de modifier. Renvoie des preuves de fichier directes et bornées, et résout jusqu'à 5 symboles par fichier pour le contexte de graphe, y compris la documentation et la configuration sans symbole. Additif — omettez pour un comportement fondé uniquement sur les mots-clés.

Idéal pour :

  • Contexte adapté à la tâche, mêlant les fichiers de départ aux couches sémantique, symbolique et de dépendances

Déconseillé pour :

  • Recherches à outil unique lorsqu'un outil plus spécifique répond déjà à la question

get_fileStable

Lisez un fichier du dépôt indexé par son chemin. Préférez l'outil Read local pour les fichiers présents sur le disque — utilisez celui-ci pour les recherches inter-dépôts ou distantes lorsque le fichier n'est pas dans l'arborescence de travail. Prend en charge une plage de lignes facultative ; poursuivez une réponse tronquée par les tokens à partir de metadata.next_line_start.

Paramètres :

file_pathRequis
Type
str
Description
Chemin du fichier relatif à la racine du dépôt
repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo[:branch]. Facultatif — omettez-le pour utiliser la valeur par défaut du client limitée à la requête (si elle est fournie) ou l’unique dépôt accessible ; transmettez-le explicitement uniquement pour cibler un autre dépôt indexé. La réponse indique le dépôt utilisé.
line_startOptionnel
Type
int
Description
Ligne de début (indexée à partir de 1)
line_endOptionnel
Type
int
Description
Ligne de fin (indexée à partir de 1, incluse ; doit être supérieure ou égale à line_start)
branchOptionnel
Type
str
Description
Remplacement de branche
max_tokensOptionnel
Type
int
Par défaut
5000
Description
Nombre maximal de tokens
include_metadataOptionnel
Type
bool
Par défaut
true
Description
Inclure les métadonnées

Idéal pour :

  • Instantanés de fichiers distants ou indexés (plages de lignes, limites de tokens)

Déconseillé pour :

  • Un chemin déjà présent sur le disque local — utilisez l'outil Read local

Outils système et utilitaires#

repository_contextStable

Listez les dépôts consultables, ou obtenez les informations d'identité d'un dépôt (espace de noms/branche, indexed_commit_sha / fraîcheur de l'index). Appelez avec action:"list" une fois pour connaître l'identifiant exact accepté par les outils de recherche. (Si votre clé ne donne accès qu'à un dépôt, celui-ci est utilisé par défaut — vous pouvez sauter cette étape.) Les comptes de fichiers/blobs/arêtes à l'échelle de l'espace de noms sont facultatifs via include_statistics=true.

Paramètres :

actionRequis
Type
Literal[list, info]
Description
Action : lister les dépôts disponibles ou obtenir les informations d'un dépôt
repositoryOptionnel
Type
str
Description
Dépôt au format owner/repo ou owner/repo:branch (obligatoire pour info)
branchOptionnel
Type
str
Description
Remplacement de branche
patternOptionnel
Type
str
Description
Motif de filtre
include_statisticsOptionnel
Type
bool
Par défaut
Description
Facultatif : inclut les comptes de données indexées à l'échelle de l'espace de noms (fichier/blob/arête). Faux par défaut — l'identité du dépôt ne nécessite pas cet agrégat plus lent.
limitOptionnel
Type
int
Par défaut
20
Description
Nombre maximal de résultats renvoyés sur cette page
offsetOptionnel
Type
int
Description
Compensation de compatibilité obsolète. Préférez cursor de pagination.next_cursor.
cursorOptionnel
Type
str
Description
Opaque cursor de pagination.next_cursor. Transmettez-le inchangé et conservez la requête et les filtres inchangés.

Idéal pour :

  • Lister les dépôts accessibles
  • Résoudre l'identité du dépôt, la branche et la fraîcheur de HEAD par rapport à l'index

Déconseillé pour :

  • Statistiques à l'échelle du namespace par défaut — transmettez explicitement include_statistics=true, car cela peut être plus lent que la simple résolution

ask_maguyvaStable

Aide et retours pour Maguyva. Usage principal : obtenir des conseils sur les outils, ou envoyer un rapport de bug / une demande de fonctionnalité conservés pour les mainteneurs de Maguyva. N'incluez jamais de secrets ni de données personnelles sensibles dans un retour. L'opération evaluate n'est conservée que pour la rétrocompatibilité — préférez le calcul local ou les outils hôtes pour les tâches de calcul/hachage/chaînes.

Paramètres :

operationRequis
Type
Literal[guidance, report_bug, request_feature, evaluate]
Description
Principal : guidance, report_bug, request_feature. Hérité/compatibilité uniquement : evaluate (moteur d'expressions déterministe ; ne fait pas partie du flux de travail principal de l'agent).
queryOptionnel
Type
str
Description
Sujet du guide (p. ex. tool_selection, semantic_search). Pour evaluate hérité uniquement : chaîne d'expression.
descriptionOptionnel
Type
str
Description
Obligatoire pour report_bug et request_feature. Retour Free-form destiné aux mainteneurs de Maguyva. N'incluez jamais de secrets ni de données personnelles sensibles.
related_toolOptionnel
Type
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]
Description
Outil facultatif Maguyva le plus étroitement lié au feedback

Idéal pour :

  • Conseils sur les outils (operation="guidance")
  • Rapports de bugs durables et demandes de fonctionnalités pour les mainteneurs de Maguyva

Déconseillé pour :

  • Calculs mathématiques/hash/chaînes — l'opération evaluate n'est conservée que pour la rétrocompatibilité ; préférez le calcul local ou les outils hôtes

Bonnes pratiques#

  1. Utiliser les remplacements explicites à bon escient: Omettez le dépôt lorsque votre client MCP fournit une valeur par défaut pour la requête ou lorsque la clé permet d’accéder à un seul dépôt ; sinon, transmettez-le explicitement.
  2. Choisir le bon mode de recherche: Utilisez intelligent_search avec mode="auto" pour la plupart des cas. Précisez un mode quand vous savez exactement ce dont vous avez besoin.
  3. Exploiter les filtres de langage: Utilisez language_filter pour restreindre les résultats et améliorer les performances.
  4. Boost GraphRAG: Le boost d'importance GraphRAG est désactivé par défaut pour la recherche sémantique (boost_by_importance=false), afin de garder le classement sûr pour les agents. Passez boost_by_importance=true pour activer le reclassement basé sur la centralité pour les visites d'architecture.
  5. La correspondance de dépôt ignore la casse, mais n'est pas floue: repository_context fait correspondre les noms de dépôt sans tenir compte de la casse — cela ne corrige pas les fautes de frappe. Vérifiez metadata.resolution_reason sur l'action info ("exact" contre "corrected") pour voir comment un nom a été résolu.
  6. Combiner les outils: Utilisez plusieurs méthodes d'API ensemble pour une analyse complète.
  7. Gérer les résultats volumineux: Utilisez limit et les contrôles de pagination spécifiques à l'outil (par exemple line_start/line_end dans get_file).
  8. Utiliser ask_maguyva pour l'orientation sur les outils: L'opération evaluate de ask_maguyva (hash, base64, JSON, calcul) est un mode legacy / rétrocompatibilité uniquement. Appelez plutôt ask_maguyva avec operation="guidance" et query="tool_selection" pour obtenir la matrice de priorité des outils locaux et un aide-mémoire complet outil par outil.
  9. Vérifier l'impact avant et après l'édition: Avant de modifier un symbole partagé, appelez dependency_search avec analysis_type="impact" (ou passez changed_paths pour l'impact d'une PR/diff) afin de voir son rayon d'impact. Après l'édition, définissez verify_after_edit=true avec targets et/ou changed_paths pour une revérification compacte des mêmes symboles.

Caractéristiques de performance#

OpérationRemarques sur les performances
Recherche sémantiqueMoins d'une seconde, mais inclut un appel API d'embedding en direct à chaque fois (non mis en cache) — attendez-vous à une latence supplémentaire en plus de la requête vectorielle
Recherche textuelleMoins d'une seconde pour les correspondances exactes/regex ; la recherche floue de contenu pagine côté client, donc les décalages profonds coûtent plus cher — affinez avec path_filter/language_filter
Recherche structurelleIndexée par AST — le coût évolue avec le volume de résultats, pas avec la taille du dépôt
Recherche de dépendancesLe coût évolue avec la profondeur — préférez depth="shallow" sauf si vous avez besoin d'un contexte multi-sauts ; per_hop_limit borne l'éventail des résultats
Récupération de fichierQuasi instantanée pour un seul fichier — paginez les gros fichiers avec line_start/line_end ou max_tokens plutôt que de tout récupérer d'un coup
Contexte du dépôtLa résolution de l'espace de noms est mise en cache uniquement pour la requête en cours, pas entre les appels — chaque invocation d'outil la résout à nouveau
ask_maguyva (guidance / evaluate)Quasi instantané — s'exécute dans le Worker sans appel base de données

Gestion des erreurs#

Toutes les méthodes de l'API renvoient une enveloppe structurée :

  • status: Chaîne — "success" ou "error". Les signaux de correspondance dégradée ou de fraîcheur se trouvent dans des champs imbriqués tels que metadata.resolution_reason sur repository_context ou metadata.index_freshness.status.
  • tool: Nom de l'outil qui a généré la réponse
  • data: Charge utile du résultat en cas de succès (la structure varie selon l'outil)
  • error: Objet d'erreur structuré quand status vaut "error" — inclut type, message, suggestions et recovery_actions
  • metadata: Informations complémentaires sur l'opération (routage, mise en cache, ajustements de paramètres)
  • pagination: Présent sur les réponses de liste — inclut has_more et next_cursor

Vérifiez toujours le champ status avant de traiter les résultats — il vaut uniquement "success" ou "error". Pour les signaux de correspondance dégradée ou de fraîcheur, consultez plutôt le champ imbriqué : metadata.resolution_reason sur repository_context, ou metadata.index_freshness.status (known/partial/unknown/unavailable).

Bien démarrer#

  1. Configurer le client MCP: Pointez votre client MCP vers le point de terminaison du serveur Maguyva
  2. Confirmer l'accès au dépôt: Utilisez repository_context avec list ou info pour examiner les dépôts accessibles à la clé API
  3. Commencer à rechercher: Commencez avec intelligent_search et explorez les outils spécialisés au besoin
  4. Combiner les outils: Utilisez plusieurs outils ensemble pour une analyse de code complète

Pour des instructions d'intégration détaillées, voir le guide d'installation.