Tools reference

list_endpoints, get_endpoint, lint_spec, diff_specs, et contract_test : entrées, sorties, et exemples de réponses.

list_endpoints

Liste chaque endpoint du catalogue (méthode, chemin, et résumé), sans détail de requête/réponse. Utilise-le pour découvrir ce qui existe avant d'appeler get_endpoint.

Paramètre filter optionnel : une correspondance de sous-chaîne insensible à la casse sur le chemin, le résumé, ou les tags.

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

get_endpoint

Renvoie le texte complet au format Copy for AI pour un endpoint (Purpose, Request, Parameters, Validation, Success Response, et Error Responses), à partir de sa method et de son 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

Vérifie le catalogue chargé pour des problèmes de qualité de spec : summary/description manquants, tags manquants, réponses 4xx/5xx manquantes, descriptions de réponse non documentées, et IDs d'opération dupliqués.

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

diff_specs

Compare le catalogue chargé avec une autre spec (donnée comme path pour un fichier local ou url) et rapporte les endpoints ajoutés/supprimés plus les changements de champ breaking vs informationnels (nouveaux paramètres requis, un requestBody devenu requis, un code de réponse supprimé).

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

contract_test

Envoie une vraie requête à chaque endpoint (ou un sous-ensemble filtré) d'un serveur déjà en cours d'exécution, construit à partir de la spec chargée, et valide chaque réponse en direct par rapport à son schéma déclaré. C'est l'équivalent d'un lanceur de collection Postman, sans aucune configuration.

Prend baseUrl, une liste optionnelle de headers (chaînes répétables « Nom: valeur », par ex. pour l'auth), et un filter optionnel pour tester un sous-ensemble.

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)