Referência da API MCP
Referência completa para todas as 11 ferramentas MCP do Maguyva voltadas ao cliente. Cada ferramenta inclui parâmetros, orientações de uso e recomendações de melhor uso.
Visão Geral da API#
A API MCP do Maguyva atualmente expõe 11 ferramentas voltadas ao cliente, em 4 categorias principais:
- Ferramentas de Busca Principais - Capacidades avançadas de busca no seu codebase
- Ferramentas Estruturais e de Grafo - Consultas AST, busca de símbolos e análise de dependências
- Ferramentas de Análise de Código - Análise profunda de código e mapeamento de relações
- Ferramentas de Sistema e Utilitários - Contexto de repositório, computação determinística e orientação
Todas as ferramentas usam um formato do identificador de repositório consistente: "owner/repo:branch". A branch usa main por padrão, se não for especificada.
Omita repository quando o cliente MCP fornecer um padrão para a solicitação ou quando a chave puder acessar exatamente um repositório; caso contrário, informe-o explicitamente. Use repository_context(action="info", repository="owner/repo") para verificar como um repositório é resolvido.
Formato do Parâmetro de Repositório#
Todas as ferramentas MCP usam este formato de identificador de repositório:
- Com branch:
"owner/repo:branch"- ex.:"owner/repository:develop" - Branch padrão:
"owner/repo"- usa a branch main quando nenhuma branch é especificada"owner/repository" - Padrão da solicitação ou do único repositório: Omita o repositório quando o cliente MCP fornecer um padrão para a solicitação ou quando a chave puder acessar exatamente um repositório; caso contrário, informe-o explicitamente
Exemplos de prompts:
Pergunte sobre um repositório específico: "Busque middleware de autenticação em owner/my-repo"
Listar repositórios acessíveis: "Quais repositórios esta chave do Maguyva pode acessar?"
Substitua para uma consulta: "Busque padrões de autenticação em owner/other-repo:develop"Filtro de Linguagem#
Todas as ferramentas de busca oferecem suporte a filtro de resultados por linguagem de programação:
language_filter="python"- Filtra apenas arquivos Pythonlanguage_filter="typescript"- Filtra apenas arquivos TypeScript- Sensível a maiúsculas/minúsculas: Use nomes de linguagem em minúsculas
- Padrão: String vazia (sem filtro) - retorna resultados de todas as linguagens
- Cobertura suportada: Os filtros de linguagem funcionam em toda a cobertura de 279+ linguagens e tecnologias baseadas em texto suportados. Veja compatibilidade para a lista completa.
"Encontre middleware de autenticação só em arquivos Python"
"Busque conexões de banco de dados em TypeScript"Referência de API gerada a partir do código-fonte em 22 de julho de 2026.
Ferramentas de Busca Principais#
intelligent_searchEstável
Comece aqui para qualquer pergunta sobre o código. Faça uma consulta em linguagem natural (por exemplo, “como funciona a autenticação?” ou “onde o faturamento é tratado?”) e ela será roteada automaticamente entre as buscas semântica, de símbolos, estrutural e de dependências em todo o repositório indexado. Para exploração e planejamento, prefira esta ferramenta ao agente Explore e a Grep/Glob: ela busca no repositório inteiro de uma vez, em vez de examinar arquivos.
Parâmetros:
queryObrigatório- Tipo
str- Descrição
- Consulta de busca
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
modeOpcional- Tipo
Literal[auto, hybrid, semantic, text, structural, ast, graph]- Padrão
auto- Descrição
- Modo de busca
limitOpcional- Tipo
int- Padrão
10- Descrição
- Máximo de resultados nesta janela top-K classificada
language_filterOpcional- Tipo
str- Descrição
- Filtro de linguagem
path_filterOpcional- Tipo
str- Descrição
- Filtrar por prefixo do caminho do arquivo
boost_by_importanceOpcional- Tipo
bool- Padrão
- Descrição
- Opcional: reordena por centralidade usando métricas de grafo por símbolo (is_articulation_point, bridge_count, k_core, centrality etc.). Desativado por padrão para uma classificação segura para agentes (hubs globais podem afogar os resultados de implementação); ative para tours de arquitetura. Aplica-se às 4 modalidades quando cada resultado carrega um vínculo de símbolo.
branchOpcional- Tipo
str- Descrição
- Substituição de branch
qualityOpcional- Tipo
Literal[quick, balanced, thorough]- Padrão
balanced- Descrição
- Qualidade da busca
include_contentOpcional- Tipo
bool- Padrão
true- Descrição
- Incluir conteúdo nos resultados
explain_routingOpcional- Tipo
bool- Padrão
- Descrição
- Incluir a explicação da decisão de roteamento
importance_weightOpcional- Tipo
float- Padrão
0.3- Descrição
- Peso do reforço por importância (0=nenhum, 1=total)
orphansOpcional- Tipo
bool- Padrão
- Descrição
- Retorna símbolos sem referências de entrada (potencial código morto). Útil para limpeza, mas pode incluir decoradores, funções internas, pontos de entrada de CLI.
include_community_contextOpcional- Tipo
bool- Padrão
- Descrição
- Inclui símbolos relacionados da mesma comunidade de código para contexto mais amplo. Útil ao explorar como uma funcionalidade ou módulo funciona.
community_depthOpcional- Tipo
int- Padrão
1- Descrição
- Profundidade de expansão do contexto da comunidade
graph_viewOpcional- Tipo
Literal[dependency, type, data_flow, control_flow]- Padrão
dependency- Descrição
- Visualização do grafo para métricas
seed_symbol_idsOpcional- Tipo
list[str]- Descrição
- Sementes de tarefas Tier-1: IDs de símbolos centrais para a tarefa atual. Quando definido, reclassifica os acertos fundidos pela proximidade de decaimento de profundidade Approach A (correspondência exata de semente + saltos na borda do gráfico). Aditivo — omitir para classificação global.
seed_file_pathsOpcional- Tipo
list[str]- Descrição
- Sementes de tarefas Tier-1: caminhos de arquivos indexados que o agente abriu ou acabou de editar. Quando definido, reclassifica os hits fundidos por proximidade do caminho com decaimento de profundidade 1/(1+d) (mesmo arquivo → mesmo diretório → pacotes próximos). Aditivo — omitir para classificação global.
Melhor Para:
- Exploração em todo o índice ou em partida a frio quando a ferramenta certa não é clara
- Classificação fundida multimodal entre busca semântica, textual, estrutural e de grafo
Não Recomendado Para:
- Um nome de símbolo conhecido — use find_symbol diretamente
- Um caminho conhecido em disco — use primeiro Read/Grep local
semantic_searchEstável
Encontre código pelo significado, não pelo texto exato. Use em consultas conceituais como “lógica de repetição” ou “fluxo de integração de usuários” quando você não souber a palavra-chave ou o símbolo. Retorna os trechos mais relevantes, classificados por importância. Em buscas conceituais, prefira esta ferramenta a Grep.
Parâmetros:
queryObrigatório- Tipo
str- Descrição
- Consulta de busca (conceitual, baseada em significado)
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
limitOpcional- Tipo
int- Padrão
5- Descrição
- Máximo de resultados nesta janela top-K classificada
similarity_thresholdOpcional- Tipo
float- Padrão
0.6- Descrição
- Pontuação mínima de similaridade
language_filterOpcional- Tipo
str- Descrição
- Filtra resultados para arquivos detectados nesta linguagem de programação
path_filterOpcional- Tipo
str- Descrição
- Filtrar por prefixo do caminho do arquivo
boost_by_importanceOpcional- Tipo
bool- Padrão
- Descrição
- Opcional: reordena por centralidade PageRank (desativado por padrão para classificação segura para agentes; ative para tours de arquitetura)
branchOpcional- Tipo
str- Descrição
- Substituição de branch (padrão: parâmetro repository ou main)
include_contentOpcional- Tipo
bool- Padrão
true- Descrição
- Incluir o conteúdo dos trechos nos resultados
graph_viewOpcional- Tipo
Literal[dependency, type, data_flow, control_flow]- Padrão
dependency- Descrição
- Visualização do grafo para métricas
Melhor Para:
- Consultas conceituais (“como funciona a autenticação?”, “estratégia de cache”)
- Busca de similaridade entre pacotes
Não Recomendado Para:
- Um nome de símbolo conhecido — use find_symbol em vez disso
- Strings exatas ou mensagens de erro — use text_pattern_search
text_pattern_searchEstável
Busca o conteúdo indexado. Os modos exact e regex pesquisam todo o corpus de arquivos/blobs; fuzzy content pesquisa o corpus limitado de trechos semânticos. Os escopos de arquivo e símbolo aceitam apenas fuzzy. Use Grep local para um diretório restrito já disponível no disco.
Parâmetros:
queryObrigatório- Tipo
str- Descrição
- Padrão de texto
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
modeOpcional- Tipo
Literal[fuzzy, exact, regex]- Padrão
exact- Descrição
- Modo de busca
search_scopeOpcional- Tipo
Literal[content, symbols, files]- Padrão
content- Descrição
- O que buscar
limitOpcional- Tipo
int- Padrão
5- Descrição
- Máximo de resultados retornados nesta página
offsetOpcional- Tipo
int- Descrição
- Deslocamento de compatibilidade obsoleto. Prefira cursor de pagination.next_cursor.
cursorOpcional- Tipo
str- Descrição
- Cursor opaco de pagination.next_cursor. Passe-o inalterado e mantenha a consulta e os filtros inalterados.
language_filterOpcional- Tipo
str- Descrição
- Filtro de linguagem
path_filterOpcional- Tipo
str- Descrição
- Filtrar por prefixo do caminho do arquivo
case_sensitiveOpcional- Tipo
bool- Padrão
- Descrição
- Diferencia maiúsculas de minúsculas
branchOpcional- Tipo
str- Descrição
- Substituição de branch
fuzzy_algorithmOpcional- Tipo
Literal[hybrid, trigram, levenshtein]- Padrão
hybrid- Descrição
- Algoritmo de correspondência aproximada
thresholdOpcional- Tipo
float- Padrão
0.05- Descrição
- Limite mínimo de similaridade para a busca aproximada
semantic_fallbackOpcional- Tipo
bool- Padrão
- Descrição
- Recorrer à busca semântica se não houver resultados
Melhor Para:
- Strings exatas, mensagens de erro e regex
- Correspondência fuzzy por trigramas para texto quase correspondente
Não Recomendado Para:
- Um caminho conhecido em disco — prefira Grep local
- Consultas conceituais — use semantic_search
Ferramentas Estruturais e de Grafo#
structural_searchEstável
Prefira preset=functions|classes|methods|imports|variables (ou pattern= livre). Encontre código pela forma AST (não pelo texto). Filtros de nível intermediário: name_pattern, node_type, decorator, parent_child. Os filtros de caminho/ltree/chamada são avançados — defina advanced=true ao usá-los deliberadamente; as chaves avançadas no formato simples continuam aceitas por retrocompatibilidade. Forneça pelo menos um seletor estrutural.
Parâmetros:
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
presetOpcional- Tipo
Literal[functions, classes, methods, imports, variables]- Descrição
- Seletor estrutural preferido. Expande-se para tipos de nó AST entre linguagens — functions (definições de função/arrow/método conforme a linguagem); classes (definições de class/struct/impl); methods (definições de método, e function_definition para linguagens sem nó de método); imports (instruções import/use/include); variables (declarações variable/let/const/static). Prefira em vez de pattern/node_type livre para consultas de navegação.
patternOpcional- Tipo
str- Descrição
- Padrão Free-form quando as predefinições são grosseiras demais (detecção automática: 'def foo(' → node_type + name_pattern). Prefira preset= para consultas de navegação.
name_patternOpcional- Tipo
str- Descrição
- Padrão do nome do símbolo (curinga de shell, expressão regular POSIX limitada ou texto aproximado; máximo de 256 caracteres)
node_typeOpcional- Tipo
str- Descrição
- Tipo de nó AST (function_definition, class_definition etc.) — prefira preset= para formatos comuns
decoratorOpcional- Tipo
str- Descrição
- Filtro por nome de decorador
base_classOpcional- Tipo
str- Descrição
- Filtro por nome de classe base (encontra classes que herdam dela)
language_filterOpcional- Tipo
str- Descrição
- Filtro de linguagem
limitOpcional- Tipo
int- Padrão
20- Descrição
- Máximo de resultados retornados nesta página
offsetOpcional- Tipo
int- Descrição
- Deslocamento de compatibilidade obsoleto. Prefira cursor de pagination.next_cursor.
cursorOpcional- Tipo
str- Descrição
- Cursor opaco de pagination.next_cursor. Passe-o inalterado e mantenha a consulta e os filtros inalterados.
path_filterOpcional- Tipo
str- Descrição
- Filtrar por prefixo do caminho do arquivo
branchOpcional- Tipo
str- Descrição
- Substituição de branch
query_typeOpcional- Tipo
Literal[node_type, name_pattern, parent_child]- Descrição
- Tipo de consulta explícito
parent_typeOpcional- Tipo
str- Descrição
- Filtro de tipo do nó AST pai
relationshipOpcional- Tipo
Literal[parent, ancestor]- Padrão
parent- Descrição
- Para consultas parent_child: apenas o pai direto ou qualquer ancestral (use ancestor para métodos de classe aninhados no corpo/bloco de uma classe)
has_modifierOpcional- Tipo
str- Descrição
- Filtrar por modificador (export, async, static etc.)
advancedOpcional- Tipo
bool- Padrão
- Descrição
- Defina true ao usar intencionalmente filtros avançados de caminho, ltree ou chamada (ltree_ancestor, ltree_descendant, min_depth, max_depth, field_role, definition_name, callee_text, callee_name). Por padrão, false mantém a interface do agente focada nas predefinições. Chaves avançadas no formato simples ainda funcionam para compatibilidade com versões anteriores, com um aviso de metadados.
callee_textOpcional- Tipo
str- Descrição
- Avançado — prefira preset=functions|classes|methods|imports|variables. Filtro de texto do callee em uma expressão de chamada. Defina advanced=true ao usar intencionalmente filtros de caminho/ltree/chamada.
callee_nameOpcional- Tipo
str- Descrição
- Avançado — prefira preset=functions|classes|methods|imports|variables. Filtro de nome do callee em uma expressão de chamada. Defina advanced=true ao usar intencionalmente filtros de caminho/ltree/chamada.
field_roleOpcional- Tipo
str- Descrição
- Avançado — prefira preset=functions|classes|methods|imports|variables. Filtro de papel de campo AST. Defina advanced=true ao usar intencionalmente filtros de caminho/ltree/chamada.
ltree_ancestorOpcional- Tipo
str- Descrição
- Avançado — prefira preset=functions|classes|methods|imports|variables. Filtro de caminho ancestral AST ltree. Defina advanced=true ao usar intencionalmente filtros de caminho/ltree/chamada.
ltree_descendantOpcional- Tipo
str- Descrição
- Avançado — prefira preset=functions|classes|methods|imports|variables. Filtro de caminho descendente AST ltree. Defina advanced=true ao usar intencionalmente filtros de caminho/ltree/chamada.
definition_nameOpcional- Tipo
str- Descrição
- Avançado — prefira preset=functions|classes|methods|imports|variables. Filtro de nome de definição. Defina advanced=true ao usar intencionalmente filtros de caminho/ltree/chamada.
min_depthOpcional- Tipo
int- Descrição
- Avançado — prefira preset=functions|classes|methods|imports|variables. Profundidade AST mínima. Defina advanced=true ao usar intencionalmente filtros de caminho/ltree/chamada.
max_depthOpcional- Tipo
int- Descrição
- Avançado — prefira preset=functions|classes|methods|imports|variables. Profundidade AST máxima. Defina advanced=true ao usar intencionalmente filtros de caminho/ltree/chamada.
Melhor Para:
- Estrutura em nível de AST: classes, decorators, presets de function/method
- Encontrar código pela forma, não pelo texto
Não Recomendado Para:
- Consultas de texto livre ou conceituais — use semantic_search ou intelligent_search
dependency_searchEstável
Superfície principal de raio de impacto / grafo. Responde a “o que chama isto?” / “o que isto usa?” por meio do grafo real de chamadas/importações. Para impacto antes de editar: analysis_type="dependents" ou analysis_type="impact" (entrada, profundidade superficial padrão para impact), include_metrics=false por padrão (ative para centralidade + refactor_risk). Impacto PR/diff (P1-8): passe changed_paths e/ou patch (diff unificado) — resolve símbolos por caminho e retorna um payload compacto de dependentes de entrada superficiais sem exigir um nome de símbolo. Após uma edição, defina verify_after_edit=true com targets e/ou changed_paths para uma nova consulta compacta multi-raiz dos símbolos impactados. Também aceita dependencies, centrality e orphans. analyze_dependencies é um alias leve para o caminho impact — prefira esta ferramenta para novos agentes.
Parâmetros:
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
queryOpcional- Tipo
str- Descrição
- Nome do símbolo ou termo de busca
targetOpcional- Tipo
str- Descrição
- Nome do símbolo (alias de query)
changed_pathsOpcional- Tipo
list[str]- Descrição
- Caminhos relativos ao repositório para impacto PR/diff (padrão) ou, com verify_after_edit=true, raízes de verificação pós-edição. PR/diff: resolve símbolos por caminho e percorre dependentes de entrada superficiais; pode ser combinado com patch=. Verificar: resolve até 5 símbolos por caminho como raízes de verificação (limitado inferior dentro do modo de verificação). Não requer query/target para impacto PR/diff.
patchOpcional- Tipo
str- Descrição
- Impacto PR/diff: texto de patch diff / git unificado. Os caminhos são analisados a partir dos cabeçalhos diff --git/---/+++; mesmo caminho de impacto compacto que changed_paths.
analysis_typeOpcional- Tipo
Literal[centrality, dependencies, dependents, impact, orphans]- Padrão
dependencies- Descrição
- Modo de análise. impact = raio de impacto (dependentes de entrada; profundidade superficial quando depth é omitido). dependents também responde a impact. Quando changed_paths ou patch é definido, a análise é forçada para o impacto PR/diff. centrality/orphans não exigem target.
depthOpcional- Tipo
Literal[shallow, balanced, deep]- Padrão
balanced- Descrição
- Profundidade de travessia. Para analysis_type=impact e o impacto PR/diff, o padrão efetivo é shallow, a menos que você defina depth explicitamente.
limitOpcional- Tipo
int- Padrão
20- Descrição
- Máximo de resultados retornados nesta página
offsetOpcional- Tipo
int- Descrição
- Deslocamento de compatibilidade obsoleto. Prefira cursor de pagination.next_cursor.
cursorOpcional- Tipo
str- Descrição
- Cursor opaco de pagination.next_cursor. Passe-o inalterado e mantenha a consulta e os filtros inalterados.
path_filterOpcional- Tipo
str- Descrição
- Restringe a resolução do símbolo de destino pelo prefixo do caminho do arquivo; os relacionamentos de grafo retornados podem ultrapassar esse caminho.
language_filterOpcional- Tipo
str- Descrição
- Filtra a resolução do alvo e os resultados de navegação por linguagem
directionOpcional- Tipo
Literal[outgoing, incoming, both]- Descrição
- Direção da travessia (substitui a inferência de analysis_type)
relationship_typesOpcional- Tipo
list[str]- Descrição
- Filtra os tipos de aresta (CALL, IMPORT, INHERITS_FROM etc.). Uma lista não vazia substitui os padrões de graph_view.
exclude_test_pathsOpcional- Tipo
bool- Padrão
true- Descrição
- Padrão true: exclui caminhos de teste, fixture, fornecedor e exemplo dos resultados de travessia e centralidade. Defina false para incluí-los. A análise de órfãos sempre aplica suas próprias exclusões de ruído mais rígidas.
exclude_generated_pathsOpcional- Tipo
bool- Padrão
- Descrição
- Excluir declarações geradas, além de construção, cobertura, cache, mapa de origem e caminhos de artefato minificados dos resultados de travessia
include_module_symbolsOpcional- Tipo
bool- Padrão
- Descrição
- Por padrão, false exclui bordas do gráfico quando from_name ou to_name é o símbolo sintético __module__ (ruído no nível do módulo). Defina true para incluir arestas de nível de módulo nos resultados para relacionamentos dependentes e de dependência.
branchOpcional- Tipo
str- Descrição
- Substituição de branch
per_hop_limitOpcional- Tipo
int- Descrição
- Máximo de relações por salto (1-300)
include_metricsOpcional- Tipo
bool- Padrão
- Descrição
- Métricas de grafo opcionais nas linhas de resultado (compactadas com refactor_risk). As métricas também são obtidas internamente quando min_centrality>0, mas só são retornadas se isto for true.
metrics_detailOpcional- Tipo
Literal[summary, full]- Padrão
summary- Descrição
- Quando include_metrics=true: summary (padrão) retorna sinais de decisão + refactor_risk; full retorna o maior conjunto de métricas selecionadas
include_edge_metadataOpcional- Tipo
bool- Padrão
- Descrição
- Inclui metadados e pesos de borda bruta (grande). Cargas de impacto compacto deixam isso de lado.
symbol_typesOpcional- Tipo
list[str]- Descrição
- Filtra os símbolos retornados por tipo (function, class, method etc.)
exact_matchOpcional- Tipo
bool- Padrão
- Descrição
- Exige correspondência exata do nome do símbolo (sem diferenciar maiúsculas/minúsculas). Desativa a correspondência aproximada
find_similar_patternsOpcional- Tipo
bool- Padrão
- Descrição
- Encontrar padrões de uso semelhantes
min_centralityOpcional- Tipo
float- Padrão
0- Descrição
- Pontuação mínima de PageRank. As métricas são obtidas internamente para filtragem; graph_metrics só é retornado quando include_metrics=true.
graph_viewOpcional- Tipo
Literal[dependency, type, data_flow, control_flow]- Padrão
dependency- Descrição
- Visualização do grafo usada para os padrões de relacionamento de travessia, métricas e classificação de centralidade; a análise de órfãos é calculada em todas as visualizações
verify_after_editOpcional- Tipo
bool- Padrão
- Descrição
- Modo de verificação pós-edição P2-7: consulte novamente o gráfico de impacto indexado para símbolos editados recentemente em uma resposta multi-raiz compacta. Requer targets e/ou changed_paths (ou target/query). O padrão é a entrada superficial de dependentes; os resultados refletem o gráfico indexado (podem atrasar as edições ao vivo). Quando verdadeiro, tem precedência sobre o impacto de PR/diff no mesmo changed_paths.
targetsOpcional- Tipo
list[str]- Descrição
- Quando verify_after_edit=true: nomes de símbolos a reverificar (chamadores/dependentes). Fundido com target/query se ambos forem fornecidos.
Melhor Para:
- Análise de raio de impacto antes de editar um símbolo compartilhado
- Impacto PR/diff via changed_paths e/ou patch
- Verificação após a edição via verify_after_edit
Não Recomendado Para:
- Buscas simples de texto ou símbolo — prefira text_pattern_search ou find_symbol
Ferramentas de Análise de Código#
find_symbolEstável
Vá para a definição e os usos de uma função, classe ou variável. Use quando souber o nome (por exemplo, “getCurrentUser”): é mais rápido e preciso que Grep e cobre todo o repositório indexado. Também pode retornar referências e métricas de importância.
Parâmetros:
symbol_nameOpcional- Tipo
str- Descrição
- Nome do símbolo a pesquisar (opcional — omita para explorar por métricas)
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
scopeOpcional- Tipo
Literal[definitions, references, both]- Padrão
both- Descrição
- Escopo: definitions|references|both
limitOpcional- Tipo
int- Padrão
15- Descrição
- Máximo de resultados retornados nesta página
offsetOpcional- Tipo
int- Descrição
- Deslocamento de compatibilidade obsoleto. Prefira cursor de pagination.next_cursor.
cursorOpcional- Tipo
str- Descrição
- Cursor opaco de pagination.next_cursor. Passe-o inalterado e mantenha a consulta e os filtros inalterados.
find_similarOpcional- Tipo
bool- Padrão
- Descrição
- Encontrar símbolos similares
include_metricsOpcional- Tipo
bool- Padrão
- Descrição
- Incluir métricas de centralidade
metrics_detailOpcional- Tipo
Literal[summary, full]- Padrão
summary- Descrição
- Quando include_metrics=true: summary (padrão) retorna sinais de decisão + refactor_risk; full retorna o maior conjunto de métricas selecionadas
path_filterOpcional- Tipo
str- Descrição
- Filtrar por prefixo do caminho do arquivo
branchOpcional- Tipo
str- Descrição
- Substituição de branch
symbol_typeOpcional- Tipo
Literal[function, class, variable, method, constant, module, interface, type]- Descrição
- Filtro de tipo de símbolo
high_impactOpcional- Tipo
bool- Padrão
- Descrição
- Navega pelos símbolos arquiteturalmente importantes (omita symbol_name). O modo padrão é popularity (decil superior de PageRank menos os mega-hubs utilitários). Defina high_impact_mode=risk para pontos de articulação/arestas de ponte.
high_impact_modeOpcional- Tipo
Literal[popularity, risk]- Padrão
popularity- Descrição
- Quando high_impact=true: popularidade = decil PageRank superior menos mega-hubs/módulos utilitários; risco = pontos de articulação classificados por SMV bridge_count e depois k_core (risco de refatoração estrutural, não popularidade do hub)
in_cycleOpcional- Tipo
bool- Padrão
- Descrição
- Apenas em ciclo
exclude_test_pathsOpcional- Tipo
bool- Padrão
true- Descrição
- Ao navegar pelas métricas do grafo, exclua testes, fixtures, código de terceiros e exemplos antes da classificação. A busca de símbolos por nome permanece inalterada.
Melhor Para:
- Localizar a definição, as referências e as métricas de grafo de um símbolo conhecido
- Navegar por centrality, high_impact ou in_cycle quando symbol_name é omitido
Não Recomendado Para:
- Consultas conceituais ou áreas desconhecidas — use intelligent_search ou semantic_search
analyze_dependenciesEstável
Alias para o raio de impacto via dependency_search (dependents/incoming). Prefira dependency_search com analysis_type="dependents" ou "impact" para novos agentes. Mantém o formato legado de resposta de impacto multi-salto (graph, connection_summary, métricas opcionais com refactor_risk). Use graph_view para delimitar a família de relações: dependency (padrão), type, data_flow, control_flow.
Parâmetros:
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
targetObrigatório- Tipo
str- Descrição
- Nome do símbolo a analisar
depthOpcional- Tipo
Literal[shallow, balanced, deep]- Padrão
balanced- Descrição
- Profundidade da análise (suporta aliases: auto, shallow/quick=1, balanced/medium=2, deep/thorough=3)
limitOpcional- Tipo
int- Padrão
10- Descrição
- Máximo de resultados retornados nesta página
offsetOpcional- Tipo
int- Descrição
- Deslocamento de compatibilidade obsoleto. Prefira cursor de pagination.next_cursor.
cursorOpcional- Tipo
str- Descrição
- Cursor opaco de pagination.next_cursor. Passe-o inalterado e mantenha a consulta e os filtros inalterados.
directionOpcional- Tipo
Literal[incoming, outgoing, both]- Padrão
incoming- Descrição
- Direção da travessia: 'outgoing' = do que este símbolo depende (suas dependências), 'incoming' = o que depende deste símbolo (seus dependentes), 'both' = contexto completo. Use 'incoming' para encontrar todos os chamadores/usuários de um símbolo.
relationship_typesOpcional- Tipo
list[str]- Descrição
- Filtrar por tipos de aresta (CALL, IMPORT, INHERITS_FROM etc.). Quando fornecido, sempre substitui o padrão derivado de graph_view abaixo.
graph_viewOpcional- Tipo
Literal[dependency, type, data_flow, control_flow]- Padrão
dependency- Descrição
- Visualização do grafo: quando include_metrics=true, determina os tipos de aresta de travessia padrão e a visualização cujas métricas serão usadas. dependency=[CALL,IMPORT,EXPORTS,REFERENCE,INSTANTIATES] (padrão), type=[INHERITS_FROM,IMPLEMENTS,OVERRIDE,DECORATES,OF_TYPE], data_flow=[READS,WRITES,ASSIGNS_TO], control_flow=[CONTROL_FLOW,THROWS,CATCHES]. Só é aplicada como padrão de relationship_types quando relationship_types não é fornecido explicitamente. O nome coincide com o parâmetro graph_view existente de dependency_search para manter a consistência entre as ferramentas.
path_filterOpcional- Tipo
str- Descrição
- Restringe a resolução do símbolo de destino pelo prefixo do caminho do arquivo; os relacionamentos de grafo retornados podem ultrapassar esse caminho.
language_filterOpcional- Tipo
str- Descrição
- Restringe resultados a uma linguagem
branchOpcional- Tipo
str- Descrição
- Substituição de branch
per_hop_limitOpcional- Tipo
int- Descrição
- Máximo de relações por salto (1-300)
include_metricsOpcional- Tipo
bool- Padrão
- Descrição
- Incluir métricas do grafo nos resultados, cada uma enriquecida com um bloco refactor_risk derivado ({risk: "low"|"medium"|"high", is_articulation_point, bridge_count, k_core, graph_view, reasons}). O risco é "low" quando não é um ponto de articulação na visualização selecionada, "medium" quando é um ponto que conecta poucas arestas e "high" quando conecta muitas (limiar heurístico, não validado empiricamente). O bloco é omitido quando não há linha de métricas para o símbolo/visualização.
metrics_detailOpcional- Tipo
Literal[summary, full]- Padrão
summary- Descrição
- Quando include_metrics=true: summary (padrão) retorna sinais de decisão + refactor_risk; full retorna o maior conjunto de métricas selecionadas
include_edge_metadataOpcional- Tipo
bool- Padrão
- Descrição
- Inclui metadados e pesos de borda bruta. Desativado por padrão porque os metadados do extrator podem ser grandes; a cobertura de enriquecimento é relatada quando habilitada.
exclude_test_pathsOpcional- Tipo
bool- Padrão
true- Descrição
- Padrão true: exclui caminhos de teste, fixação, fornecedor e exemplo das bordas do gráfico retornadas. Defina false para incluí-los.
include_module_symbolsOpcional- Tipo
bool- Padrão
- Descrição
- Por padrão, false exclui arestas do gráfico quando from_name ou to_name é o símbolo sintético __module__. Defina true para incluir arestas no nível do módulo.
Melhor Para:
- Chamadores legados já preparados para seu formato de resposta (graph, connection_summary)
Não Recomendado Para:
- Novos loops de agente — prefira dependency_search, que compartilha o mesmo núcleo de travessia
get_task_contextEstável
Vai começar em uma área desconhecida? Descreva a tarefa (por exemplo, “adicionar suporte a SSO” ou “corrigir o webhook de faturamento”) e receba em uma única chamada um pacote limitado de arquivos, código, símbolos e dependências relevantes. Os arquivos semente contribuem com conteúdo indexado direto mesmo quando não definem símbolos. Para mais resultados, continue com a ferramenta de busca especializada dessa camada.
Parâmetros:
task_descriptionObrigatório- Tipo
str- Descrição
- Descrição da tarefa
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
limitOpcional- Tipo
int- Padrão
15- Descrição
- Máximo de resultados por camada
scopeOpcional- Tipo
Literal[semantic, symbols, dependencies, all]- Padrão
all- Descrição
- Camadas de contexto a incluir. Válido: 'semantic', 'symbols', 'dependencies', 'all'. Padrão: ['semantic', 'symbols', 'dependencies']
language_filterOpcional- Tipo
str- Descrição
- Filtra resultados para arquivos detectados nesta linguagem de programação
path_filterOpcional- Tipo
str- Descrição
- Filtrar por prefixo do caminho do arquivo
branchOpcional- Tipo
str- Descrição
- Substituição de branch
include_related_contextOpcional- Tipo
bool- Padrão
- Descrição
- Incluir contexto relacionado de símbolos adjacentes
seed_symbol_idsOpcional- Tipo
list[str]- Descrição
- Sementes explícitas de nível 1: IDs de símbolos que o agente já sabe serem centrais para a tarefa (por exemplo, símbolos em arquivos abertos). Elas são classificadas antes das sementes derivadas de palavras-chave nas camadas dependencies/related_context. É aditivo: omita para manter o comportamento atual baseado apenas em palavras-chave.
seed_file_pathsOpcional- Tipo
list[str]- Descrição
- Sementes explícitas de nível 1: caminhos de arquivos indexados que o agente tem abertos ou acabou de editar. Retorna evidências diretas de arquivo limitadas e resolve até 5 símbolos por arquivo para o contexto do grafo, incluindo documentação e configuração sem símbolos. Aditivo — omita para um comportamento baseado apenas em palavras-chave.
Melhor Para:
- Contexto ciente da tarefa que combina arquivos semente com camadas semânticas, de símbolos e de dependências
Não Recomendado Para:
- Buscas com uma única ferramenta quando uma ferramenta mais específica já responde à pergunta
get_fileEstável
Leia um arquivo do repositório indexado pelo caminho. Prefira a ferramenta Read local para arquivos em disco — use esta para consultas remotas ou entre repositórios quando o arquivo não estiver na sua árvore de trabalho. Aceita um intervalo de linhas opcional; continue uma resposta truncada por tokens a partir de metadata.next_line_start.
Parâmetros:
file_pathObrigatório- Tipo
str- Descrição
- Caminho do arquivo relativo à raiz do repositório
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo[:branch]. Opcional — omita para usar o padrão do cliente no escopo da solicitação (quando fornecido) ou o único repositório acessível; informe explicitamente apenas para selecionar outro repositório indexado. A resposta mostra qual repositório foi usado.
line_startOpcional- Tipo
int- Descrição
- Linha inicial (indexada a partir de 1)
line_endOpcional- Tipo
int- Descrição
- Linha final (indexada a partir de 1, inclusive; deve ser igual ou posterior a line_start)
branchOpcional- Tipo
str- Descrição
- Substituição de branch
max_tokensOpcional- Tipo
int- Padrão
5000- Descrição
- Máximo de tokens
include_metadataOpcional- Tipo
bool- Padrão
true- Descrição
- Incluir metadados
Melhor Para:
- Snapshots de arquivos remotos ou indexados (intervalos de linhas, limites de tokens)
Não Recomendado Para:
- Um caminho já presente no disco local — use a ferramenta Read local
Ferramentas de Sistema e Utilitários#
repository_contextEstável
Liste os repositórios que você pode pesquisar, ou obtenha informações de identidade de um deles (namespace/branch, indexed_commit_sha / atualidade do índice). Chame com action:"list" uma vez para descobrir o identificador exato aceito pelas ferramentas de busca. (Se sua chave tiver apenas um repositório, ele será usado por padrão — você pode pular esta etapa.) As contagens de arquivos/blobs/arestas em todo o namespace são opcionais via include_statistics=true.
Parâmetros:
actionObrigatório- Tipo
Literal[list, info]- Descrição
- Ação: listar repositórios disponíveis ou obter informações de um repositório
repositoryOpcional- Tipo
str- Descrição
- Repositório no formato owner/repo ou owner/repo:branch (obrigatório para info)
branchOpcional- Tipo
str- Descrição
- Substituição de branch
patternOpcional- Tipo
str- Descrição
- Padrão de filtro
include_statisticsOpcional- Tipo
bool- Padrão
- Descrição
- Opcional: inclui as contagens de dados indexados em todo o namespace (arquivo/blob/aresta). Falso por padrão — a identidade do repositório não exige esse agregado mais lento.
limitOpcional- Tipo
int- Padrão
20- Descrição
- Máximo de resultados retornados nesta página
offsetOpcional- Tipo
int- Descrição
- Deslocamento de compatibilidade obsoleto. Prefira cursor de pagination.next_cursor.
cursorOpcional- Tipo
str- Descrição
- Opaco cursor de pagination.next_cursor. Passe-o inalterado e mantenha a consulta e os filtros inalterados.
Melhor Para:
- Listar os repositórios acessíveis
- Resolver a identidade do repositório, o branch e a atualidade de HEAD em relação ao índice
Não Recomendado Para:
- Estatísticas de todo o namespace por padrão — passe include_statistics=true explicitamente, já que pode ser mais lento que a resolução
ask_maguyvaEstável
Ajuda e feedback do Maguyva. Uso principal: obter orientação sobre ferramentas, ou enviar um relatório de bug / uma solicitação de recurso armazenados para os mantenedores do Maguyva. Nunca inclua segredos ou dados pessoais sensíveis no feedback. A operação evaluate permanece apenas por retrocompatibilidade — prefira computação local ou ferramentas do host para tarefas de matemática/hash/string.
Parâmetros:
operationObrigatório- Tipo
Literal[guidance, report_bug, request_feature, evaluate]- Descrição
- Principal: guidance, report_bug, request_feature. Apenas legado/compatibilidade: evaluate (motor de expressões determinístico; não faz parte do fluxo de trabalho principal do agente).
queryOpcional- Tipo
str- Descrição
- Tópico de orientação (por exemplo, tool_selection, semantic_search). Apenas para evaluate legado: string de expressão.
descriptionOpcional- Tipo
str- Descrição
- Obrigatório para report_bug e request_feature. Feedback Free-form para os mantenedores do Maguyva. Nunca inclua segredos ou dados pessoais sensíveis.
related_toolOpcional- Tipo
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]- Descrição
- Ferramenta opcional Maguyva mais intimamente relacionada ao feedback
Melhor Para:
- Orientação sobre ferramentas (operation="guidance")
- Relatórios de bugs duradouros e solicitações de recursos para os mantenedores do Maguyva
Não Recomendado Para:
- Cálculos matemáticos/hash/de string — a operação evaluate permanece apenas por retrocompatibilidade; prefira a computação local ou as ferramentas do host
Boas Práticas#
- Use substituições explícitas de forma consciente: Omita o repositório quando o cliente MCP fornecer um padrão para a solicitação ou quando a chave puder acessar exatamente um repositório; caso contrário, informe-o explicitamente.
- Escolha o Modo de Busca Certo: Use
intelligent_searchcommode="auto"na maioria dos casos. Especifique um modo quando você souber exatamente o que precisa. - Aproveite os Filtros de Linguagem: Use
language_filterpara restringir resultados e melhorar a performance. - GraphRAG Boosting: O boosting de importância do GraphRAG vem desativado por padrão para a busca semântica (
boost_by_importance=false), para manter a classificação segura para agentes. Passe boost_by_importance=true para ativar a reclassificação baseada em centralidade em tours de arquitetura. - Correspondência de repositório ignora maiúsculas/minúsculas, mas não é aproximada:
repository_contextcorresponde nomes de repositório sem diferenciar maiúsculas de minúsculas — não corrige erros de digitação. Verifiquemetadata.resolution_reasonna ação info ("exact"vs"corrected") para ver como um nome foi resolvido. - Combine Ferramentas: Use vários métodos de API juntos para uma análise abrangente.
- Lide com Resultados Grandes: Use
limite controles de paginação específicos de cada ferramenta (por exemplo,line_start/line_endemget_file). - Use o ask_maguyva para Orientação sobre Ferramentas: A operação
evaluatedeask_maguyva(hash, base64, JSON, matemática) é apenas legado / retrocompatibilidade. Em vez disso, chameask_maguyvacomoperation="guidance"equery="tool_selection"para obter a matriz de prioridade de ferramentas locais e um guia rápido completo, ferramenta por ferramenta. - Verifique o Impacto Antes e Depois de Editar: Antes de editar um símbolo compartilhado, chame
dependency_searchcomanalysis_type="impact"(ou passechanged_pathspara o impacto de um PR/diff) para ver seu raio de impacto. Depois de editar, definaverify_after_edit=truecomtargetse/ouchanged_pathspara uma reverificação compacta dos mesmos símbolos.
Características de Performance#
| Operação | Notas de performance |
|---|---|
| Busca semântica | Menos de um segundo, mas inclui uma chamada em tempo real à API de embeddings a cada vez (sem cache) — espere latência extra além da consulta vetorial |
| Busca de texto | Menos de um segundo para busca exata/regex; a busca aproximada de conteúdo pagina no lado do cliente, então offsets profundos custam mais — restrinja com path_filter/language_filter |
| Busca estrutural | Indexada por AST — o custo escala com o volume de resultados, não com o tamanho do repositório |
| Busca de dependências | O custo escala com a profundidade — prefira depth="shallow", a menos que precise de contexto multi-hop; per_hop_limit limita a expansão |
| Recuperação de arquivo | Quase instantânea para um único arquivo — pagine arquivos grandes com line_start/line_end ou max_tokens em vez de uma única extração grande |
| Contexto de repositório | A resolução de namespace é armazenada em cache apenas por solicitação, não entre chamadas — cada invocação de ferramenta a resolve novamente |
| ask_maguyva (guidance / evaluate) | Quase instantâneo — roda dentro do Worker, sem chamada ao banco de dados |
Tratamento de Erros#
Todos os métodos da API retornam um envelope estruturado:
status: String —"success"ou"error". Sinais de correspondência degradada ou de atualização ficam em campos aninhados comometadata.resolution_reasonem repository_context oumetadata.index_freshness.status.tool: Nome da ferramenta que gerou a respostadata: Payload de resultado quando bem-sucedido (a estrutura varia por ferramenta)error: Objeto de erro estruturado quandostatusé"error"— incluitype,message,suggestionserecovery_actionsmetadata: Informações adicionais sobre a operação (roteamento, cache, ajustes de parâmetro)pagination: Presente em respostas de listagem — incluihas_moreenext_cursor
Sempre confira o campo status antes de processar os resultados — ele só pode ser "success" ou "error". Para sinais de correspondência degradada ou de atualização, consulte o campo aninhado: metadata.resolution_reason em repository_context, ou metadata.index_freshness.status (known/partial/unknown/unavailable).
Primeiros Passos#
- Configure o Cliente MCP: Aponte seu cliente MCP para o endpoint do servidor Maguyva
- Confirmar acesso ao repositório: Use repository_context com list ou info para verificar os repositórios disponíveis para a chave de API
- Comece a Buscar: Comece com intelligent_search e explore ferramentas especializadas conforme necessário
- Combine Ferramentas: Use várias ferramentas juntas para uma análise de código abrangente
Para instruções de integração detalhadas, veja o guia de instalação.