
REST to Postman
STDIOConverts REST API code to Postman collections and environments for automatic synchronization.
Converts REST API code to Postman collections and environments for automatic synchronization.
A Model Context Protocol (MCP) server that converts REST API code (e.g., NestJS controllers, FastAPI/Flask endpoints) to Postman collections and environments. This tool helps developers automatically sync their REST API endpoints and environment configurations with Postman.
This is a Model Context Protocol (MCP) stdio server that requires access to your Postman workspace to create/update collections and environments.
To install REST-to-Postman MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @runninghare/rest-to-postman-mcp --client claude
npx
To use the MCP server with npx
:
npx -y rest-to-postman@latest --postman-api-key your_api_key --postman-workspace-id your_workspace_id
Or use environment variables:
export POSTMAN_API_KEY=your_api_key export POSTMAN_ACTIVE_WORKSPACE_ID=your_workspace_id npx -y rest-to-postman@latest
You can integrate this command with various AI code editors that support MCP:
Important Note: The server requires Postman API credentials to function. Make sure you have both the API key and workspace ID ready before starting the server.
The server provides two main tools:
rest_to_postman_env
)Creates or updates a Postman environment with your application's environment variables.
Input Parameters:
envName
(string): Name of the Postman environmentenvVars
(object): Key-value pairs of environment variablesExample Input:
{ "envName": "REST Environment", "envVars": { "API_URL": "https://api.example.com", "API_TOKEN": "secret-token-1" } }
rest_to_postman_collection
)Creates or updates a Postman collection with your REST API endpoints.
Input Parameters:
collectionRequest
(object): Postman collection configuration containing:
info
: Collection metadataauth
: Authentication settingsitem
: Array of API endpointsExample Input:
{ "info": { "name": "REST Collection", "description": "REST Collection", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "auth": { "type": "bearer", "bearer": [ { "key": "Authorization", "value": "Bearer {{API_TOKEN}}", "type": "string" } ] }, "item": [ { "name": "Get Users", "request": { "method": "GET", "url": { "raw": "{{API_URL}}/users", "protocol": "https", "host": ["api", "example", "com"], "path": ["users"] } } } ] }
Both tools return a success message confirming the creation/update of the Postman resource:
{ "content": [{ "type": "text", "text": "Successfully created/updated Postman environment: REST Environment" }] }
You can use this MCP server in Cursor. Here's an example which generates a Postman Collection based on a Nest.js Typescript controller.
Prompt:
Create a postman collection named "Campaign Endpoints" based on this next.js controller. The baseUrl is `http://localhost:7022`. The collection should have a Bear token which applies to all the endpoints
Here's the automatically generated Postman Collection:
Note all the endpoints from the Campaign
Controller are generated, along with the Bear token setting.
git clone https://github.com/runninghare/rest-to-postman.git cd rest-to-postman
bun install
.env
file:POSTMAN_API_KEY=your_api_key_here POSTMAN_ACTIVE_WORKSPACE_ID=your_workspace_id_here
For development, you can run the server directly using Bun:
# Start in stdio mode (default) bun run src/mcp.ts # Start in SSE mode bun run src/mcp.ts --sse
To build the project:
bun run build
This will create a bundled output in the dist
directory.
bun run build
- Build the projectbun run dev
- Run the server in development modebun run startSSE
- Start the server in SSE modeContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.