Skip to main content
O tool @api-explorer mapeia uma API de ponta a ponta a partir de apenas a URL base. É a parceira fiel do agente para responder “o que essa API tem e como ela funciona?” — ele descobre os paths, parâmetros, headers, modelos, autenticação e o funcionamento sozinho, sem você alimentar endpoints na mão. É read-only (só GET/HEAD/OPTIONS mais a query de introspection do GraphQL, que é leitura pura) e keyless, então roda concorrente e nunca dispara a política de confirmação.
Aponte para uma API com a qual você precisa integrar e deixe o agente ler: @api-explorer discover {url} retorna o mapa inteiro, e depois @api-explorer endpoint {url, path} te dá o contrato exato para chamar.

Uso

O LLM invoca @api-explorer automaticamente quando precisa entender uma API antes de chamá-la. Comece pelo discover; o tool te diz para onde ir em seguida.

Subcomandos


A descoberta é multi-vetor

A descoberta não fica só chutando /openapi.json. A partir da URL base ela tenta, concorrentemente, todos os ângulos onde uma spec pode se esconder:
1

~20 locais conhecidos de spec

/openapi.json, /swagger.json, /v3/api-docs, /swagger/v1/swagger.json, /.well-known/openapi.json e mais — em JSON e YAML.
2

Embutida na página de docs

A URL da spec extraída de dentro de uma página Swagger-UI / ReDoc / RapiDoc / Stoplight renderizada — o caso comum em que a spec fica num path não-padrão que só o HTML conhece.
3

Manifestos /.well-known

OpenID Connect discovery (openid-configuration → os endpoints reais de auth) e o manifesto de plugin de LLM (ai-plugin.json → a URL da spec).
4

Superfície operacional

Endpoints de health/readiness/metrics e o Spring Boot Actuator/actuator/mappings enumera todas as rotas que um app Spring serve.
5

Versões & GraphQL

Raízes de versão da API (/v1../v3, /api/v1..) e um probe de endpoint GraphQL.
Quando várias specs são encontradas, a mais rica (com mais paths) vence.

Argumentos

Uma URL solta é tratada como discover. Os subcomandos que consomem spec (spec, endpoint) aceitam uma URL base e localizam a spec para você — raramente é preciso o path exato da spec.

Deep-dive com resolução de $ref

O endpoint resolve os ponteiros $ref (para components/definitions) com detecção de ciclo, então você vê os campos reais do modelo, enums e constraints em vez de um opaco #/components/schemas/Pet. allOf/oneOf/anyOf são achatados para exibição.

Postura de segurança

O security é observação, não exploração — um GET para os headers da resposta e um único OPTIONS de preflight CORS. Ele reporta o que um defensor quer confirmar:
  • TLS e os security headers padrão (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, …) presentes vs ausentes.
  • Um preflight CORS ao vivo com um Origin forasteiro — ele sinaliza uma política perigosa de origem-refletida-com-credenciais.
  • Flags de cookie (Secure, HttpOnly, SameSite), o auth challenge, o OIDC discovery e um fingerprint de framework (a partir dos headers Server/X-Powered-By e dos nomes dos cookies de sessão).

GraphQL

Quando a varredura OpenAPI dá em nada, o graphql roda uma query de introspection do schema — uma leitura pura que não muta nada — e resume as queries, mutations, subscriptions com seus argumentos, os input types com seus campos, os enums com seus valores e quaisquer deprecações.

Saída JSON

Passe format: "json" no discover ou spec para obter um inventário normalizado e machine-readable que o agente pode encadear — escolher um endpoint e chamá-lo com o @http — em vez de re-parsear o relatório em markdown.

Notas

  • É read-only e concurrency-safe — o orquestrador pode rodar vários probes em paralelo, e nenhuma chamada muda o estado remoto.
  • Usa o cliente HTTP compartilhado das web tools: respeita proxy corporativo (HTTPS_PROXY) e o trust de TLS global (CHATCLI_CA_BUNDLE).
  • APIs internas (api.empresa.internal, localhost:8080) funcionam — só endpoints de metadata de nuvem e link-local são bloqueados (proteção SSRF), e cada hop de redirect é revalidado.
  • Specs em YAML são tratadas nativamente, ao lado de JSON.
  • O escopo é deliberadamente descoberta e documentação — sem brute-force de paths nem fuzzing de parâmetros.
Combine com o Scheduler para re-mapear uma API de terceiros periodicamente e ser avisado via @send quando a superfície dela mudar.

Próximos Passos

Plugins Agênticos

O catálogo completo de tools builtin e como o agente os usa.

Web Tools

@webfetch, @websearch e o cliente HTTP endurecido compartilhado.