Tools reference

list_endpoints, get_endpoint, lint_spec, diff_specs y contract_test: inputs, outputs y ejemplos de respuesta.

list_endpoints

Lista todos los endpoints del catálogo (method, path y summary), sin detalle de request/response. Úsalo para descubrir qué existe antes de llamar a get_endpoint.

Parámetro opcional filter: una coincidencia de substring sin distinción de mayúsculas contra path, summary o tags.

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

get_endpoint

Devuelve el texto completo en formato Copy for AI de un endpoint (Purpose, Request, Parameters, Validation, Success Response y Error Responses), dados su method y 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

Comprueba el catálogo cargado en busca de problemas de calidad de la spec: summary/description faltante, tags faltantes, respuestas 4xx/5xx faltantes, descripciones de respuesta sin documentar, y operation IDs duplicados.

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

diff_specs

Compara el catálogo cargado contra otra spec (dada como path para un archivo local o url) y reporta endpoints añadidos/eliminados además de cambios de campo breaking vs. informativos (nuevos parámetros obligatorios, un requestBody que pasó a obligatorio, un código de respuesta eliminado).

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

contract_test

Dispara una request real a cada endpoint (o un subconjunto filtrado) de un servidor ya en marcha construido a partir de la spec cargada, y valida cada respuesta en vivo contra su schema declarado. Es el equivalente a un Postman Collection Runner con cero configuración.

Recibe baseUrl, una lista opcional de headers (strings "Name: value" repetibles, ej. auth), y un filter opcional para probar un 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)