Postman MCP Server
Postman's MCP server connects AI agents, assistants, and chatbots directly to your APIs on Postman. Use natural language to prompt AI to automate work across your Postman collections, environments, workspaces, and more.
MCP Info
| Attribute | Details |
|---|---|
| Docker Image | mcp/postman |
| Author | postmanlabs |
| Repository | https://github.com/postmanlabs/postman-mcp-server |
Image Building Info
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/postmanlabs/postman-mcp-server/blob/89d87667898d08443d2791fb19312b2f2084a697/Dockerfile |
| Commit | 89d87667898d08443d2791fb19312b2f2084a697 |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | Docker Scout Health Score |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/postman --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | Apache License 2.0 |
Available Tools (42)
| Tools provided by this Server | Short Description |
|---|---|
createCollection |
Creates a collection using the Postman Collection v2.1.0 schema format. |
createCollectionRequest |
Creates a request in a collection. For a complete list of properties, refer to the Request entry in the Postman Collection Format documentation. |
createCollectionResponse |
Creates a request response in a collection. For a complete list of request body properties, refer to the Response entry in the Postman Collection Format documentation. |
createEnvironment |
Creates an environment. |
createMock |
Creates a mock server in a collection. |
createSpec |
Creates an API specification in Postman's Spec Hub. Specifications can be single or multi-file. |
createSpecFile |
Creates a file for an OpenAPI or a protobuf 2 or 3 specification. |
createWorkspace |
Creates a new workspace. |
duplicateCollection |
Creates a duplicate of the given collection in another workspace. |
generateCollection |
Creates a collection from the given API specification. |
generateSpecFromCollection |
Generates an OpenAPI 2.0, 3.0, or 3.1 specification for the given collection. The response contains a polling link to the task status. |
getAllSpecs |
Gets all API specifications in a workspace. |
getAuthenticatedUser |
Gets information about the authenticated user. |
getCollection |
Get Collection (map by default) |
getCollections |
The workspace ID query is required for this endpoint. If not provided, the LLM should ask the user to provide it. |
getDuplicateCollectionTaskStatus |
Gets the status of a collection duplication task. |
getEnabledTools |
Get Enabled Tools |
getEnvironment |
Gets information about an environment. |
getEnvironments |
Gets information about all of your environments. |
getGeneratedCollectionSpecs |
Gets the API specification generated for the given collection. |
getMock |
Gets information about a mock server. |
getMocks |
Gets all active mock servers. By default, returns only mock servers you created across all workspaces. |
getSpec |
Gets information about an API specification. |
getSpecCollections |
Gets all of an API specification's generated collections. |
getSpecDefinition |
Gets the complete contents of an OpenAPI or AsyncAPI specification's definition. |
getSpecFile |
Gets the contents of an API specification's file. |
getSpecFiles |
Gets all the files in an API specification. |
getTaggedEntities |
Requires an Enterprise plan. Tagging is only available on Postman Enterprise plans. This tool returns a 404 error on Free, Basic, and Professional accounts. |
getWorkspace |
Gets information about a workspace. |
getWorkspaces |
Gets all workspaces you have access to. |
publishMock |
Publishes a mock server. Publishing a mock server sets its Access Control configuration setting to public. |
putCollection |
Replaces the contents of a collection using the Postman Collection v2.1.0 schema format. Include the collection's ID values in the request body. If you do not, the endpoint removes the existing items and creates new items. |
putEnvironment |
Replaces all the contents of an environment with the given information. |
runCollection |
Run Postman Collection |
searchPostmanElements |
Search for Postman entities (requests, collections, workspaces, specs, flows, environments, mocks). |
syncCollectionWithSpec |
Syncs a collection generated from an API specification. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response. |
syncSpecWithCollection |
Syncs an API specification linked to a collection. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response. |
updateCollectionRequest |
Updates a request in a collection. For a complete list of properties, refer to the Request entry in the Postman Collection Format documentation. |
updateMock |
Updates a mock server. |
updateSpecFile |
Updates a file for an OpenAPI or protobuf 2 or 3 specification. |
updateSpecProperties |
Updates an API specification's properties, such as its name. |
updateWorkspace |
Updates a workspace's property, such as its name or visibility. |
Tools Details
Tool: createCollection
Creates a collection using the Postman Collection v2.1.0 schema format.
Note:
If you do not include the `workspace` query parameter, the system creates the collection in the oldest personal Internal workspace you own.
| Parameters | Type | Description |
|---|---|---|
workspace |
string |
The workspace's ID. |
collection |
object optional |
Tool: createCollectionRequest
Creates a request in a collection. For a complete list of properties, refer to the Request entry in the Postman Collection Format documentation.
Note:
It is recommended that you pass the `name` property in the request body. If you do not, the system uses a null value. As a result, this creates a request with a blank name.
| Parameters | Type | Description |
|---|---|---|
collectionId |
string |
The collection's ID. |
auth |
string optional |
The request's authentication information. |
data |
string optional |
The request body's form data. |
dataMode |
string optional |
The request body's data mode. |
dataOptions |
string optional |
Additional configurations and options set for the request body's various data modes. |
description |
string optional |
The request's description. |
events |
string optional |
A list of scripts configured to run when specific events occur. |
folderId |
string optional |
The folder ID in which to create the request. By default, the system will create the request at the collection level. |
graphqlModeData |
string optional |
The request body's GraphQL mode data. |
headerData |
array optional |
The request's headers. |
method |
string optional |
The request's HTTP method. |
name |
string optional |
The request's name. It is recommended that you pass the name property in the request body. If you do not, the system uses a null value. As a result, this creates a request with a blank name. |
queryParams |
array optional |
The request's query parameters. |
rawModeData |
string optional |
The request body's raw mode data. |
url |
string optional |
The request's URL. |
Tool: createCollectionResponse
Creates a request response in a collection. For a complete list of request body properties, refer to the Response entry in the Postman Collection Format documentation.
Note:
It is recommended that you pass the `name` property in the request body. If you do not, the system uses a null value. As a result, this creates a response with a blank name.
| Parameters | Type | Description |
|---|---|---|
collectionId |
string |
The collection's ID. |
request |
string |
The parent request's ID. |
cookies |
string optional |
The response's cookie data. |
dataMode |
string optional |
The associated request body's data mode. |
dataOptions |
string optional |
Additional configurations and options set for the request body's various data modes. |
description |
string optional |
The response's description. |
headers |
array optional |
A list of headers. |
language |
string optional |
The response body's language type. |
method |
string optional |
The request's HTTP method. |
mime |
string optional |
The response's MIME type. |
name |
string optional |
The response's name. It is recommended that you pass the name property in the request body. If you do not, the system uses a null value. As a result, this creates a response with a blank name. |
rawDataType |
string optional |
The response's raw data type. |
rawModeData |
string optional |
The associated request body's raw mode data. |
requestObject |
string optional |
A JSON-stringified representation of the associated request. |
responseCode |
object optional |
The response's HTTP response code information. |
status |
string optional |
The response's HTTP status text. |
text |
string optional |
The raw text of the response body. |
time |
string optional |
The time taken by the request to complete, in milliseconds. |
url |
string optional |
The associated request's URL. |
Tool: createEnvironment
Creates an environment.
Note:
- The request body size cannot exceed the maximum allowed size of 30MB.
- If you receive an HTTP `411 Length Required` error response, manually pass the `Content-Length` header and its value in the request header.
- If you do not include the `workspace` query parameter, the system creates the environment in the oldest personal Internal workspace you own.
| Parameters | Type | Description |
|---|---|---|
workspace |
string |
The workspace's ID. |
environment |
object optional |
Information about the environment. |
Tool: createMock
Creates a mock server in a collection.
- Pass the collection UID (ownerId-collectionId), not the bare collection ID.
- If you only have a `collectionId`, resolve the UID first:
- Prefer GET `/collections/{collectionId}` and read `uid`, or
- Construct `{ownerId}-{collectionId}` using ownerId from GET `/me`:
- For team-owned collections: `ownerId = me.teamId`
- For personal collections: `ownerId = me.user.id`
- Use the `workspace` query to place the mock in a specific workspace. Prefer explicit workspace scoping.
| Parameters | Type | Description |
|---|---|---|
workspace |
string |
The workspace's ID. |
mock |
object optional |
Tool: createSpec
Creates an API specification in Postman's Spec Hub. Specifications can be single or multi-file.
Note:
- Postman supports OpenAPI (2.0, 3.0, and 3.1), AsyncAPI (2.0 and 3.0), protobuf (2 and 3), GraphQL, and Smithy specifications.
- If the file path contains a `/` (forward slash) character, then a folder is created. For example, if the path is the `components/schemas.json` value, then a `components` folder is created with the `schemas.json` file inside.
- Multi-file specifications can only have one root file.
- Files cannot exceed a maximum of 12 MB in size.
| Parameters | Type | Description |
|---|---|---|
files |
array |
A list of the specification's files and their contents. |
name |
string |
The specification's name. |
type |
string |
The type of API specification. |
workspaceId |
string |
The workspace's ID. |
Tool: createSpecFile
Creates a file for an OpenAPI or a protobuf 2 or 3 specification.
Note:
- If the file path contains a `/` (forward slash) character, then a folder is created. For example, if the path is the `components/schemas.json` value, then a `components` folder is created with the `schemas.json` file inside.
- Creating a spec file assigns it the `DEFAULT` file type.
- Multi-file specifications can only have one root file.
- Files cannot exceed a maximum of 10 MB in size.
| Parameters | Type | Description |
|---|---|---|
content |
string |
The file's stringified contents. |
path |
string |
The file's path. Accepts JSON or YAML files. |
specId |
string |
The spec's ID. |
Tool: createWorkspace
Creates a new workspace.
Note:
- This endpoint returns a 403 `Forbidden` response if the user does not have permission to create workspaces. Admins and Super Admins can configure workspace permissions to restrict users and/or user groups from creating workspaces or require approvals for the creation of team workspaces.
- Private and Partner Workspaces are available on Postman Team and Enterprise plans.
- There are rate limits when publishing public workspaces.
- Public team workspace names must be unique.
- The `teamId` property must be passed in the request body if Postman Organizations is enabled.
| Parameters | Type | Description |
|---|---|---|
workspace |
object optional |
Information about the workspace. |
Tool: duplicateCollection
Creates a duplicate of the given collection in another workspace.
Use the GET `/collection-duplicate-tasks/{taskId}` endpoint to get the duplication task's current status.
| Parameters | Type | Description |
|---|---|---|
collectionId |
string |
The collection's unique ID. |
workspace |
string |
The workspace ID in which to duplicate the collection. |
suffix |
string optional |
An optional suffix to append to the duplicated collection's name. |
Tool: generateCollection
Creates a collection from the given API specification. The specification must already exist or be created before it can be used to generate a collection. The response contains a polling link to the task status.
| Parameters | Type | Description |
|---|---|---|
elementType |
string |
The collection element type. |
name |
string |
The generated collection's name. |
options |
object |
The advanced creation options and their values. For more details, see Postman's OpenAPI to Postman Collection Converter OPTIONS documentation. These properties are case-sensitive. |
specId |
string |
The spec's ID. |
Tool: generateSpecFromCollection
Generates an OpenAPI 2.0, 3.0, or 3.1 specification for the given collection. The response contains a polling link to the task status.
| Parameters | Type | Description |
|---|---|---|
collectionUid |
string |
The collection's unique ID. |
elementType |
string |
The spec value. |
format |
string |
The format of the API specification. |
name |
string |
The API specification's name. |
type |
string |
The specification's type. |
Tool: getAllSpecs
Gets all API specifications in a workspace.
| Parameters | Type | Description |
|---|---|---|
workspaceId |
string |
The workspace's ID. |
cursor |
string optional |
The pointer to the first record of the set of paginated results. To view the next response, use the nextCursor value for this parameter. |
limit |
integer optional |
The maximum number of rows to return in the response. |
This tool is read-only. It does not modify its environment.
Tool: getAuthenticatedUser
Gets information about the authenticated user.
- This endpoint provides “current user” context (`user.id`, `username`, `teamId`, roles).
- When a user asks for “my …” (e.g., “my workspaces, my information, etc.”), call this first to resolve the user ID.
Tool: getCollection
Get information about a collection. By default this tool returns the lightweight collection map (metadata + recursive itemRefs). Use the model parameter to opt in to Postman's full API responses:
- model=minimal — root-level folder/request IDs only
- model=full — full Postman collection payload.
| Parameters | Type | Description |
|---|---|---|
collectionId |
string |
The collection ID must be in the form <OWNER_ID>-<UUID> (e.g. 12345-33823532ab9e41c9b6fd12d0fd459b8b). |
access_key |
string optional |
A collection's read-only access key. Using this query parameter does not require an API key to call the endpoint. |
model |
string optional |
Optional response shape override. Omit to receive the lightweight collection map. Set to minimal for the Postman minimal model or full for the complete collection payload. |
This tool is read-only. It does not modify its environment.
Tool: getCollections
The workspace ID query is required for this endpoint. If not provided, the LLM should ask the user to provide it.
| Parameters | Type | Description |
|---|---|---|
workspace |
string |
The workspace's ID. |
limit |
integer optional |
The maximum number of rows to return in the response. |
name |
string optional |
Filter results by collections whose name exactly matches the given value. Partial or substring matches are not supported. |
offset |
integer optional |
The zero-based offset of the first item to return. |
This tool is read-only. It does not modify its environment.
Tool: getDuplicateCollectionTaskStatus
Gets the status of a collection duplication task.
| Parameters | Type | Description |
|---|---|---|
taskId |
string |
The task's unique ID. |
This tool is read-only. It does not modify its environment.
Tool: getEnabledTools
IMPORTANT: Run this tool first when a requested tool is unavailable. Returns information about which tools are enabled in the full and minimal tool sets, helping you identify available alternatives.
Tool: getEnvironment
Gets information about an environment.
| Parameters | Type | Description |
|---|---|---|
environmentId |
string |
The environment's ID. |
This tool is read-only. It does not modify its environment.
Tool: getEnvironments
Gets information about all of your environments.
| Parameters | Type | Description |
|---|---|---|
workspace |
string optional |
The workspace's ID. |
This tool is read-only. It does not modify its environment.
Tool: getGeneratedCollectionSpecs
Gets the API specification generated for the given collection.
| Parameters | Type | Description |
|---|---|---|
collectionUid |
string |
The collection's unique ID. |
elementType |
string |
The spec value. |
This tool is read-only. It does not modify its environment.
Tool: getMock
Gets information about a mock server.
- Resource: Mock server entity. Response includes the associated `collection` UID and `mockUrl`.
- Use the `collection` UID to navigate back to the source collection.
| Parameters | Type | Description |
|---|---|---|
mockId |
string |
The mock's ID. |
This tool is read-only. It does not modify its environment.
Tool: getMocks
Gets all active mock servers. By default, returns only mock servers you created across all workspaces.
- Always pass either the `workspace` or `teamId` query to scope results. Prefer `workspace` when known.
- If you need team-scoped results, set `teamId` from the current user: call GET `/me` and use `me.teamId`.
- If both `teamId` and `workspace` are passed, only `workspace` is used.
| Parameters | Type | Description |
|---|---|---|
teamId |
string optional |
Return only results that belong to the given team ID. |
- For team-scoped requests, set this from GET
/me(me.teamId).
workspace|string optional|Return only results found in the given workspace ID.
- Prefer this parameter when the user mentions a specific workspace.
This tool is read-only. It does not modify its environment.
Tool: getSpec
Gets information about an API specification.
| Parameters | Type | Description |
|---|---|---|
specId |
string |
The spec's ID. |
This tool is read-only. It does not modify its environment.
Tool: getSpecCollections
Gets all of an API specification's generated collections.
| Parameters | Type | Description |
|---|---|---|
elementType |
string |
The collection element type. |
specId |
string |
The spec's ID. |
cursor |
string optional |
The pointer to the first record of the set of paginated results. To view the next response, use the nextCursor value for this parameter. |
limit |
integer optional |
The maximum number of rows to return in the response. |
This tool is read-only. It does not modify its environment.
Tool: getSpecDefinition
Gets the complete contents of an OpenAPI or AsyncAPI specification's definition.
| Parameters | Type | Description |
|---|---|---|
specId |
string |
The spec's ID. |
This tool is read-only. It does not modify its environment.
Tool: getSpecFile
Gets the contents of an API specification's file.
| Parameters | Type | Description |
|---|---|---|
filePath |
string |
The path to the file. |
specId |
string |
The spec's ID. |
This tool is read-only. It does not modify its environment.
Tool: getSpecFiles
Gets all the files in an API specification.
| Parameters | Type | Description |
|---|---|---|
specId |
string |
The spec's ID. |
This tool is read-only. It does not modify its environment.
Tool: getTaggedEntities
Requires an Enterprise plan. Tagging is only available on Postman Enterprise plans. This tool returns a 404 error on Free, Basic, and Professional accounts.
Gets Postman elements (entities) by a given tag. Tags enable you to organize and search workspaces, APIs, and collections that contain shared tags.
| Parameters | Type | Description |
|---|---|---|
slug |
string |
The tag's ID within a team or individual (non-team) user scope. |
cursor |
string optional |
The cursor to get the next set of results in the paginated response. If you pass an invalid value, the API only returns the first set of results. |
direction |
string optional |
The ascending (asc) or descending (desc) order to sort the results by, based on the time of the entity's tagging. |
entityType |
string optional |
Filter results for the given entity type. |
limit |
integer optional |
The maximum number of tagged elements to return in a single call. |
This tool is read-only. It does not modify its environment.
Tool: getWorkspace
Gets information about a workspace.
Note:
This endpoint's response contains the `visibility` field. Visibility determines who can access the workspace:
- `personal` — Only you can access the workspace.
- `team` — All team members can access the workspace.
- `private` — Only invited team members can access the workspace (Team and Enterprise plans only).
- `public` — Everyone can access the workspace.
- `partner` — Only invited team members and partners can access the workspace (Team and Enterprise plans only).
| Parameters | Type | Description |
|---|---|---|
workspaceId |
string |
The workspace's ID. |
include |
string optional |
Include the following information in the endpoint's response: |
mocks:deactivated— Include all deactivated mock servers in the response.scim— Return the SCIM user IDs of the workspace creator and who last modified it.
This tool is read-only. It does not modify its environment.
Tool: getWorkspaces
Gets all workspaces you have access to.
- For “my …” requests, first call GET `/me` and pass `createdBy={me.user.id}`.
- This endpoint's response contains the visibility field. Visibility determines who can access the workspace:
- `personal` — Only you can access the workspace.
- `team` — All team members can access the workspace.
- `private` — Only invited team members can access the workspace (Professional and Enterprise).
- `public` — Everyone can access the workspace.
- `partner` — Invited team members and partners (Professional and Enterprise).
- For tools that require the workspace ID, and no workspace ID is provided, ask the user to provide the workspace ID. If the user does not provide the workspace ID, call this first with the createdBy parameter to use the first workspace.
- Results are paginated. Use the `cursor` parameter to retrieve additional pages.
- Examples:
- “List my workspaces” → GET `/me`, then GET `/workspaces?createdBy={me.user.id}&limit=100`
- “List my personal workspaces” → GET `/me`, then GET `/workspaces?type=personal&createdBy={me.user.id}&limit=100`
- “List all public workspaces” → GET `/workspaces?type=public&limit=100`
| Parameters | Type | Description |
|---|---|---|
createdBy |
integer optional |
Return only workspaces created by the specified Postman user ID. |
- For “my …” requests, set
createdByto the current user’s ID from GET/me(me.user.id). - If the user's ID is not known, first call GET
/me, then retry withcreatedBy.
cursor|string optional|The cursor to get the next set of results in a paginated response. Get this value from the meta.nextCursor field in the previous response.
elementId|string optional|Filter results to return the workspace where the given element's ID is located. When filtering by collection, you must use the collection's unique ID (userId-collection). If you pass this query parameter, you must also pass the elementType query parameter.
elementType|string optional|Filter results to return the workspace where the given element type is located. If you pass this query parameter, you must also pass the elementId query parameter.
include|string optional|Include the following information in the endpoint's response:
mocks:deactivated— Include all deactivated mock servers in the response.scim— Return the SCIM user IDs of the workspace creator and who last modified it.
limit|integer optional|The maximum number of workspaces to return per page. Defaults to 100.
type|string optional|The type of workspace to filter the response by. One of: personal, team, private, public, partner.
- For “my …” requests, this can be combined with
createdBy. If type is not specified, it will search across all types for that user.
This tool is read-only. It does not modify its environment.
Tool: publishMock
Publishes a mock server. Publishing a mock server sets its Access Control configuration setting to public.
| Parameters | Type | Description |
|---|---|---|
mockId |
string |
The mock's ID. |
Tool: putCollection
Replaces the contents of a collection using the Postman Collection v2.1.0 schema format. Include the collection's ID values in the request body. If you do not, the endpoint removes the existing items and creates new items.
- To perform an update asynchronously, use the `Prefer` header with the `respond-async` value. When performing an async update, this endpoint returns a HTTP `202 Accepted` response.
- For a complete list of properties and information, see the Postman Collection Format documentation.
- For protocol profile behavior, refer to Postman's Protocol Profile Behavior documentation.
Note:
- The maximum collection size this endpoint accepts cannot exceed 100 MB.
- Use the GET `/collection-updates-tasks/{taskId}` endpoint to get the collection's update status when performing an asynchronous update.
- If you don't include the collection items' ID values from the request body, the endpoint removes the existing items and recreates the items with new ID values.
- To copy another collection's contents to the given collection, remove all ID values before you pass it in this endpoint. If you do not, this endpoint returns an error. These values include the `id`, `uid`, and `postman_id` values.
| Parameters | Type | Description |
|---|---|---|
collectionId |
string |
The collection ID must be in the form <OWNER_ID>-<UUID> (e.g. 12345-33823532ab9e41c9b6fd12d0fd459b8b). |
Prefer |
string optional |
The respond-async header to perform the update asynchronously. |
collection |
object optional |
Tool: putEnvironment
Replaces all the contents of an environment with the given information.
Note:
- The request body size cannot exceed the maximum allowed size of 30MB.
- If you receive an HTTP `411 Length Required` error response, manually pass the `Content-Length` header and its value in the request header.
| Parameters | Type | Description |
|---|---|---|
environmentId |
string |
The environment's ID. |
environment |
object optional |
Information about the environment. |
Tool: runCollection
Runs a Postman collection by ID with detailed test results and execution statistics. Supports optional environment for variable substitution. Note: Advanced parameters like custom delays and other runtime options are not yet available.
| Parameters | Type | Description |
|---|---|---|
collectionId |
string |
The collection ID in the format <OWNER_ID>-<UUID> (e.g. 12345-33823532ab9e41c9b6fd12d0fd459b8b). |
abortOnError |
boolean optional |
Abruptly halt on errors (default: false) |
abortOnFailure |
boolean optional |
Abruptly halt on test failures (default: false) |
environmentId |
string optional |
Optional environment ID to use for variable substitution during the run. |
iterationCount |
number optional |
Number of iterations to run (default: 1) |
requestTimeout |
number optional |
Request timeout in milliseconds (default: 60000) |
scriptTimeout |
number optional |
Script timeout in milliseconds (default: 5000) |
stopOnError |
boolean optional |
Gracefully halt on errors (default: false) |
stopOnFailure |
boolean optional |
Gracefully halt on test failures (default: false) |
Tool: searchPostmanElements
Search for Postman entities (requests, collections, workspaces, specs, flows, environments, and mocks).
Ownership:
organization— Search within all resources owned by your organization (default).external— Search within the public Postman network (third-party and community APIs).all— Search across all scopes.
When to use each ownership value and filters:
| Goal | Recommended approach |
|---|---|
| Find an internal API (e.g. "our notification service") | ownership: organization |
| Find a trusted API published to the Private Network | ownership: organization + privateNetwork: true filter |
| Find an internal API in all resources of organization and are visible to the organization only | ownership: organization + visibility: internal filter |
| Find an API by your organization that is made publicly visible | ownership: organization + visibility: public filter |
| Find a third party publicly visible API (e.g. "Stripe API", "Twilio API") | ownership: external + visibility: public filter |
| User says "our APIs", "internal", "team" | ownership: organization |
| Search across all scopes | ownership: all |
Element Types:
requests: Search for individual API requests.collections: Search for API collections.workspaces: Search for Postman workspaces.specs: Search for API specifications.flows: Search for Postman Flows.environments: Search for Postman Environments.mocks: Search for Postman Mock Servers.
Filters:
Use the filters parameter to narrow results. The top-level key must be $and with an array of condition objects. Each condition object must contain exactly one field key.
Supported filter fields:
| Field | Operators | Notes |
|---|---|---|
workspaceId |
$eq, $ne, $in, $nin |
All element types. $in/$nin accept arrays. |
collectionId |
$eq, $ne, $in, $nin |
Requests and collections only. |
visibility |
$eq, $ne |
Values: public, partner, internal. All element types. |
privateNetwork |
$eq, $ne |
Boolean. All element types. |
publisherIsVerified |
$eq, $ne |
Boolean. All element types. |
method |
$eq, $ne, $in, $nin |
HTTP methods (GET, POST, etc.). Requests only. |
tags |
$eq, $ne, $in, $nin |
Workspaces and collections only. |
requestId |
$eq, $ne, $in, $nin |
Requests only. |
specificationId |
$eq, $ne, $in, $nin |
Specs only. |
flowId |
$eq, $ne, $in, $nin |
Flows only. |
createdBy |
$eq, $ne, $in, $nin |
All element types. |
organizationId |
$eq, $ne, $in, $nin |
All element types. |
teamId |
$eq, $ne, $in, $nin |
All element types. |
isGitConnected |
$eq, $ne |
Boolean. Workspaces, collections, requests, specs, flows, environments, mocks. |
type |
$eq, $ne, $in, $nin |
Requests only. |
Filter examples:
- Private API Network only:
{"$and":[{"privateNetwork":{"$eq":true}}]} - Single workspace:
{"$and":[{"workspaceId":{"$eq":"ws-abc123"}}]} - Multiple workspaces:
{"$and":[{"workspaceId":{"$in":["ws-1","ws-2"]}}]} - Public visibility:
{"$and":[{"visibility":{"$eq":"public"}}]} - GET requests only:
{"$and":[{"method":{"$eq":"GET"}}]} - Combine conditions:
{"$and":[{"visibility":{"$eq":"public"}},{"workspaceId":{"$eq":"ws-abc123"}}]} - Environments in a workspace:
{"$and":[{"workspaceId":{"$eq":"ws-abc123"}}]}
| Parameters | Type | Description |
|---|---|---|
cursor |
string optional |
The cursor to get the next set of results in the paginated response. Pass the nextCursor value from the previous response. |
entityType |
string optional |
The type of Postman entity to search for: requests (individual API requests), collections (API collections), workspaces (Postman workspaces), specs (API specifications), flows (Postman Flows), environments (Postman Environments), or mocks (Postman Mock Servers). |
filters |
object optional |
Structured filter expression. Top-level key must be "$and" with an array of condition objects. Each condition: { "<field>": { "<operator>": <value> } }. Example: {"$and":[{"privateNetwork":{"$eq":true}}]} |
limit |
integer optional |
The maximum number of search results to return. Maximum: 25. |
ownership |
string optional |
The ownership scope. Use organization to search all resources in your organization (default), external to search the public Postman network, or all to search across all scopes. |
q |
string optional |
The search query (e.g. "payment API", "notification service", "Stripe"). |
This tool is read-only. It does not modify its environment.
Tool: syncCollectionWithSpec
Syncs a collection generated from an API specification. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.
Note:
- This endpoint only supports the OpenAPI 2.0, 3.0, and 3.1 specification types.
- You can only sync collections generated from the given spec ID.
| Parameters | Type | Description |
|---|---|---|
collectionUid |
string |
The collection's unique ID. |
specId |
string |
The spec's ID. |
Tool: syncSpecWithCollection
Syncs an API specification linked to a collection. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.
Note:
- This endpoint only supports the OpenAPI 2.0, 3.0, and 3.1 specification types.
- You can only sync collections generated from the given specification ID.
| Parameters | Type | Description |
|---|---|---|
collectionUid |
string |
The collection's unique ID. |
specId |
string |
The spec's ID. |
Tool: updateCollectionRequest
Updates a request in a collection. For a complete list of properties, refer to the Request entry in the Postman Collection Format documentation.
Note:
- You must pass a collection ID (`12ece9e1-2abf-4edc-8e34-de66e74114d2`), not a collection(`12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2`), in this endpoint.
- This endpoint does not support changing the folder of a request.
- This endpoint acts like a PATCH method. It only updates the values that you pass in the request body.
| Parameters | Type | Description |
|---|---|---|
collectionId |
string |
The collection's ID. |
requestId |
string |
The request's ID. |
auth |
string optional |
The request's authentication information. |
data |
string optional |
The request body's form data. |
dataMode |
string optional |
The request body's data mode. |
dataOptions |
string optional |
Additional configurations and options set for the request body's various data modes. |
description |
string optional |
The request's description. |
events |
string optional |
A list of scripts configured to run when specific events occur. |
graphqlModeData |
string optional |
The request body's GraphQL mode data. |
headerData |
array optional |
The request's headers. |
method |
string optional |
The request's HTTP method. |
name |
string optional |
The request's name. |
queryParams |
array optional |
The request's query parameters. |
rawModeData |
string optional |
The request body's raw mode data. |
url |
string optional |
The request's URL. |
Tool: updateMock
Updates a mock server.
- Resource: Mock server entity associated with a collection UID.
- Use this to change name, environment, privacy, or default server response.
- To activate a server response, set `config.serverResponseId` to the server response's `id`. Pass `null` to deactivate.
| Parameters | Type | Description |
|---|---|---|
mockId |
string |
The mock's ID. |
mock |
object optional |
Tool: updateSpecFile
Updates a file for an OpenAPI or protobuf 2 or 3 specification.
Note:
- This endpoint does not accept an empty request body. You must pass one of the accepted values.
- This endpoint does not accept multiple request body properties in a single call. For example, you cannot pass both the `content` and `type` property at the same time.
- Multi-file specifications can only have one root file.
- When updating a file type to `ROOT`, the previous root file is updated to the `DEFAULT` file type.
- Files cannot exceed a maximum of 10 MB in size.
| Parameters | Type | Description |
|---|---|---|
filePath |
string |
The path to the file. |
specId |
string |
The spec's ID. |
content |
string optional |
The specification's stringified contents. |
name |
string optional |
The file's name. |
type |
string optional |
The type of file: |
ROOT— The file containing the full OpenAPI structure. This serves as the entry point for the API spec and references other (DEFAULT) spec files. Multi-file specs can only have one root file.DEFAULT— A file referenced by theROOTfile.
Tool: updateSpecProperties
Updates an API specification's properties, such as its name.
| Parameters | Type | Description |
|---|---|---|
name |
string |
The spec's name. |
specId |
string |
The spec's ID. |
Tool: updateWorkspace
Updates a workspace's property, such as its name or visibility.
Note:
- This endpoint does not support the following visibility changes:
- `private` to `public`, `public` to `private`, and `private` to `personal` for Free and Solo plans.
- `public` to `personal` for team users only.
- There are rate limits when publishing public workspaces.
- Public team workspace names must be unique.
| Parameters | Type | Description |
|---|---|---|
workspaceId |
string |
The workspace's ID. |
workspace |
object optional |
Use this MCP Server
{
"mcpServers": {
"postman": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"POSTMAN_API_KEY",
"mcp/postman"
],
"env": {
"POSTMAN_API_KEY": "<POSTMAN_API_KEY>"
}
}
}
}