ローカルファースト・AI ネイティブの OpenAPI スタジオ

ローカルで API を開発。
ドキュメントと AI につなぐ。

Codex、Claude Code、Cursor に API 定義に沿ったコードを書いてもらう。ローカルファーストの Powerduck デスクトップアプリで、コードからドキュメントを生成し、AI でテストを組み立てる。OpenAPI ドキュメントと MCP サーバーは Hub で無料ホスティング。

commerce-api/openapi.yaml OpenAPI 3.1 · ローカルファイル
1つの OpenAPI 契約
/orders
  post  createOrder
  get   listOrders
/products
  get   listProducts
/customers
  get   listCustomers
実行可能な MCP サーバーにコンパイル · 12個の呼び出し可能ツール
あなたのコーディングエージェント Cursor · Claude Code · Codex
powerduck · MCP server
powerduck.read_spec() 12個のオペレーションを検出
powerduck.start_mock("POST /orders") モックサーバー稼働 :4010
powerduck.generate_tests("POST /orders") orders.test.js を生成
powerduck.call_api("POST /orders", {total:49}) 200 OK · 契約に照らして検証済み
powerduck.publish_docs() リファレンスドキュメントを更新
1つの OpenAPI ファイルは エージェントが呼び出すツールにコンパイルされます。モック・テスト・API呼び出し・ドキュメントはすべて同じ契約で検証されます。

ローカル作業はアカウント不要。リモート AI は選択したモデルサービスを使用し、オンライン公開には Cloud アカウントが必要です。

仕様編集 · API デバッグ · テスト · モック · API ドキュメント · MCP サーバー

POWERDUCK HUB

ひとつの OpenAPI 仕様で、ローカル開発からオンライン共有まで。

デスクトップで API を検証し、Hub でドキュメントを共有して AI ツールを接続します。

  1. 01

    開発と検証

    Powerduck で API を設計・デバッグ・テスト。

  2. 02

    OpenAPI から公開

    仕様を公開して、API ドキュメントと MCP エンドポイントを利用できるようにします。

  3. 03

    共有と接続

    ドキュメントを共有し、MCP クライアントを接続。Hub への掲載は選択できます。

無料枠には上限があります。業務 API は引き続きご自身のバックエンドで実行されます。

Powerduck を選ぶ理由

1つのローカルファイルで、API ツールの山を置き換える。

リポジトリ内の1つの OpenAPI YAML が設計・デバッグ・テスト・モック・ドキュメント・MCP を動かし、コーディングエージェントも同じファイルを使います。

1つのファイルで全機能を実行

同じ OpenAPI 仕様から設計・デバッグ・テスト・モック・ドキュメント・MCP 公開まで行い、ズレを防ぎます。

他製品 コレクション・ドキュメント・モック・テストが別ファイル
Powerduck 1つの YAML が全ツールとエージェントを駆動

すべての応答を契約検証

各応答は OpenAPI 仕様と照合され、単に表示するだけでなく、型やパスの誤りをその場で検出します。

他製品 リクエストを送り 200 応答を表示するだけ
Powerduck 応答が返る瞬間に仕様のズレを警告

ローカルファースト、アカウント不要、エージェント対応

ファイルはマシン上に留まり、アカウントやアップロードなしで動作します。Codex、Claude Code、Cursor もあなたと同じ仕様を読みます。

他製品 始める前にクラウドアカウントとアップロードが必要
Powerduck ローカルで実行。エージェントも同じファイルを参照
~/commerce-api/openapi.yaml OpenAPI 3.1.0 問題 3 件 未保存
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
問題 エラー 2 件 · 警告 1 件 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
156 行、9 列 YAML UTF-8 スペース: 2 3.1.0
openapi.yaml から生成したコレクション Postman インポート 契約チェック有効
GET ▾
{{baseUrl}}/users/{{userId}}?include=profile
ステージング ▾
パラメーター1 認証bearer ヘッダー3 ボディ スクリプト 設定
# 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 契約: 不一致 1 件
ボディ ヘッダー9 Cookie 契約1 タイムライン
{
  "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 実行中 stdio + HTTP

openapi.yaml から生成

ツール 6 件 リソース 7 件 機能低下 1 件 保存時に再生成

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 件, 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 静的エクスポート 仕様と同期済み

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.

パスパラメーター
id string 必須
The identifier of the user, prefixed with usr_.
クエリパラメーター
include string
Expand a related object.

ワークフローで見る

身近な手作業が、契約駆動のワークフローに変わります。

以下からタスクを選んでください。Powerduck はマシン上の OpenAPI ファイルから実行します。環境・テスト・モックを含み、アカウントやアップロードは不要です。

ローカルを選んでも、機能を諦める必要はない。

ローカルの API 作業はアカウントもアップロードも不要。リクエスト、認証、環境、アサーションをそのまま使い、オンライン公開が必要なときに Cloud を選べます。

  • cURL / Postman / OpenAPI のインポート
  • 認証と環境変数
  • スクリプトとアサーション
  • コレクションとシナリオテスト
  • ローカル Mock サーバー
  • 7 プロトコルのデバッグ

ローカル作業はアカウント不要。リモート AI は選択したモデルサービスを使用し、オンライン公開には Cloud アカウントが必要です。

ドキュメントが正しいか確かめるために、ソースコードを読んでいませんか?

プロジェクトから API ドキュメントを生成。

確認できる API 定義とローカルのドキュメントリンク。

設定と利用条件を見る

AI に仕様を渡したのに、違うフィールドやパスが返ってきませんか?

実際の API 定義をエージェントに渡す。

定義に基づく実装と、実際のレスポンスによる確認。

設定と利用条件を見る

API を変えるたびに、同じ業務フローを手動でテストしていませんか?

業務シナリオ全体を AI で実行。

生成コードだけでなく、各ステップの結果と失敗したアサーション。

設定と利用条件を見る

プロトコルが変わるだけで、別のデバッグツールが必要ですか?

7 プロトコルを一つの場所で確認。

何が起きたかを自分で詳しく調べられる操作性。

設定と利用条件を見る

AI に調査を頼むたびに、リクエストやレスポンスを貼り直していませんか?

実際のリクエスト情報で AI と調査。

リクエスト結果に基づく調査と、確認できる修正案。

設定と利用条件を見る

ドキュメントと MCP を共有するだけなのに、別のホスティング環境を管理していませんか?

一つの API からドキュメントと MCP を公開。

自前のホスティング環境なしで、ドキュメントと MCP の URL。

設定と利用条件を見る

自分のパソコンから始める

ダウンロードして、本来の仕事へ。

Powerduck の中心はデスクトップ。ローカルファイルを開き、リクエストを送り、必要になったらエージェントを接続。開始にアカウントは不要です。

毎日のメインワークスペース

ここを API 作業の拠点に。

ローカルファイル、コード解析、ネイティブ通信のデバッグをデスクトップで。設計・調査・テストには、選んだ AI モデルを接続できます。

  1. 1 アプリをダウンロードしてローカルサンプルを試す。アカウントやモデルキーは不要です。
  2. 2 自分の OpenAPI ファイルを開くか、既存コードをスキャンします。
  3. 3 コーディングエージェントを接続し、コードを変更して、実際のバックエンドを契約に沿って検証します。
デスクトップ版をダウンロード

macOS 12+ · Windows 10+ · Linux

まずは見てみたい?

ブラウザーで少し体験。

ブラウザー版デモは共有クラウドモデルを使用するため、ログインが必要です。アカウントなしのローカル作業にはデスクトップ版をご利用ください。

ブラウザー版を開く

契約検証

実際の契約エラーと、検証済みの修正

通常の API クライアントはリクエストを送ってレスポンスを表示するだけです。Powerduck は各レスポンスを OpenAPI 契約と照合し、仕様とのズレをその場で検出します。

実行できる例を見る
~/commerce-api — response check OpenAPI 3.1
契約では
total:
  type: number
バックエンドが文字列を返す
{
  "total": "49.00"
}
/total は number である必要があります — レスポンスが契約に不一致
数値を返す
{
  "total": 49
}
レスポンスは契約に一致

OpenAPI スペックエディタ

OpenAPI スペックエディタ

アウトラインは、インデントによる推測ではなく、仕様の実際の構造に従います。パスとコンポーネントをツリーで移動し、問題のある場所で修正できます。

  • スキーマ対応の検証。 ファイルが実際に宣言する 3.0、3.1、3.2 の方言に対して検証します。
  • 解決済み $ref ナビゲーション。 定義へジャンプし、使用箇所を確認し、スペルミスのある参照の候補を表示します。
  • その場で編集。 リポジトリが唯一の信頼できる情報源であり続けます。
  • ルール名付きの問題表示。 CI の失敗とエディタの診断が同じ用語で表示されます。
openapi.yaml 問題 3 件
▾ info
▾ paths
 /users
 /users/{id}
 /orders
▾ components
 schemas
 responses
142 /users/{id}:
143 get:
144 operationId: getUser
145 responses:
156 contents:
160 $ref: Erorr
問題 · エラー 2 件 · 警告 1 件
156:9 contents is not a valid Response Object key
160:24 Unresolved $ref. Closest match: Error
API デバッグ 契約チェック有効
▾ Users
 GET listUsers
 GET getUser
▾ Orders
 POST createOrder
GET {{baseUrl}}/users/{{userId}} 送信
パラメーター 認証 ボディ ヘッダー
{
  "id": "usr_8Kd2Xa",
  "email": "ada@example.com",
  "scope": "users:read"
}
Contract mismatch — "scope" is not declared on User.

API デバッグ

仕様に基づく API デバッグ

開発者が使い慣れたツールと同じ形状のリクエストビルダーに加え、それらのツールが既定ではできないこと、つまり契約に対するレスポンス検証を提供します。

  • パスとタグから生成されるコレクション。 インポートの手順も、手動での再同期も不要です。
  • すべてのレスポンスで契約チェック。 宣言外プロパティ、欠落フィールド、型のずれをインラインで検出。
  • 環境と変数。 既存の開発・ステージング設定を再利用。
  • securitySchemes から始まる認証。 Bearer、API キー、OAuth の設定が仕様から始まります。

MCP サーバージェネレータ

OpenAPI から MCP サーバーを生成

あなたの仕様は、すでにツールマニフェストです。Powerduck はそれを実行可能な MCP サーバーにコンパイルし、各ツールがどの OpenAPI フィールドから生まれたかを正確に表示します。

  • 見える来歴。 すべてのツールは、その operation、operationId、スキーマまで追跡できます。
  • 劣化およびスキップ状態。 メタデータの欠落は、弱いツールを黙って作るのではなく、可視化されます。
  • 保存のたびに再生成。 仕様を変更すると、ビルドステップなしでツールが更新されます。
  • ローカルトランスポート。 ローカルエージェントとワークフローのために stdio または HTTP で実行。
mcp://localhost:7433 実行中
openapi.yaml から生成 ツール 6 件 リソース 7 件
GET /users/{id} → operationId
getUser
id: string
POST /orders → operationId
createOrder
items: array
POST /auth/login
loginUser
email, password
DELETE /users/{id}
スキップ済み
operationId がありません
14:02 build 6 tools, 7 resources
14:02 serve listening on :7433
14:03 call getUser → 200
API リファレンス 静的エクスポート
Users
概要
Retrieve a user
List users
Update user

Retrieve a user

GET /v1/users/{id}
Returns the user object for a valid identifier.
パスパラメーター
id · string · required
戻り値
User · object
curl /users/{id}

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

API ドキュメントジェネレータ

同じ契約から生まれる API ドキュメント

リファレンスドキュメントは OpenAPI モデルから直接生成され、静的ファイルとして書き出され、好きな場所でホストできます。

  • スキーマから作られるパラメータ表。 必須フラグ、列挙、説明が同期し続けます。
  • 複数言語のサンプル。 operation から cURL、Node、Python、Go の例を生成。
  • 実際の契約に基づくレスポンス。 成功・エラーレスポンスは、デバッガが検証するのと同じオブジェクトから取得されます。
  • 静的書き出し。 実行時の依存も、ドキュメントプラットフォームへのロックインもありません。

唯一の情報源

ローカルの OpenAPI ファイルひとつ。
すべての機能が AI 駆動。

openapi.yaml または openapi.json をローカルで開くと、Powerduck はすでに持っている契約を完全な API ワークスペースに変えます。インポート不要、変換不要、並行するコレクションなし、クラウドコピーなし。望む結果を平易な言葉で説明すれば、内蔵アシスタントがレビュー可能な手順で実行します。同じファイルは MCP でどんな AI コーディングエージェントとも対話できます。

ローカルで開く
{ }
openapi.yaml
または openapi.json

ファイルはリポジトリ内に残ります。

01 仕様エディター

実際の契約を編集・移動・検証。

02 API デバッグ

同じ operation から生成されたリクエストを送信。

03 MCP サーバー

operation をエージェント対応ツールにコンパイル。

04 API ドキュメント

同じソースからドキュメントを公開。

Powerduck

API クライアントの再製でも、
仕様ビューアの再製でもなく、
AI ネイティブな API 構築の方法。

OpenAPI ファイルそのものを中心に構築された、ローカルネイティブで AI 駆動のワークスペースです。

クラウド不要仕様をマシンの外に出す必要はありません。
手動同期不要契約に合わせて管理すべき他のものは存在しません。
別のコピーは不要既存の YAML または JSON がそのままワークスペースです。

ローカル作業とリモートサービスの境界

ローカルファイルの読み書きにアカウントは不要です。リモート AI には設定したプロバイダーへ関連コンテキストを送信します。Cloud への公開時は選択した内容をアップロードします。任意の利用統計は初期設定でオフです。項目と設定はプライバシー説明をご覧ください。

プライバシーポリシー

ローカル機能に Cloud の購入は不要です。無料利用は仕様ファイル 2 件まで。審査済みの共有特典で枠を追加でき、デスクトップライセンスで枠の制限を解除できます。持ち込みキーの料金はモデル提供者が請求し、ホスト型モデルのクレジットと Cloud は別料金です。

次のステップを選ぶ

製品と料金を比較 →

よくある質問

開発者が最初に尋ねる質問

ローカルファイル、OpenAPI バージョン、MCP 生成、ライセンスに関する実務的な詳細。

Powerduck は私の OpenAPI 仕様をどこかにアップロードしますか?

ローカルファイルの読み書きにアカウントは不要です。リモート AI には設定したプロバイダーへ関連コンテキストを送信します。Cloud への公開時は選択した内容をアップロードします。任意の利用統計は初期設定でオフです。項目と設定はプライバシー説明をご覧ください。

どの OpenAPI バージョンをサポートしていますか?

OpenAPI 3.0、3.1、3.2。Powerduck は宣言されたバージョンを検出し、最小公倍数ではなく該当する方言で検証します。

MCP サーバーはどのように生成されますか?

operationId を持つ operation が MCP ツールになります。引数は parameters と requestBody スキーマから導出されます。コンポーネントスキーマはリソースとして公開できます。仕様が変更されるたびに、生成サーバーが更新されます。

デスクトップライセンスはサブスクリプションですか?

いいえ。Powerduck Desktop は一度購入する永久ライセンスで、メジャーバージョン内の更新が含まれます。将来のメジャーアップグレードは任意です。

Postman コレクションを使い続けられますか?

はい。既存のコレクションと環境は引き続き使用できます。Powerduck は OpenAPI 仕様を権威ある契約として扱い、リクエストがどこで契約から外れるかを特定するのに役立ちます。

CI で使えますか?

はい。同じ検証・生成エンジンは @powerduck/openapi-cliを通じて公開されています。これは CI 対応のコマンドラインツールで、プルリクエストや自動パイプラインで実行されます。6 つのプロトコル(HTTP、SSE、WebSocket、gRPC、MCP、GraphQL)にわたる一括テスト、設定可能な並行処理、CI 統合向けの JUnit 互換レポートをサポートします。

openapi-cli を見る →