Tools reference

list_endpoints, get_endpoint, lint_spec, diff_specs e contract_test: input, output ed esempi di risposta.

list_endpoints

Elenca ogni endpoint nel catalogo (metodo, path e riepilogo), senza dettagli di richiesta/risposta. Usalo per scoprire cosa esiste prima di chiamare get_endpoint.

Parametro opzionale filter: un match case-insensitive su sottostringa contro path, summary o tags.

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

get_endpoint

Restituisce il testo completo in formato Copy for AI per un endpoint (Purpose, Request, Parameters, Validation, Success Response ed Error Responses), dati il suo 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

Controlla il catalogo caricato per problemi di qualità della spec: summary/description mancanti, tag mancanti, risposte 4xx/5xx mancanti, descrizioni di risposta non documentate e operation ID duplicati.

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

diff_specs

Confronta il catalogo caricato con un'altra spec (indicata come path per un file locale o url) e riporta endpoint aggiunti/rimossi più cambiamenti breaking vs. informativi ai campi (nuovi parametri obbligatori, un requestBody diventato obbligatorio, un codice di risposta rimosso).

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

contract_test

Lancia una richiesta reale verso ogni endpoint (o un sottoinsieme filtrato) di un server già in esecuzione costruito dalla spec caricata, e valida ogni risposta live contro il suo schema dichiarato. È l'equivalente di un runner di collezioni Postman a configurazione zero.

Accetta baseUrl, una lista opzionale di headers (stringhe ripetibili "Name: value", es. auth), e un filter opzionale per testare un sottoinsieme.

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)