Tools reference

list_endpoints, get_endpoint, lint_spec, diff_specs e contract_test: inputs, outputs e exemplos de resposta.

list_endpoints

Lista todo endpoint do catálogo (method, path e summary), sem detalhe de request/response. Use pra descobrir o que existe antes de chamar get_endpoint.

Parâmetro opcional filter: substring case-insensitive contra path, summary ou tags.

text
GET /
POST /auth/register — Register
POST /auth/login — Login
GET /auth/profile — Get profile

get_endpoint

Devolve o texto completo no formato Copy for AI de um endpoint (Purpose, Request, Parameters, Validation, Success Response e Error Responses), dados seu method e path.

text
Endpoint: POST /auth/login

Purpose:
Login

Request:
{
  "email": "string",
  "password": "string"
}

Validation:
- email must be valid

Success Response (201):
{
  "success": "boolean",
  "data": { "access_token": "string", "user": { "id": "string", "role": "string" } }
}

Error Responses:
400 Bad Request

lint_spec

Checa o catálogo carregado em busca de problemas de qualidade de spec: summary/description ausente, tags ausentes, respostas 4xx/5xx ausentes, descrições de resposta não documentadas e operationId duplicado.

text
✖ POST /auth/login: [missing-description] no description declared
✖ POST /auth/login: [no-error-response] no 4xx/5xx response declared

diff_specs

Compara o catálogo carregado contra outra spec (dada como path pra um arquivo local ou url) e reporta endpoints adicionados/removidos além de mudanças de campo breaking vs. informativas (novo parâmetro obrigatório, requestBody que virou obrigatório, código de resposta removido).

text
+ POST /users
- DELETE /users/{id}
! GET /users/{id}: parameter "id" (path) is now required

contract_test

Dispara uma request real em cada endpoint (ou um subconjunto filtrado) de um servidor já rodando, construído a partir da spec carregada, e valida cada resposta ao vivo contra o schema declarado. É o equivalente ao Postman Collection Runner, sem nenhum setup.

Recebe baseUrl, uma lista opcional de headers (strings "Name: value" repetíveis, ex. auth) e um filter opcional pra testar um subconjunto.

text
✓ GET /users (http://localhost:3000/users) — 200, matches schema
✖ POST /users (http://localhost:3000/users) — 201, 1 mismatch(es): body.email (required property missing)