Full API lifecycle management inside Cursor. Sync collections, generate OpenAPI specs and typed clients, discover APIs, run tests, create mocks, run Flows, improve documentation, and audit security. Powered by the Postman MCP Server.
Note: This plugin mirrors the Postman Plugin for Claude Code, which is the source of truth for Postman's AI coding agent plugins.
This plugin connects Cursor to your Postman account via the Postman MCP Server and bundles purpose-built commands, skills, and an API readiness analyzer. One install gives you:
- 18 commands covering the complete API lifecycle (the canonical command set shared with the Claude Code and Antigravity plugins)
- 3 auto-loaded skills that teach the agent how to use Postman effectively
- 1 sub-agent for deep API readiness analysis (48 checks across 8 pillars)
- API design rules injected into every session
- Zero-config MCP setup (just bring your API key)
- Cursor 2.5+
- A Postman account (free tier works)
- A Postman API key
Postman is an official Cursor Marketplace plugin.
- Open Cursor
- Run
/add-plugin postman, or browse to the Postman listing and click Install - Set your API key (see Setup below)
/add-plugin Postman-Devrel/cursor-postman-plugin
/add-plugin /path/to/cursor-postman-plugin
- Go to Postman API Keys
- Click Generate API Key
- Name it "Cursor Plugin" and copy the key (starts with
PMAK-)
Add to your shell profile (~/.zshrc, ~/.bashrc, or ~/.bash_profile):
export POSTMAN_API_KEY=PMAK-your-key-hereRestart your terminal (or run source ~/.zshrc).
In Cursor, run:
/postman:setup
This verifies your API key, lists your workspaces, and confirms everything is connected.
Guides you through API key setup, verifies the MCP connection, and lists your workspaces.
Create or update Postman collections from your local OpenAPI specs. Keeps your Postman workspace in sync with your code.
> /postman:sync
Found openapi.yaml in ./api/openapi.yaml
Creating collection "Pet Store API" with 15 endpoints...
Collection synced. Environment "Pet Store - Dev" created.
Generate or update an OpenAPI 3.0 spec by scanning the API routes in your codebase, then validate it with the Postman CLI.
> /postman:generate-spec
Scanned 8 routes in src/routes/
Wrote postman/specs/openapi.yaml (8 endpoints, 4 schemas)
Validation: passed
Generate typed client code from any Postman collection. Detects your project language and matches existing conventions. (The inverse of generate-spec: client code from a collection, rather than a spec from your code.)
> /postman:generate-client
Which collection? "User Management API"
Detected: TypeScript project
Generated: src/clients/user-management-api.ts (5 endpoints, 8 types)
Find APIs across your org's resources, your workspaces, and the public Postman network using natural language questions.
> /postman:search
"Is there an endpoint that returns user email addresses?"
Yes -- GET /users/{id} in the "User Management API" collection returns email.
Execute Postman collection tests, analyze failures, and get fix suggestions.
> /postman:test
Running "Pet Store API" tests...
Passed: 12/15 (80%)
Failed: 3 -- diagnosing...
Create mock servers from your collections for frontend development and testing.
> /postman:mock
Created mock: https://abc123.mock.pstmn.io
Add to .env: API_BASE_URL=https://abc123.mock.pstmn.io
Analyze documentation completeness and generate missing descriptions, examples, and error docs.
> /postman:docs
Documentation coverage: 60%
Missing: 12 error responses, 23 parameter descriptions
Want me to fill the gaps?
Audit your API against OWASP API Security Top 10. Finds vulnerabilities and provides specific remediation.
> /postman:security
Score: 48/100
CRITICAL: 3 endpoints have no auth
HIGH: No rate limiting defined
Providing fixes...
Ask "how do I..." questions about Postman itself and how to accomplish workflows. Searches the official Postman documentation and returns cited answers.
> /postman:learn how do I create a mock server?
1. Select the collection, open the "..." menu, choose "Mock collection"
2. Name it, optionally link an environment, then create
Source: learning.postman.com/docs/design-apis/mock-apis/...
Run a Postman collection with the Postman CLI, then parse the results and diagnose failures.
> /postman:run-collection
Running collection 12345678-...
Passed: 14/15 -- diagnosing the 1 failure...
Send a single ad-hoc HTTP request with the Postman CLI and report the response.
> /postman:send-request GET https://api.example.com/health
200 OK (82ms) -- {"status":"healthy"}
List Postman Flows in a workspace and resolve a flow name to its 24-character ID.
> /postman:list-flows
Checkout -- 6634a1... (last run: passed)
Onboarding -- 6634b2... (last run: failed)
Trigger a deployed Postman Flow with inputs from natural language, and report the Run ID, status, and response.
> /postman:trigger-flow Checkout with amount 4200
Run ID: run_abc123 Status: 200 Body: {"ok":true}
Deploy a Postman Flow so it becomes triggerable, confirming the trigger path first (deploy is mutating).
> /postman:deploy-flow Checkout
Proposed path: /checkout -- confirm? (y/n)
Deployed. Trigger URL: https://... Trigger: enabled
Inspect a Flow run by its Run ID -- per-block logs, the failing block, and status.
> /postman:get-flow-run run_abc123
Status: failed Failing block: "Charge Card" (502 from upstream)
Rewrite this plugin's .mcp.json to run the Postman MCP server locally over stdio (npx @postman/postman-mcp-server@latest), authenticated with your POSTMAN_API_KEY.
Rewrite this plugin's .mcp.json back to Postman's hosted MCP server (https://mcp.postman.com/mcp), authenticated with your API key.
You don't have to remember command names. The plugin includes a routing skill that maps natural language to the right command:
| You say | Plugin runs |
|---|---|
| "Sync my API with Postman" | /postman:sync |
| "Generate an OpenAPI spec from my API code" | /postman:generate-spec |
| "Generate a Python client for the payments API" | /postman:generate-client |
| "Run the checkout collection" | /postman:run-collection |
| "Trigger the Checkout flow with amount 4200" | /postman:trigger-flow |
| "Run the Postman MCP server locally" | /postman:use-local |
| "What endpoints do we have for orders?" | /postman:search |
| "Run my API tests" | /postman:test |
| "I need a mock for frontend dev" | /postman:mock |
| "How do I create a mock server in Postman?" | /postman:learn |
| "Is my API agent-ready?" | Readiness Analyzer agent |
The plugin includes a sub-agent that evaluates your APIs for AI agent compatibility. It runs 48 checks across 8 pillars and scores your API on a 0-100 scale.
Trigger it with:
- "Is my API agent-ready?"
- "Scan my API for AI compatibility"
- "What's wrong with my API for agents?"
It analyzes your OpenAPI spec, identifies issues, and walks you through fixes. It can push improved specs back to Postman.
See examples/sample-readiness-report.md for a sample output.
This plugin ships with the Full (https://mcp.postman.com/mcp) endpoint in .mcp.json, which covers every MCP-based command including documentation publishing. The Flow, run-collection, send-request, and generate-spec commands drive the Postman CLI instead of MCP, so they work regardless of the MCP mode. Use /postman:use-remote or /postman:use-local to switch the MCP transport at any time.
Code mode (default):
{
"mcpServers": {
"postman": {
"type": "http",
"url": "https://mcp.postman.com/minimal",
"headers": {
"Authorization": "Bearer ${POSTMAN_API_KEY}"
}
}
}
}Full mode (power users, 100+ tools):
Edit .mcp.json in the plugin directory:
{
"mcpServers": {
"postman": {
"type": "http",
"url": "https://mcp.postman.com/mcp",
"headers": {
"Authorization": "Bearer ${POSTMAN_API_KEY}"
}
}
}
}Full mode includes publishDocumentation / unpublishDocumentation but exceeds Cursor's 80-tool limit. You may need to disable unused tools in Cursor Settings > MCP.
| Variable | Required | Description |
|---|---|---|
POSTMAN_API_KEY |
Yes | Your Postman API key (starts with PMAK-) |
cursor-postman-plugin/
├── .cursor-plugin/
│ └── plugin.json # Plugin manifest
├── .mcp.json # Postman MCP server config (Code mode)
├── commands/ # 18 commands (canonical cross-plugin set)
│ ├── setup.md # /postman:setup
│ ├── sync.md # /postman:sync
│ ├── generate-spec.md # /postman:generate-spec
│ ├── generate-client.md # /postman:generate-client
│ ├── search.md # /postman:search
│ ├── test.md # /postman:test
│ ├── run-collection.md # /postman:run-collection
│ ├── send-request.md # /postman:send-request
│ ├── mock.md # /postman:mock
│ ├── docs.md # /postman:docs
│ ├── security.md # /postman:security
│ ├── learn.md # /postman:learn
│ ├── list-flows.md # /postman:list-flows
│ ├── trigger-flow.md # /postman:trigger-flow
│ ├── deploy-flow.md # /postman:deploy-flow
│ ├── get-flow-run.md # /postman:get-flow-run
│ ├── use-local.md # /postman:use-local
│ └── use-remote.md # /postman:use-remote
├── skills/
│ ├── postman-routing/ # Auto-routes intent to commands
│ ├── postman-knowledge/ # Postman concepts + MCP guidance
│ └── agent-ready-apis/ # API readiness knowledge
├── agents/
│ └── readiness-analyzer.md # 48-check API readiness analyzer
├── rules/
│ └── postman-best-practices.mdc # API design rules
├── assets/ # Logo and branding
├── examples/
│ └── sample-readiness-report.md
├── LICENSE # Apache-2.0
└── README.md
- Fork this repository
- Create a feature branch:
git checkout -b feature/my-improvement - Make your changes
- Add an entry under
[Unreleased]inCHANGELOG.md - Test locally:
/add-plugin /path/to/your/fork - Submit a pull request
- Create
commands/your-command.mdwith YAML frontmatter - Add routing patterns to
skills/postman-routing/SKILL.md - Test with
/postman:your-commandin Cursor - Update this README
# Clone the repo
git clone https://github.com/Postman-Devrel/cursor-postman-plugin.git
# Install in Cursor
# In Cursor agent, run:
/add-plugin /path/to/cursor-postman-plugin
# Verify
/postman:setupThis plugin follows Semantic Versioning; the current version is in
.cursor-plugin/plugin.json. See CHANGELOG.md
for changes between versions and RELEASING.md for the release process.
/add-plugin Postman-Devrel/cursor-postman-plugin tracks main; releases are tagged (e.g. 1.0.1)
and published as GitHub Releases.
- Postman Plugin for Claude Code - The source of truth for all Postman AI coding plugins
- Postman Agent Skills - Portable skills for any skills.sh-compatible agent
- Postman Cursor Rules - Lightweight MCP config + rules for Cursor