FIRST CH TOOLS / 開発 / 73 OPENAPI DOC GENERATOR
OpenAPI → 日本語ドキュメント&TypeScript型定義
OpenAPI / Swagger の仕様書(JSON・YAML)から、日本語のAPIドキュメント(Markdown)とTypeScript の型定義(.ts)を作ります。エンドポイント一覧・パラメータの表・リクエストとレスポンスの例・スキーマの表を書き出し、どちらもコピーかファイルで保存できます。仕様書はこのページの中だけで読み、端末の外へ送りません。
1 — 仕様書(OpenAPI / Swagger)
2 — APIドキュメント(Markdown)
3 — TypeScript 型定義
- 仕様書を貼り付けるか、「サンプルを入れる」を押してください。
仕様書の解析もドキュメント・型定義の組み立ても、すべてこのページの中で動きます。貼り付けた仕様書・選んだファイルはサーバーへ送信しません(社内APIの仕様書でもそのまま使えます)。URLパラメータでは受け取りません。
How to Use
- 仕様書を入れるopenapi.yaml や swagger.json の中身を貼り付けるか、ファイルを開く・ドロップします。OpenAPI 3.0 / 3.1 と Swagger 2.0 の、JSON と YAML のどちらでも読めます。
- 言語と出力を選ぶドキュメントを日本語か英語か、レスポンス例を自動で作るか、エンドポイントごとの型も出すかを選びます。入れた時点で自動で生成されます。
- コピーか保存Markdown は .md、型定義は .ts で保存できます。型定義はフロントエンドの src/types/ などに置いて import します。
About This Tool
バックエンドが書いた OpenAPI(旧 Swagger)の仕様書から、読む人のための日本語のAPIドキュメントと、フロントエンドで使う TypeScript の型定義を一度に作るツールです。英語の Swagger UI を社内・取引先にそのまま渡しにくい、仕様書を外部のサービスにアップロードしたくない、という制作現場の事情に合わせ、解析から文字列の組み立てまでをこのページの中だけで行います。
ドキュメント(Markdown)には、ベースURL・エンドポイント一覧・認証方式に続けて、エンドポイントごとにパラメータの表(名前・場所・型・必須・説明)、リクエストボディ、レスポンスの表と例を並べ、最後に各スキーマのプロパティ表を付けます。タグがあればタグごとにまとめます。例は仕様書に書かれた example / examples を優先し、無ければスキーマの型・format・enum・default から作ります(その旨を見出しに書きます)。表の見出しや「必須」などの定型句が日本語になり、説明文そのものは仕様書の原文のままです(翻訳はしません)。
TypeScript の型定義は、components.schemas(Swagger 2.0 は definitions)を1件ずつ export interface か export type にします。required に無いプロパティは ? 付き、enum は "a" | "b"、allOf は &、oneOf / anyOf は |、nullable(3.1 は type: [..., "null"])は | null、readOnly は readonly、format: binary は Blob です。説明・format・既定値・非推奨は JSDoc コメントで残るので、エディターの補完に出ます。エンドポイントごとの型は operationId(無ければメソッドとパス)から …Params・…RequestBody・…Response の名前で作ります。出力は TypeScript の --strict で型エラーが出ないことを、GitHub・Stripe の公開仕様書を含む実在の仕様書で確かめています。
できないこと: 別ファイル・URLを指す $ref(./schemas/user.yaml など)は読みに行かず、型を unknown にして知らせます。1ファイルにまとめた仕様書(bundle 済み)を入れてください。各言語のSDKや、実際にAPIを呼び出すクライアントコードは作りません(型の宣言だけです)。YAML は YAML 1.2 として読み、アンカー・エイリアス・マージキーにも対応します。書き方の誤りは行と桁を示して止まります。YAMLとJSONの変換・整形そのものは JSON ⇄ YAML 相互変換、JSONのレスポンスを表にするなら CSV/TSV ⇄ JSON 相互変換、Markdown の表の整形は Markdownテーブル整形 が対応します。
From AI Agents
このツールのドキュメント・型定義の生成ロジックは、MCP(Model Context Protocol)サーバー @first-ch/tools-mcp の openapi_doc_generate ツールとしても提供しており、ブラウザを使わずAIエージェントから直接呼び出せます。仕様書は本文(spec)か手元のファイルの絶対パス(path)で渡します。導入方法の詳細は AIエージェントからの使い方 を参照してください。
導入
claude mcp add firstch-tools -- npx -y @first-ch/tools-mcp
呼び出し例
# 手元の仕様書から Markdown と TypeScript の両方を作る openapi_doc_generate(path="/path/to/openapi.yaml") # 型定義だけをファイルへ書き出す openapi_doc_generate(path="/path/to/openapi.json", output="typescript", outputDir="/path/to/types") # 英語のドキュメントにする openapi_doc_generate(spec="openapi: 3.0.3\ninfo: …", lang="en", output="markdown")
Other Tools
- 01画像→WebP一括変換WebP Converter
- 02白背景の透過White BG Remover
- 03コントラスト比チェッカーContrast Checker
- 04文字数カウントCharacter Counter
- 05llms.txt ジェネレーターllms.txt Generator
- 06JSON-LD構造化データ生成JSON-LD Generator
- 07Markdown→PDF変換MD → PDF
- 08OGPメタタグ生成ウィザードOGP Wizard
- 09faviconジェネレーターFavicon Generator
- 10TikTok投稿ツールTikTok Publisher
- 11文字コード・改行コード変換Encoding Converter
- 12画像→AVIF変換+picture生成AVIF Converter
- 13テストデータ生成Test Data Generator
- 14Marp Markdown→スライドMarp Slides
- 15テキスト・コード差分チェッカーDiff Checker
- 16Cron式ビジュアル解説Cron Explainer
- 17Base64 & Data URI変換Base64 & Data URI
- 18URLパラメータ分解・UTMタグ編集URL Parameters
- 19HTMLエンティティ・特殊文字エスケープHTML Escape
- 20JSON ⇄ YAML 相互変換&整形JSON ⇄ YAML
- 21PX ⇄ REM / EM 単位変換&スケール表PX ⇄ REM / EM
- 22カラーコード変換&アルファ透過Color Converter
- 23MD5 / SHA-256 ハッシュ生成Hash Generator
- 24JWTデコーダー&有効期限チェッカーJWT Decoder
- 25User-Agent解析&デバイス判定User-Agent Parser
- 26UUID (v4) & ULID 一括生成UUID & ULID Generator
- 27アスペクト比計算&レスポンシブサイズAspect Ratio Calculator
- 28Markdownテーブル整形&CSV/TSV変換Markdown Table
- 29SQLクエリフォーマッター&整形SQL Formatter
- 30QRコード生成QR Code Generator
- 31正規表現テスターRegex Tester
- 32UNIXタイムスタンプ⇄日時変換Unix Time Converter
- 33新規タブメモ帳New Tab Memo
- 34画像リサイズ&クロップImage Resizer
- 35EXIF情報の確認&除去EXIF Viewer
- 36robots.txt ジェネレーターrobots.txt Generator
- 37安全なパスワード生成Password Generator
- 38文字列ケース変換Case Converter
- 39CSV/TSV ⇄ JSON 相互変換CSV ⇄ JSON
- 40PDF結合・分割・ページ抽出PDF Merge & Split
- 41全角⇄半角変換&テキストクリーナーZenkaku ⇄ Hankaku
- 42X(Twitter)投稿の文字数計算(重み付き)X Post Counter
- 43CSS clamp() フルイドタイポグラフィ計算機CSS clamp() Calculator
- 44CSSグラデーションジェネレーターCSS Gradient Generator
- 45画像からカラーパレット抽出Palette Extractor
- 46QRコード読み取りQR Code Reader
- 47SVG最適化&data URI化SVG Optimizer
- 48リダイレクトルール ジェネレーターRedirect Generator
- 49IPアドレス・CIDR計算機CIDR Calculator
- 50カレンダー予定(.ics)ジェネレーターICS Generator
- 51イージング(cubic-bezier)プレビュー&比較Easing Preview
- 52box-shadow ジェネレーターbox-shadow Generator
- 53和文ダミーテキスト生成Japanese Dummy Text
- 54SNS画像サイズ一括書き出しSocial Image Sizes
- 55タイムゾーン変換・世界時計Timezone Converter
- 56日数・営業日計算Business Day Calculator
- 57HTML→Markdown変換HTML → Markdown
- 58HEIC→JPEG/PNG変換HEIC Converter
- 59印刷サイズ・DPI計算機Print DPI Calculator
- 60色覚シミュレーターColor Blindness Simulator
- 61SERPプレビュー&メタタグ文字数チェックSERP Preview
- 62Flexbox / CSS Grid ジェネレーターFlexbox & CSS Grid
- 63テキスト行操作ツールLine Tools
- 64スクリーンショット枠装飾Screenshot Frame
- 65和暦 ⇄ 西暦変換Japanese Era Converter
- 66URLスラッグ生成(日本語→ローマ字)URL Slug Generator
- 67htpasswd ジェネレーターhtpasswd Generator
- 68OGP画像ジェネレーターOGP Image Generator
- 69スタンプ形ジェネレーターStamp Shape Generator
- 70スリープ防止(画面の消灯を止める)Stay Awake
- 71画面録画+クリック自動ズームScreen Recorder with Auto-Zoom
- 723Dデバイスモックアップジェネレーター3D Device Mockup Generator
- 74画面レビューボードScreen Review Board
- 75AI活用案件の判断記録AI Decision Journal
- 76カードバインダー配置プランナーCard Binder Planner
- 77e-Stat CSV かんたんグラフ化e-Stat CSV to Chart
- 78FAQ構造化データ(JSON-LD)&Markdown ジェネレーターFAQ JSON-LD Generator
- 79コード画像化Code to Image
- 80社内文書の重複・孤立・表記ゆれチェッカーWiki Doc Checker
- 81サイトのスタイル実測→AI向けブランドガイドStyle → AI Brand Guide
- 82アイコンの丸切り抜きプレビュー(新旧比較)Icon Crop Preview
- 83寝顔の無音カメラSilent Sleep Camera
- 84Instagram投稿ツールInstagram Publisher
- 85今年の12枚(1年の写真まとめ)12 Months in Photos
- 86中袋の記入欄に収める下書きInner Envelope Box Fitter