Postman MCP server
Postman's official server lets an agent build, run, and manage collections, environments, mocks, and API specs.
Postman MCP Server is Postman's official Model Context Protocol server, giving an agent programmatic access to the Postman API: it can create and edit collections, manage workspaces and environments, run requests through the Collection Runner, spin up mock servers, and author or sync OpenAPI specs — the same surface a developer touches in the Postman app, but driven in natural language.
It ships in three modes selected at launch. Minimal (the default) exposes 41 essential tools for everyday collection, workspace, environment, mock, and spec work. Full mode unlocks 100+ tools covering monitors, forks, comments, the Private API Network, analytics, and administrative operations. Code mode focuses on searching public and internal API definitions and generating client code. You can run it locally over stdio via npx with a POSTMAN_API_KEY, or connect to Postman's hosted remote endpoint at https://mcp.postman.com/mcp, where the US server supports OAuth so no manual key is needed. For teams that already live in Postman, it turns the agent into a first-class API-lifecycle operator instead of a tool that only reasons about HTTP from the outside.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"postman": {
"type": "http",
"url": "https://mcp.postman.com/mcp"
}
}
}claude mcp add --transport http postman https://mcp.postman.com/mcpHeads up
- First tool call opens a browser to authorize.
Available tools
| Tool | Description |
|---|---|
| createCollection | Creates a new collection in a workspace, optionally from a provided collection definition. |
| getCollection | Retrieves a collection by its ID. |
| getCollections | Lists the collections the authenticated user has access to. |
| putCollection | Replaces the contents of an existing collection. |
| generateCollection | Generates a collection from an API definition such as an OpenAPI spec. |
| duplicateCollection | Creates a copy of an existing collection. |
| getDuplicateCollectionTaskStatus | Checks the status of an asynchronous collection-duplication task. |
| runCollection | Runs a collection through the Postman Collection Runner and returns the results. |
| createCollectionRequest | Adds a new request to a collection. |
| updateCollectionRequest | Updates an existing request in a collection. |
| createCollectionResponse | Adds a saved example response to a request in a collection. |
| syncCollectionWithSpec | Updates a collection to match a linked API specification. |
| syncSpecWithCollection | Updates an API specification to match a linked collection. |
| generateSpecFromCollection | Generates an API specification from an existing collection. |
| getGeneratedCollectionSpecs | Lists the specs that have been generated from a collection. |
| getSpecCollections | Lists the collections linked to an API specification. |
| createSpec | Creates a new API specification. |
| getSpec | Retrieves an API specification by its ID. |
| getAllSpecs | Lists the API specifications in a workspace. |
| getSpecDefinition | Retrieves the definition (e.g. the OpenAPI document) of a specification. |
| updateSpecProperties | Updates metadata properties of an API specification. |
| createSpecFile | Adds a file to a multi-file API specification. |
| getSpecFile | Retrieves a single file from an API specification. |
| getSpecFiles | Lists the files that make up an API specification. |
| updateSpecFile | Updates the contents of a file in an API specification. |
| createEnvironment | Creates a new environment with its variables in a workspace. |
| getEnvironment | Retrieves an environment and its variables by ID. |
| getEnvironments | Lists the environments in a workspace. |
| putEnvironment | Replaces the contents of an existing environment. |
| createMock | Creates a mock server from a collection. |
| getMock | Retrieves a mock server by its ID. |
| getMocks | Lists the mock servers the user has access to. |
| updateMock | Updates the configuration of a mock server. |
| publishMock | Publishes a mock server so its endpoints become publicly reachable. |
| createWorkspace | Creates a new workspace. |
| getWorkspace | Retrieves a workspace by its ID. |
| getWorkspaces | Lists the workspaces the authenticated user belongs to. |
| updateWorkspace | Updates the name, type, or description of a workspace. |
| getAuthenticatedUser | Returns information about the authenticated Postman user. |
| getTaggedEntities | Lists Postman entities (collections, workspaces, APIs) that carry a given tag. |
| getEnabledTools | Returns the set of tools currently enabled on the server for the active mode. |
Required configuration
- POSTMAN_API_KEYRequired
Postman API key used by the local server and the EU remote server. The US remote server can use OAuth instead.
What you can do with it
Manage the API lifecycle in natural language
Ask the agent to create a collection, add requests, attach an environment, and stand up a mock server without leaving the chat or clicking through the Postman UI.
Keep specs and collections in sync
Generate a collection from an OpenAPI spec, then sync changes in either direction so the design and the runnable requests never drift apart.
FAQ
- Is it free?
- Yes. The server is open source under Apache-2.0 and free to run; it operates against your existing Postman account, which has free and paid tiers.
- Does it support remote/OAuth?
- Yes. Postman hosts a remote Streamable HTTP endpoint at https://mcp.postman.com/mcp; the US server supports OAuth so no manual key is needed, while local and EU servers authenticate with a POSTMAN_API_KEY.
- What is the difference between minimal, full, and code mode?
- Minimal (the default) exposes 41 essential tools for collections, environments, mocks, specs, and workspaces. Full unlocks 100+ tools including monitors, forks, comments, and the Private API Network. Code mode focuses on API discovery and client-code generation.