Votre atelier OpenAPI local, avec l’IA intégrée

Développez vos API en local.
Publiez et connectez l’IA.

Donnez à Codex, Claude Code et Cursor des définitions d’API pour guider leur code. Avec Powerduck sur votre ordinateur, générez la documentation à partir du code et orchestrez les tests avec l’IA. Hébergez gratuitement vos docs OpenAPI et serveurs MCP sur Hub.

commerce-api/openapi.yaml OpenAPI 3.1 · fichier local
Un contrat OpenAPI
/orders
  post  createOrder
  get   listOrders
/products
  get   listProducts
/customers
  get   listCustomers
Compilé en un serveur MCP exécutable · 12 outils appelables
Votre agent de code Cursor · Claude Code · Codex
powerduck · MCP server
powerduck.read_spec() 12 opérations trouvées
powerduck.start_mock("POST /orders") Serveur mock actif sur :4010
powerduck.generate_tests("POST /orders") orders.test.js généré
powerduck.call_api("POST /orders", {total:49}) 200 OK · vérifié par rapport au contrat
powerduck.publish_docs() Documentation de référence mise à jour
Un fichier OpenAPI se compile en outils appelés par votre agent — mocks, tests, appels d’API et docs, tous vérifiés par rapport au même contrat.

Le travail local ne nécessite aucun compte. L’IA distante utilise le modèle choisi ; l’hébergement en ligne nécessite un compte Cloud.

Édition de spécifications · Débogage d’API · Tests · Serveurs mock · Documentation d’API · Serveurs MCP

POWERDUCK HUB

Une seule spécification OpenAPI. Développez en local, partagez en ligne.

Validez vos API dans l’application de bureau. Partagez leur documentation sur Hub et connectez vos outils IA.

  1. 01

    Développer et vérifier

    Concevez, déboguez et testez vos API avec Powerduck.

  2. 02

    Publier une spécification OpenAPI

    Transformez votre spécification en documentation hébergée et en point d’accès MCP.

  3. 03

    Partager et connecter

    Partagez la documentation, connectez un client MCP et choisissez de rendre votre projet visible sur Hub.

Hébergement gratuit dans les limites du forfait. Votre API métier reste sur votre propre backend.

Pourquoi Powerduck

Un fichier local remplace l’empilement d’outils API.

Un seul YAML OpenAPI dans votre dépôt pilote la conception, le débogage, les tests, les mocks, la docs et MCP — et vos agents utilisent ce même fichier.

Un fichier pour chaque surface

Concevez, déboguez, testez, mockez, documentez et exposez MCP depuis la même spec OpenAPI : rien ne diverge.

Autres Fichiers séparés de collection, docs, mocks et tests
Powerduck Un YAML pilote tous les outils et vos agents

Chaque réponse est vérifiée par le contrat

Chaque réponse est contrôlée contre la spec OpenAPI, pas seulement affichée — un mauvais type ou chemin est repéré aussitôt.

Autres Envoie la requête et affiche la réponse 200
Powerduck L’écart de spec est signalé dès le retour de la réponse

Local-first, sans compte, prêt pour les agents

Vos fichiers restent sur votre machine et fonctionnent sans compte ni téléversement. Codex, Claude Code et Cursor lisent la même spec que vous.

Autres Compte cloud et téléversement requis avant de démarrer
Powerduck Fonctionne en local ; vos agents lisent le même fichier
~/commerce-api/openapi.yaml OpenAPI 3.1.0 3 problèmes non enregistré
142 /users/{id}:
143 get:
144 operationId: getUser
145 summary: Retrieve a user
146 tags: [Users]
147 parameters:
148 - $ref: '#/components/parameters/UserId'
149 responses:
150 '200':
151 description: The requested user
152 content:
153 application/json:
154 schema:
155 $ref: '#/components/schemas/User'
156 '404': # description is required
157 contents:
158 application/json:
159 schema:
160 $ref: '#/components/schemas/Erorr'
161 delete:
162 summary: Delete a user
Problèmes 2 erreurs · 1 avertissement Validé selon le dialecte 3.1
156:9 contents is not a valid Response Object key. Did you mean content? oas3-schema
160:24 Unresolved $ref — schemas/Erorr does not exist. ref-resolution
162:7 Operation has no operationId. It will be skipped when generating MCP tools. operation-operationId
Ligne 156, colonne 9 YAML UTF-8 Espaces : 2 3.1.0
Collections générées depuis openapi.yaml Import Postman Vérification du contrat activée
GET ▾
{{baseUrl}}/users/{{userId}}?include=profile
Préproduction ▾
Paramètres1 Authbearer En-têtes3 Corps Scripts Paramètres
# GET has no requestBody in the specification — body disabled
# Path parameter id resolved from environment → userId = usr_8Kd2Xa
200 OK 148 ms 1.2 KB Contrat : 1 écart
Corps En-têtes9 Cookies Contrat1 Chronologie
{
  "id": "usr_8Kd2Xa",
  "email": "ada@example.com",
  "created": 1757030400,
  "profile": {
    "name": "Ada L.",
    "locale": "en-GB"
  },
  "scope": "users:read orders:read"
}
Contract mismatch — response differs from the specification scope is present in the response but is not declared on components/schemas/User. Add the property to the schema or remove it from the handler.
mcp://localhost:7433 en cours stdio + HTTP

Généré depuis openapi.yaml

6 outils 7 ressources 1 dégradé Régénération à l’enregistrement

Every operation with an operationId becomes a tool. Arguments come from parameters and requestBody. Nothing is hand-written.

POST /auth/login → operationId → loginUser
loginUser

Exchange credentials for a bearer token.

email : string password : string
GET /users/{id} → operationId → getUser
getUser

Retrieve a single user by identifier.

id : string include? : string
POST /orders → operationId → createOrder
createOrder

Create an order for the authenticated customer.

items : array currency : string
POST /orders/{id}/refund → operationId → refundOrder
refundOrder

Refund an order in full or in part.

id : string amount? : integer
14:02:11 watch openapi.yaml changed (line 144)
14:02:11 build parsed 3.1.0 · 11 operations · 14 schemas
14:02:11 build 6 outils, 7 resources · 1 skipped (no operationId)
14:02:12 serve listening on stdio and http://localhost:7433
14:02:31 call getUser { id: "usr_8Kd2Xa" } → 200 in 148 ms
docs.example.dev/reference/users/get Export statique Synchronisé avec la spécification

Retrieve a user

GET /v1/users/{id}

Returns the user object for a valid identifier. If the user has been deleted, an Error object is returned with status 404.

Paramètres de chemin
id string Obligatoire
The identifier of the user, prefixed with usr_.
Paramètres de requête
include string
Expand a related object.

VOIR DANS UN WORKFLOW

Chaque corvée familière devient un flux guidé par le contrat.

Choisissez une tâche ci-dessous. Powerduck l’exécute depuis le fichier OpenAPI sur votre machine — environnements, tests et mocks inclus, sans compte ni téléversement.

Choisir le local ne devrait pas réduire vos possibilités.

Votre espace API local démarre sans compte ni import dans le cloud. Retrouvez requêtes, authentification, environnements et assertions. Choisissez Cloud quand vous souhaitez publier en ligne.

  • Import cURL / Postman / OpenAPI
  • Authentification et environnements
  • Scripts et assertions
  • Collections et tests de scénarios
  • Serveurs mock locaux
  • Débogage de 7 protocoles

Le travail local ne nécessite aucun compte. L’IA distante utilise le modèle choisi ; l’hébergement en ligne nécessite un compte Cloud.

Lisez-vous encore le code source pour vérifier si la documentation API est correcte ?

Générez la documentation depuis le projet.

Une définition à vérifier et un lien de documentation local.

Configuration et conditions

Avez-vous donné la spécification à l’IA pour recevoir malgré tout d’autres champs et chemins ?

Implémentez à partir du vrai contrat API.

Une implémentation guidée par le contrat, vérifiée sur les réponses réelles.

Configuration et conditions

Retestez-vous manuellement le même parcours métier après chaque modification de l’API ?

Exécutez le scénario métier complet.

Les résultats de chaque étape et les assertions en échec, pas seulement un script.

Configuration et conditions

Changez-vous d’outil simplement parce que le prochain endpoint utilise un autre protocole ?

Examinez sept protocoles au même endroit.

Le contrôle manuel pour comprendre précisément ce qui s’est passé.

Configuration et conditions

Recopiez-vous requêtes, réponses et contexte à chaque demande d’aide à l’IA ?

Enquêtez avec le contexte réel de la requête.

Un diagnostic fondé sur les résultats et des modifications à examiner.

Configuration et conditions

Gérez-vous un hébergement séparé uniquement pour partager votre documentation API et votre MCP ?

Publiez documentation et MCP depuis une API.

Des URL de documentation et de MCP, sans infrastructure d’hébergement à gérer.

Configuration et conditions

COMMENCEZ SUR VOTRE MACHINE

Téléchargez. Retrouvez votre vrai travail.

Powerduck est un espace API de bureau. Ouvrez un fichier local, envoyez une première requête, puis connectez votre agent quand vous le souhaitez. Sans compte pour commencer.

VOTRE ESPACE PRINCIPAL

Faites-en votre atelier API.

Fichiers locaux, analyse de code et débogage des protocoles natifs : tout se passe ici. Connectez le modèle IA choisi pour vous aider à concevoir, enquêter et tester.

  1. 1 Téléchargez l'application et essayez l'exemple local — sans compte ni clé de modèle.
  2. 2 Ouvrez votre fichier OpenAPI ou analysez une base de code existante.
  3. 3 Connectez un agent de codage, modifiez le code et vérifiez le vrai backend selon le contrat.
Télécharger l’application

macOS 12+ · Windows 10+ · Linux

VOUS VOULEZ D’ABORD VOIR ?

Un aperçu rapide dans le navigateur.

La démo web utilise un modèle cloud partagé et nécessite une connexion. Pour travailler en local sans compte, téléchargez l’application de bureau.

Ouvrir l’application web

Vérification du contrat

Une vraie erreur de contrat, puis une correction vérifiée

Les clients API ordinaires envoient la requête et affichent la réponse. Powerduck vérifie en outre chaque réponse par rapport au contrat OpenAPI, afin que tout écart soit détecté immédiatement.

Voir un exemple pratique
~/commerce-api — response check OpenAPI 3.1
Le contrat exige
total:
  type: number
Le backend renvoie une chaîne
{
  "total": "49.00"
}
/total doit être number — la réponse ne respecte pas le contrat
Renvoyer un nombre
{
  "total": 49
}
La réponse respecte le contrat

Éditeur de spec OpenAPI

Éditeur de spec OpenAPI

Le plan suit la structure réelle de la spécification, et non une supposition basée sur l'indentation. Parcourez les chemins et composants sous forme d'arbre et corrigez les erreurs là où elles se trouvent.

  • Validation consciente du schéma. Validez selon le dialecte 3.0, 3.1 ou 3.2 que votre fichier déclare réellement.
  • Navigation $ref résolue. Accédez aux définitions, inspectez les utilisations et obtenez des suggestions pour les références mal orthographiées.
  • Modifications sur place. Votre dépôt reste la source de vérité.
  • Problèmes avec noms de règles. Les échecs CI et les diagnostics de l'éditeur utilisent le même vocabulaire.
openapi.yaml 3 problèmes
▾ info
▾ paths
 /users
 /users/{id}
 /orders
▾ components
 schemas
 responses
142 /users/{id}:
143 get:
144 operationId: getUser
145 responses:
156 contents:
160 $ref: Erorr
Problèmes · 2 erreurs · 1 avertissement
156:9 contents is not a valid Response Object key
160:24 Unresolved $ref. Closest match: Error
Débogage API Vérification du contrat activée
▾ Users
 GET listUsers
 GET getUser
▾ Orders
 POST createOrder
GET {{baseUrl}}/users/{{userId}} Envoyer
Paramètres Auth Corps En-têtes
{
  "id": "usr_8Kd2Xa",
  "email": "ada@example.com",
  "scope": "users:read"
}
Contract mismatch — "scope" is not declared on User.

Débogage d'API

Déboguer les API à partir de votre spec

Un constructeur de requêtes calqué sur les outils que les développeurs utilisent déjà, plus une chose que ces outils ne savent pas faire par défaut : vérifier les réponses par rapport au contrat.

  • Collections générées à partir des chemins et tags. Aucune étape d'import et rien à resynchroniser manuellement.
  • Contrôle du contrat sur chaque réponse. Détectez en ligne les propriétés non déclarées, les champs manquants et les dérives de type.
  • Environnements et variables. Réutilisez vos configurations de développement et de préproduction.
  • Sécurité issue des securitySchemes. La configuration Bearer, clé API et OAuth part de la spécification.

Générateur de serveur MCP

Générer un serveur MCP depuis OpenAPI

Votre spécification est déjà un manifeste d'outils. Powerduck la compile en un serveur MCP exécutable et montre exactement quels champs OpenAPI ont produit chaque outil.

  • Provenance visible. Chaque outil remonte à son opération, son operationId et son schéma.
  • États dégradés et ignorés. Les métadonnées manquantes sont visibles au lieu de produire silencieusement des outils faibles.
  • Régénération à l'enregistrement. Modifiez la spécification et les outils se mettent à jour sans étape de build.
  • Transports locaux. Exécutez via stdio ou HTTP pour les agents et flux locaux.
mcp://localhost:7433 en cours
Généré depuis openapi.yaml 6 outils 7 ressources
GET /users/{id} → operationId
getUser
id: string
POST /orders → operationId
createOrder
items: array
POST /auth/login
loginUser
email, password
DELETE /users/{id}
ignoré
operationId manquant
14:02 build 6 tools, 7 resources
14:02 serve listening on :7433
14:03 call getUser → 200
Référence API Export statique
Users
Vue d’ensemble
Retrieve a user
List users
Update user

Retrieve a user

GET /v1/users/{id}
Returns the user object for a valid identifier.
Paramètres de chemin
id · string · required
Retour
User · object
curl /users/{id}

{
  "id": "usr_...",
  "email": "ada@..."
}

Générateur de documentation API

Une documentation API issue du même contrat

Documentation de référence générée directement depuis votre modèle OpenAPI, exportée en fichiers statiques et hébergée où vous le souhaitez.

  • Tableaux de paramètres issus des schémas. Les indicateurs obligatoires, énumérations et descriptions restent synchronisés.
  • Exemples multilingues. Générez des exemples cURL, Node, Python et Go à partir des opérations.
  • Réponses issues du contrat réel. Les réponses de succès et d'erreur proviennent des mêmes objets que votre débogueur valide.
  • Export statique. Aucune dépendance d'exécution et aucune dépendance à une plateforme de documentation.

Une seule source de vérité

Un fichier OpenAPI local.
Chaque fonction, pilotée par IA.

Ouvrez openapi.yaml ou openapi.json en local et Powerduck transforme le contrat que vous possédez déjà en un espace de travail API complet. Aucun import. Aucune conversion. Aucune collection parallèle. Aucune copie cloud. Décrivez le résultat en langage simple et l'assistant intégré l'exécute via des étapes révisables — et le même fichier dialogue en MCP avec n'importe quel agent de programmation IA.

OUVRIR EN LOCAL
{ }
openapi.yaml
ou openapi.json

Le fichier reste dans votre dépôt.

01 Éditeur de spécifications

Modifier, parcourir et valider le contrat réel.

02 Débogage d'API

Envoyer des requêtes générées depuis les mêmes opérations.

03 Serveur MCP

Compiler les opérations en outils prêts pour les agents.

04 Documentation des API

Publier la documentation depuis la même source.

Powerduck

Pas un simple client API de plus,
pas un simple lecteur de spec de plus,
mais une façon IA-native de construire des API.

C'est l'espace de travail local et piloté par l'IA construit autour du fichier OpenAPI lui-même.

SANS CLOUD OBLIGATOIREVotre spec n'a jamais besoin de quitter votre machine.
SANS SYNCHRONISATION MANUELLEIl n'y a rien d'autre à maintenir aligné sur le contrat.
SANS COPIE SUPPLÉMENTAIREVotre YAML ou JSON existant est l'espace de travail.

Travail local, services distants et vos choix

Les fichiers locaux ne nécessitent pas de compte. L’IA distante reçoit le contexte pertinent chez le fournisseur configuré. La publication Cloud envoie le contenu choisi. Les statistiques facultatives sont désactivées par défaut ; consultez la politique de confidentialité.

Politique de confidentialité

Aucun achat Cloud n’est nécessaire en local. L’offre gratuite inclut deux emplacements de spécification ; des partages approuvés peuvent en ajouter. La licence desktop supprime cette limite. Votre fournisseur facture votre propre clé ; les crédits IA hébergés et le Cloud sont séparés.

Choisissez votre prochaine étape.

Comparer les produits et tarifs →

FAQ

Les questions que les développeurs posent en premier

Les détails pratiques sur les fichiers locaux, les versions OpenAPI, la génération MCP et les licences.

Powerduck téléverse-t-il ma spécification OpenAPI quelque part ?

Les fichiers locaux ne nécessitent pas de compte. L’IA distante reçoit le contexte pertinent chez le fournisseur configuré. La publication Cloud envoie le contenu choisi. Les statistiques facultatives sont désactivées par défaut ; consultez la politique de confidentialité.

Quelles versions d'OpenAPI sont prises en charge ?

OpenAPI 3.0, 3.1 et 3.2. Powerduck détecte la version déclarée et valide selon le dialecte approprié au lieu d'utiliser un plus petit commun dénominateur.

Comment le serveur MCP est-il généré ?

Les opérations ayant un operationId deviennent des outils MCP. Les arguments sont dérivés des paramètres et des schémas de requestBody. Les schémas de composants peuvent être exposés comme ressources. Le serveur généré se met à jour à chaque changement de la spécification.

La licence desktop est-elle un abonnement ?

Non. Powerduck Desktop est une licence perpétuelle achetée une fois. Les mises à jour au sein de la version majeure sont incluses. Les futures montées de version majeure restent facultatives.

Puis-je continuer à utiliser mes collections Postman ?

Oui. Les collections et environnements existants peuvent continuer à être utilisés. Powerduck considère la spécification OpenAPI comme le contrat faisant autorité et aide à identifier où les requêtes en dérivent.

Est-ce que ça fonctionne en CI ?

Oui. Le même moteur de validation et de génération est exposé via @powerduck/openapi-cli, un outil en ligne de commande prêt pour la CI qui s'exécute pendant les pull requests et les pipelines automatisés. Il prend en charge les tests par lots sur 6 protocoles (HTTP, SSE, WebSocket, gRPC, MCP, GraphQL), une concurrence configurable et des rapports compatibles JUnit pour l'intégration CI.

Découvrir openapi-cli →