Lo studio OpenAPI locale, progettato per l’IA

La tua API, dallo sviluppo locale
alla documentazione e all’IA.

Fai scrivere codice a Codex, Claude Code e Cursor seguendo le definizioni delle tue API. Con Powerduck sul tuo computer, genera documentazione dal codice e orchestra i test con l’IA. Ospita gratuitamente documentazione OpenAPI e server MCP su Hub.

commerce-api/openapi.yaml OpenAPI 3.1 · file locale
Un contratto OpenAPI
/orders
  post  createOrder
  get   listOrders
/products
  get   listProducts
/customers
  get   listCustomers
Compilato in un server MCP eseguibile · 12 strumenti richiamabili
Il tuo agente di programmazione Cursor · Claude Code · Codex
powerduck · MCP server
powerduck.read_spec() 12 operazioni trovate
powerduck.start_mock("POST /orders") Server mock attivo sulla porta :4010
powerduck.generate_tests("POST /orders") orders.test.js creato
powerduck.call_api("POST /orders", {total:49}) 200 OK · verificato rispetto al contratto
powerduck.publish_docs() Documentazione di riferimento aggiornata
Un file OpenAPI viene compilato in strumenti richiamati dal tuo agente: mock, test, chiamate API e documentazione, tutti verificati rispetto allo stesso contratto.

Per il lavoro locale non serve un account. L’IA remota usa il servizio di modelli che scegli; l’hosting online richiede un account Cloud.

Editor di specifiche · Debug API · Test · Mock · Documentazione API · Server MCP

POWERDUCK HUB

Una specifica OpenAPI. Sviluppa in locale. Condividi online.

Mantieni il flusso di lavoro API nell’app desktop. Usa Hub per condividere la documentazione e collegare gli strumenti IA alla tua API.

  1. 01

    Sviluppa e verifica

    Progetta, esegui il debug e testa la tua API in Powerduck.

  2. 02

    Pubblica da OpenAPI

    Trasforma la specifica in documentazione ospitata e in un endpoint MCP.

  3. 03

    Condividi e collega

    Condividi il link alla documentazione, collega un client MCP e scegli se rendere il progetto visibile pubblicamente.

Hosting gratuito entro i limiti del piano. La tua API applicativa continua a funzionare sul tuo backend.

Perché Powerduck

Un file locale al posto di tanti strumenti API separati.

Un solo YAML OpenAPI nel repository guida progettazione, debug, test, mock, documentazione e MCP. Anche i tuoi agenti di programmazione usano lo stesso file.

Un file per tutte le attività

Progetta, esegui il debug, testa, crea mock, documenta ed esponi MCP dalla stessa specifica OpenAPI, mantenendo tutto allineato.

Altri strumenti File separati per raccolte, documentazione, mock e test
Powerduck Un solo YAML guida tutti gli strumenti e i tuoi agenti

Ogni risposta viene verificata rispetto al contratto

Ogni risposta viene controllata rispetto alla specifica OpenAPI, non solo visualizzata: un tipo o un percorso errato viene rilevato subito.

Altri strumenti Invia la richiesta e mostra la risposta 200
Powerduck Le difformità dalla specifica vengono segnalate appena arriva la risposta

Lavoro locale, nessun account, pronto per gli agenti

I file restano sul tuo computer e funzionano senza account né caricamenti. Codex, Claude Code e Cursor leggono la stessa specifica che leggi tu.

Altri strumenti Account cloud e caricamento richiesti prima di iniziare
Powerduck Funziona in locale; i tuoi agenti leggono lo stesso file
~/commerce-api/openapi.yaml OpenAPI 3.1.0 3 problemi non salvato
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
Problemi 2 errori · 1 avviso Validato con il dialetto 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
Riga 156, colonna 9 YAML UTF-8 Spazi: 2 3.1.0
Raccolte generate da openapi.yaml Importazione Postman Verifica del contratto attiva
GET ▾
{{baseUrl}}/users/{{userId}}?include=profile
Preproduzione ▾
Parametri1 Autenticazionebearer Header3 Corpo Script Impostazioni
# 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 Contratto: 1 discrepanza
Corpo Header9 Cookie Contratto1 Cronologia
{
  "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 in esecuzione stdio + HTTP

Generato da openapi.yaml

6 strumenti 7 risorse 1 degradato Rigenera al salvataggio

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 strumenti, 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 Esportazione statica Sincronizzato con la specifica

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.

Parametri di percorso
id string Obbligatorio
The identifier of the user, prefixed with usr_.
Parametri di query
include string
Expand a related object.

GUARDA IL FLUSSO DI LAVORO

Le attività abituali diventano flussi guidati dal contratto.

Scegli un’attività qui sotto. Powerduck la esegue dal file OpenAPI sul tuo computer, con ambienti, test e mock inclusi, senza account né caricamenti obbligatori.

Lavorare in locale non significa rinunciare alle funzionalità.

La tua area di lavoro API locale si avvia senza account né caricamenti. Porta con te richieste, autenticazione, ambienti e asserzioni. Scegli Cloud quando vuoi pubblicare online.

  • Importazione cURL / Postman / OpenAPI
  • Autenticazione e ambienti
  • Script e asserzioni
  • Raccolte e test di scenario
  • Server mock locali
  • Debug di 7 protocolli

Per il lavoro locale non serve un account. L’IA remota usa il servizio di modelli che scegli; l’hosting online richiede un account Cloud.

Leggi ancora il codice sorgente per capire se la documentazione API è corretta?

Genera la documentazione dal progetto.

Una definizione API da verificare e un link alla documentazione locale.

Vedi configurazione e requisiti

Hai fornito la specifica all’IA, ma hai ottenuto campi e percorsi diversi?

Implementa dal contratto API reale.

Un’implementazione guidata dal contratto e verificata sulle risposte reali.

Vedi configurazione e requisiti

Ripeti manualmente lo stesso flusso applicativo dopo ogni modifica all’API?

Esegui l’intero scenario applicativo.

Risultati per ogni passaggio e asserzioni fallite, non soltanto uno script di test generato.

Vedi configurazione e requisiti

Cambi strumento solo perché l’endpoint successivo usa un altro protocollo?

Analizza sette protocolli in un unico posto.

Controllo manuale quando devi capire esattamente che cosa è successo.

Vedi configurazione e requisiti

Copi richieste e risposte nella chat ogni volta che ti serve l’aiuto dell’IA?

Indaga con il contesto reale della richiesta.

Una diagnosi basata sui risultati delle richieste, con modifiche che puoi verificare.

Vedi configurazione e requisiti

Gestisci un hosting separato solo per condividere documentazione API e MCP?

Pubblica documentazione e MCP da una sola API.

Documentazione ospitata e un URL MCP, senza gestire una tua infrastruttura di hosting.

Vedi configurazione e requisiti

INIZIA SUL TUO COMPUTER

Scarica l’app. Riprendi il controllo del lavoro.

Powerduck è un’area di lavoro API desktop. Apri un file locale, invia la prima richiesta e collega il tuo agente di programmazione quando vuoi. Per iniziare non serve un account.

L’AREA DI LAVORO PRINCIPALE

Il tuo banco di lavoro per le API.

Qui trovi file locali, analisi del codice e debug dei protocolli nativi. Collega il modello IA che preferisci quando vuoi aiuto per progettare, indagare o testare.

  1. 1 Scarica l’app e prova l’esempio locale, senza account né chiave del modello.
  2. 2 Apri il tuo file OpenAPI o analizza un progetto esistente.
  3. 3 Collega un agente di programmazione, modifica il codice e verifica il backend reale rispetto al contratto.
Scarica l’app desktop

macOS 12+ · Windows 10+ · Linux

VUOI SOLO DARE UN’OCCHIATA?

Fai un giro nel browser.

La demo web usa un modello cloud condiviso e richiede l’accesso. Per lavorare localmente senza account, scarica l’app desktop.

Apri l’app web

Verifica del contratto

Un vero errore di contratto, poi una correzione verificata

I normali client API inviano la richiesta e mostrano la risposta. Powerduck verifica anche ogni risposta rispetto al contratto OpenAPI, rilevando subito le difformità dalla specifica.

Guarda un esempio funzionante
~/commerce-api — response check OpenAPI 3.1
Il contratto richiede
total:
  type: number
Il backend restituisce una stringa
{
  "total": "49.00"
}
/total deve essere un numero — la risposta non rispetta il contratto
Restituisci un numero
{
  "total": 49
}
La risposta rispetta il contratto

Editor di specifiche OpenAPI

Editor di specifiche OpenAPI

La struttura segue la specifica reale, senza basarsi su ipotesi ricavate dall’indentazione. Esplora percorsi e componenti in un albero e correggi gli errori nel punto in cui si trovano.

  • Validazione basata sullo schema. Valida rispetto al dialetto 3.0, 3.1 o 3.2 effettivamente dichiarato nel file.
  • Navigazione dei riferimenti $ref. Vai alle definizioni, esamina gli utilizzi e ricevi suggerimenti per i riferimenti scritti in modo errato.
  • Modifiche direttamente nel file. Il tuo repository rimane la fonte autorevole.
  • Problemi associati alle regole. Gli errori della CI e la diagnostica dell’editor usano lo stesso linguaggio.
openapi.yaml 3 problemi
▾ info
▾ paths
 /users
 /users/{id}
 /orders
▾ components
 schemas
 responses
142 /users/{id}:
143 get:
144 operationId: getUser
145 responses:
156 contents:
160 $ref: Erorr
Problemi · 2 errori · 1 avviso
156:9 contents is not a valid Response Object key
160:24 Unresolved $ref. Closest match: Error
Debug API Verifica del contratto attiva
▾ Users
 GET listUsers
 GET getUser
▾ Orders
 POST createOrder
GET {{baseUrl}}/users/{{userId}} Invia
Parametri Autenticazione Corpo Header
{
  "id": "usr_8Kd2Xa",
  "email": "ada@example.com",
  "scope": "users:read"
}
Contract mismatch — "scope" is not declared on User.

Debug delle API

Debug delle API rispetto alla specifica

Un’interfaccia per creare richieste familiare agli sviluppatori, con una capacità in più: verificare le risposte rispetto al contratto API.

  • Raccolte generate da percorsi e tag. Nessuna importazione e nessuna sincronizzazione manuale.
  • Verifica del contratto su ogni risposta. Individua direttamente proprietà non dichiarate, campi mancanti e tipi non conformi.
  • Ambienti e variabili. Riutilizza le configurazioni di sviluppo e staging esistenti.
  • Sicurezza da securitySchemes. La configurazione di Bearer, chiavi API e OAuth parte dalla specifica.

Generatore di server MCP

Genera un server MCP da OpenAPI

La tua specifica è già un manifesto di strumenti. Powerduck la compila in un server MCP eseguibile e mostra esattamente quali campi OpenAPI hanno generato ogni strumento.

  • Origine tracciabile. Ogni strumento è riconducibile alla sua operazione, al suo operationId e al suo schema.
  • Funzionalità ridotte e operazioni escluse sono visibili. I metadati mancanti vengono segnalati, anziché produrre silenziosamente strumenti poco affidabili.
  • Rigenerazione al salvataggio. Modifica la specifica: gli strumenti si aggiornano senza una fase di compilazione.
  • Trasporti locali. Esegui il server tramite stdio o HTTP per agenti e flussi di lavoro locali.
mcp://localhost:7433 in esecuzione
Generato da openapi.yaml 6 strumenti 7 risorse
GET /users/{id} → operationId
getUser
id: string
POST /orders → operationId
createOrder
items: array
POST /auth/login
loginUser
email, password
DELETE /users/{id}
saltato
operationId mancante
14:02 build 6 tools, 7 resources
14:02 serve listening on :7433
14:03 call getUser → 200
Riferimento API Esportazione statica
Users
Panoramica
Retrieve a user
List users
Update user

Retrieve a user

GET /v1/users/{id}
Returns the user object for a valid identifier.
Parametri di percorso
id · string · required
Restituisce
User · object
curl /users/{id}

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

Generatore di documentazione API

Documentazione API dallo stesso contratto

Documentazione di riferimento generata direttamente dal modello OpenAPI, esportabile in file statici da ospitare dove preferisci.

  • Tabelle dei parametri dagli schemi. Campi obbligatori, enumerazioni e descrizioni rimangono sincronizzati.
  • Esempi in più linguaggi. Genera esempi cURL, Node, Python e Go dalle operazioni.
  • Risposte dal contratto reale. Le risposte di successo e di errore provengono dagli stessi oggetti validati dal debugger.
  • Esportazione statica. Nessuna dipendenza a runtime e nessun vincolo con una piattaforma di documentazione.

Un’unica fonte autorevole

Un file OpenAPI locale.
Tutte le funzionalità, con l’IA.

Apri localmente openapi.yaml o openapi.json: Powerduck trasforma il contratto che già possiedi in un’area di lavoro API completa. Nessuna importazione, conversione, raccolta parallela o copia nel cloud. Descrivi il risultato desiderato e l’assistente integrato lo realizza attraverso passaggi verificabili. Lo stesso file è accessibile via MCP a qualsiasi agente di programmazione IA.

APRI IN LOCALE
{ }
openapi.yaml
oppure openapi.json

Il file rimane nel tuo repository.

01 Editor di specifiche

Modifica, esplora e valida il contratto reale.

02 Debugger API

Invia richieste generate dalle stesse operazioni.

03 Server MCP

Compila le operazioni in strumenti per gli agenti.

04 Documentazione API

Pubblica la documentazione dalla stessa fonte.

Powerduck

Più di un client API.
Più di un visualizzatore di specifiche.
Un modo di sviluppare API con l’IA al centro.

Un’area di lavoro pensata per l’uso locale e l’IA, costruita attorno al file OpenAPI.

IL CLOUD NON È NECESSARIOLa specifica può restare sul tuo computer.
NESSUNA SINCRONIZZAZIONE MANUALENon ci sono altri artefatti da mantenere allineati al contratto.
NESSUNA COPIA AGGIUNTIVAIl tuo YAML o JSON esistente è l’area di lavoro.

Lavoro locale, servizi remoti e le tue scelte

I file locali non richiedono un account. L’IA remota invia il contesto pertinente al fornitore configurato; la pubblicazione Cloud carica i contenuti selezionati solo quando lo decidi. Le statistiche d’uso facoltative sono disattivate per impostazione predefinita; consulta l’informativa sulla privacy per dati e controlli.

Informativa sulla privacy

L’uso locale non richiede un acquisto Cloud. Il piano gratuito include spazio per due specifiche; le ricompense approvate per la condivisione possono aggiungerne altro. La licenza desktop elimina questo limite. Se usi la tua chiave, la fatturazione spetta al fornitore del modello; i crediti per i modelli ospitati e l’hosting Cloud sono separati.

Scegli il prossimo passo.

Confronta prodotti e prezzi →

Domande frequenti

Le prime domande degli sviluppatori

Informazioni pratiche su file locali, versioni OpenAPI, generazione MCP e licenze.

Powerduck carica la mia specifica OpenAPI da qualche parte?

I file locali non richiedono un account. L’IA remota invia il contesto pertinente al fornitore configurato; la pubblicazione Cloud carica i contenuti selezionati solo quando lo decidi. Le statistiche d’uso facoltative sono disattivate per impostazione predefinita; consulta l’informativa sulla privacy per dati e controlli.

Quali versioni OpenAPI sono supportate?

OpenAPI 3.0, 3.1 e 3.2. Powerduck rileva la versione dichiarata e valida rispetto al dialetto appropriato, senza ridurre tutto al minimo comune denominatore.

Come viene generato il server MCP?

Le operazioni con operationId diventano strumenti MCP. Gli argomenti derivano dai parametri e dagli schemi requestBody. Gli schemi dei componenti possono essere esposti come risorse. Il server generato si aggiorna quando cambia la specifica.

La licenza desktop è un abbonamento?

No. Powerduck Desktop ha una licenza perpetua acquistata una sola volta. Include gli aggiornamenti della versione principale acquistata. Il passaggio a future versioni principali resta facoltativo.

Posso continuare a usare le raccolte Postman?

Sì. Puoi continuare a usare le raccolte e gli ambienti esistenti. Powerduck considera la specifica OpenAPI il contratto autorevole e aiuta a individuare le richieste che se ne discostano.

Funziona nella CI?

Sì. Lo stesso motore di validazione e generazione è disponibile tramite @powerduck/openapi-cli, uno strumento a riga di comando per pull request e pipeline automatizzate. Supporta test in batch su 6 protocolli (HTTP, SSE, WebSocket, gRPC, MCP, GraphQL), concorrenza configurabile e report compatibili con JUnit per l’integrazione nella CI.

Esplora openapi-cli →