关于 Nestjs Api To Postman Collection
Nestjs Api To Postman Collection 是面向 NestJS 开发者的 MCP 工具和命令行工具,可从现有控制器生成 Postman 集合。它从代码提取路由、类型、请求信息和认证配置,无需添加文档注解。
主要功能
- 01从控制器生成 Postman 集合
- 02检测请求和响应类型
- 03添加认证配置
- 04提取路由、方法和参数
- 05通过 MCP 或命令行运行
适用场景
- 01为 NestJS API 创建 Postman 集合
- 02端点变更后更新集合
- 03不添加装饰器也能生成 API 示例
MCP 相关
它提供分析 NestJS 控制器并生成可导入 Postman 集合的工具。兼容 MCP 的助手可传入控制器文件路径、项目路径和集合名称来调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
NestJS 到 Postman 集合生成器(MCP)
这是一款模型上下文协议(MCP)工具,可自动将 NestJS 控制器转换为可导入的 Postman API 集合。无需再手动创建 Postman 集合,也不必直接在代码中实现复杂的 Swagger 文档。
功能
- 🚀 自动生成 API 集合:只需一条命令,即可将 NestJS 控制器转换为完整的 Postman 集合
- 🔍 智能类型检测:自动检测请求和响应类型,生成有意义的示例
- 🔐 集成身份验证:识别身份验证守卫并添加相应的身份验证配置
- 📊 完整的端点文档:记录路由、方法、请求正文和查询参数
- 🧩 简洁集成:无需修改 NestJS 代码库(不需要装饰器或注释)
- 🔌 MCP 集成:可作为 AI 工具,与任何兼容模型上下文协议的助手配合使用
安装
- 克隆仓库:
git clone https://github.com/ChiragKr04/nestJS-api-postman-MCP.git
cd nestJS-api-postman-MCP
- 安装依赖并构建项目:
npm install
npm run build
用法
作为 MCP 工具使用
此工具可与任何支持模型上下文协议的 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/替换为你克隆仓库的实际路径。
用法
配置完成后:
- 只需让 AI 为你的 NestJS 控制器生成 Postman 集合
- 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 项目
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
本项目采用 ISC 许可证授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。