Nestjs Api To Postman Collection について
Nestjs Api To Postman Collectionは、既存のコントローラーからPostmanコレクションを生成する、NestJS開発者向けのMCPツール兼コマンドラインツールです。コードからルート、型、リクエスト情報、認証設定を抽出し、ドキュメント用の注釈を必要としません。
主な機能
- 01コントローラーからPostmanコレクションを生成
- 02リクエストとレスポンスの型を検出
- 03認証設定を追加
- 04ルート、メソッド、パラメーターを取得
- 05MCPまたはコマンドラインで実行
活用シーン
- 01NestJS APIのPostmanコレクション作成
- 02エンドポイント変更後のコレクション更新
- 03デコレーターを追加せずAPI例を生成
MCP 対応
NestJSコントローラーを解析し、インポート可能なPostmanコレクションを生成するツールを公開します。MCP対応アシスタントは、コントローラーファイルのパス、プロジェクトのパス、コレクション名を指定して呼び出せます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
NestJS から Postman コレクションへのジェネレーター(MCP)
NestJS のコントローラーを、インポート可能な Postman API コレクションに自動変換する Model Context Protocol(MCP)ツールです。Postman コレクションを手動で作成したり、コード内に複雑な Swagger ドキュメントを実装したりする必要がなくなります。
機能
- 🚀 API コレクションの自動生成:コマンド 1 つで NestJS のコントローラーを完全な Postman コレクションに変換します
- 🔍 インテリジェントな型検出:リクエストとレスポンスの型を自動検出し、意味のあるサンプルを生成します
- 🔐 認証との連携:認証ガードを識別し、適切な認証設定を追加します
- 📊 エンドポイントの完全なドキュメント化:ルート、メソッド、リクエストボディ、クエリパラメーターを取得します
- 🧩 クリーンな連携:NestJS のコードベースを変更せずに動作します(デコレーターやコメントは不要です)
- 🔌 MCP 連携:Model Context Protocol 対応のアシスタントであれば、AI ツールとして利用できます
インストール
- リポジトリをクローンします。
git clone https://github.com/ChiragKr04/nestJS-api-postman-MCP.git
cd nestJS-api-postman-MCP
- 依存関係をインストールし、プロジェクトをビルドします。
npm install
npm run build
使用方法
MCP ツールとして
このツールは、Model Context Protocol に対応するあらゆる AI アシスタントで動作するように設計されています。インストール後、MCP 対応の AI アシスタントでこのツールを使えるように設定する必要があります。
設定
Claude Desktop の場合
以下の設定を Claude Desktop の設定に追加します。
{
"mcpServers": {
"Nest-Js-MCP-Postman-Generator": {
"command": "node",
"args": [
"/path/to/your/clone/nestJS-api-postman-MCP/dist/main.js",
"start"
]
}
}
}
GitHub Copilot/Cursor/Windsurf/その他の VS Code ベースの AI ツールの場合
以下の設定を VS Code の settings.json に追加します。
{
"mcp": {
"servers": {
"Nest-Js-MCP-Postman-Generator": {
"command": "node",
"args": [
"/path/to/your/clone/nestJS-api-postman-MCP/dist/main.js",
"start"
]
}
}
}
}
注:
/path/to/your/clone/を、リポジトリをクローンした実際のパスに置き換えてください。
使用方法
設定が完了したら、次の手順に従います。
- NestJS コントローラーの Postman コレクションを生成するよう AI に依頼します
- AI がこのツールを使ってコントローラーを分析し、コレクションを生成します
プロンプトの例:
Generate a Postman collection for my user.controller.ts file in my NestJS project.
コマンドラインから直接使用する
このツールには、直接使用できるコマンドラインインターフェースも用意されています。
# Generate using the CLI
node dist/main.js generate /path/to/nestjs/project -o collection.json -n "My API Collection"
API リファレンス
MCP ツールとして使用する場合、以下のパラメーターを利用できます。
| パラメーター | 型 | 説明 |
|---|---|---|
controllerFilePath | string | NestJS コントローラーファイルへのパス(プロジェクトルートからの相対パス) |
projectPath | string | NestJS プロジェクトへのパス(tsconfig.json を含む) |
collectionName | string | 生成する Postman コレクションの名前 |
このツールを使う理由
手動での更新は不要
API エンドポイントを変更するたびに、Postman コレクションも自動的に同期されます。
クリーンなコード
コードベースがドキュメントで煩雑になる Swagger/OpenAPI デコレーターとは異なり、次のようにできます。
// No more of this annotation clutter
@ApiOperation({ summary: 'Create a new user' })
@ApiBody({ type: CreateUserDto })
@ApiResponse({ status: 201, description: 'User created successfully' })
@ApiResponse({ status: 400, description: 'Bad Request' })
@Post()
create(@Body() createUserDto: CreateUserDto) {
return this.userService.create(createUserDto);
}
正確なドキュメント
このツールは、実際のコードを分析して以下の情報を取得します。
- コントローラーデコレーターにあるルートパス
- メソッドデコレーターにある HTTP メソッド
- パラメーターデコレーターにあるリクエストボディの型
- クエリパラメーターとその型
- 認証要件
出力例
生成される Postman コレクションは次のようになります。
{
"name": "User API",
"item": [
{
"name": "POST /api/users (createUser)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/api/users",
"host": ["{{baseUrl}}"],
"path": ["api", "users"],
"query": []
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"[email protected]\",\n \"password\": \"password123\",\n \"name\": \"John Doe\"\n}"
},
"description": "Generated from createUser in UserController."
}
}
]
}
要件
- Node.js 16 以降
- TypeScript を使用する NestJS プロジェクト
貢献
貢献を歓迎します。お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは ISC ライセンスの下で公開されています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。