Retour aux études de casÉtudes de cas

Bac à sable API MCP

Un serveur MCP à 42 outils qui transforme n'importe quel assistant IA en un client de test d'API complet - environnements, flux, assertions, importation OpenAPI, simulation, et tests de charge, par conversation.

Bac à sable API MCP
42MCP tools
~40%Token savings via TOON
9Tool categories

Aperçu

Les tests d'API disposent d'excellents outils GUI - et aucun d'entre eux n'est là où les développeurs travaillent de plus en plus : à l'intérieur d'un assistant IA. Copier des URL et des jetons entre une fenêtre de chat et Postman brise le flux qui rend les assistants productifs en premier lieu.

Le bac à sable API MCP comble cette lacune. C'est un serveur Model Context Protocol, publié sur npm, qui propose 42 outils couvrant l'ensemble du cycle de test des API : gestion des environnements, requêtes HTTP, collections sauvegardées, exploration des spécifications OpenAPI, génération de données factices, flux multi-étapes, assertions, exécutions de tests en masse et tests de charge. L'assistant devient le client API - "connectez-vous à l'environnement de staging, utilisez le token pour récupérer mon profil et vérifiez la forme de la réponse" est une seule phrase, pas une session de changement d'outil.

Le problème des jetons, résolu par un format

Les réponses API consomment beaucoup de tokens - un seul corps JSON verbeux peut épuiser une conversation. Le serveur répond avec deux mécanismes. TOON (Token-Oriented Object Notation), une sortie par défaut compacte inspirée du YAML qui élimine la ponctuation JSON et économise environ 40 % des tokens par réponse. Et des niveaux de verbosité pour chaque requête : minimal supprime les en-têtes et tronque les corps (~95 % d'économie), normal filtre les en-têtes bruyants et limite la taille du corps (~75 %), tandis que la réponse complète non tronquée est toujours mise en cache et récupérable par call_id - aucun renvoi n'est nécessaire.

Concevoir des outils pour un LLM est un exercice de budget de tokens : chaque octet de réponse est en concurrence avec le raisonnement que le modèle pourrait faire à la place.

Ce que cela fait

Environnements et groupes

17 outils pour des ensembles de variables nommées ({{BASE_URL}}, jetons, clés) avec des groupes à échelle de répertoire qui activent automatiquement le bon environnement par projet.

Cache des requêtes et des réponses

Client HTTP complet avec des aides à l'authentification, des niveaux de verbosité et l'extraction de champs - plus un cache de réponses de 20 emplacements afin que les corps tronqués puissent être réexaminés sans renvoyer la requête.

Collections

Enregistrez, étiquetez et réutilisez les requêtes avec des variables non résolues - la même requête enregistrée s'exécute contre dev, staging ou prod.

Importation OpenAPI

Importez n'importe quelle spécification OpenAPI 3.x depuis une URL ou un fichier ; tous les $ref, allOf, oneOf, anyOf sont résolus - l'assistant connaît alors chaque point de terminaison, paramètre et schéma.

Données fictives

Générez des corps de requête réalistes directement à partir des définitions de schéma - formats, énumérations et champs obligatoires respectés.

Flux

Séquences à étapes multiples avec extraction variable entre les étapes : connexion, récupération du jeton, utilisation de celui-ci dans l'appel suivant - une invocation d'outil.

Assertions et tests en masse

Assertions de réponse déclarative et exécutions en masse filtrées par tag sur des collections enregistrées - tests de fumée par phrase.

Test de charge

La charge contrôlée par la concurrence fonctionne avec des statistiques de latence, générée à partir d'une seule requête conversationnelle.

Importation/Exportation Postman

Compatibilité Bidirectionnelle Postman v2.1 - les collections et les environnements circulent librement, sans verrouillage dans aucune direction.

Comment ça fonctionne

Bac à sable API MCP

Les variables circulent à travers tout

Les environnements sont des ensembles de variables JSON nommés stockés dans le répertoire personnel de l'utilisateur. Chaque outil HTTP résout les espaces réservés {{variable}} en fonction de l'environnement actif, et les URL relatives se résolvent par rapport à BASE_URL - ainsi, une requête enregistrée écrite une fois s'exécute dans n'importe quel environnement. Les groupes lient les environnements aux chemins de répertoire : entrez dans un dossier de projet, et son environnement par défaut s'active automatiquement.

Flux : tests multi-étapes en un seul appel

L'outil flow_run exécute une séquence ordonnée de requêtes où chaque étape peut extraire des valeurs de son corps de réponse via un chemin-point et les transmettre comme variables - le modèle canonique se connecter-puis-utiliser-le-token :

json
{
  "étapes": [
    {
      "nom": "connexion",
      "méthode": "POST",
      "url": "{{BASE_URL}}/auth/login",
      "corps": { "email": "test@example.com", "mot_de_passe": "..." },
      "extraction": { "TOKEN": "token", "ID_UTILISATEUR": "user.id" }
    },
    {
      "nom": "obtenir_profil",
      "méthode": "GET",
      "url": "{{BASE_URL}}/users/{{ID_UTILISATEUR}}",
      "en_têtes": { "Authorization": "Bearer {{TOKEN}}" }
    }
  ]
}

Les variables s'accumulent au fil des étapes ; un 5xx arrête le flux tandis qu'un 4xx le laisse continuer - correspondant à la façon dont un testeur humain réagit réellement aux échecs. Chaque étape rapporte le statut, le timing et ce qu'elle a extrait.

Les spécifications font de l'assistant un expert de votre API

api_import récupère une spécification OpenAPI 3.x à partir d'une URL ou d'un fichier et résout de manière récursive chaque $ref, allOf, oneOf et anyOf au moment de l'importation. À partir de ce moment, l'assistant peut lister les points de terminaison filtrés par tag ou méthode, détailler entièrement les paramètres et les schémas, et générer des corps de requête simulés correctement typés - e-mails, UUID, timestamps et énumérations respectés. Importez la spécification Petstore et « ajouter un animal avec des données réalistes » devient une conversation impliquant deux outils.

Tout fait des allers-retours : les collections et les environnements s'exportent vers des fichiers de projet portables et au format Postman v2.1, et s'importent de la même manière. Votre suite de tests n'est jamais piégée à l'intérieur de l'outil.

Construit avec

TypeScriptMCP SDKTOONOpenAPI 3.xPostman v2.1Node.js

Ceci est la norme d'ingénierie que votre projet reçoit également.

Parlons

Vous voulez des outils comme celui-ci construits pour votre pile ?