Postman

Postman

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.

10K+

42 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

About

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.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/postmanlabs/postman-mcp-server/blob/89d87667898d08443d2791fb19312b2f2084a697/Dockerfile
Commit89d87667898d08443d2791fb19312b2f2084a697
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/postman --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceApache License 2.0

Available Tools (42)

Tools provided by this ServerShort Description
createCollectionCreates a collection using the Postman Collection v2.1.0 schema format.
createCollectionRequestCreates a request in a collection. For a complete list of properties, refer to the Request entry in the Postman Collection Format documentation.
createCollectionResponseCreates 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.
createEnvironmentCreates an environment.
createMockCreates a mock server in a collection.
createSpecCreates an API specification in Postman's Spec Hub. Specifications can be single or multi-file.
createSpecFileCreates a file for an OpenAPI or a protobuf 2 or 3 specification.
createWorkspaceCreates a new workspace.
duplicateCollectionCreates a duplicate of the given collection in another workspace.
generateCollectionCreates a collection from the given API specification.
generateSpecFromCollectionGenerates an OpenAPI 2.0, 3.0, or 3.1 specification for the given collection. The response contains a polling link to the task status.
getAllSpecsGets all API specifications in a workspace.
getAuthenticatedUserGets information about the authenticated user.
getCollectionGet Collection (map by default)
getCollectionsThe workspace ID query is required for this endpoint. If not provided, the LLM should ask the user to provide it.
getDuplicateCollectionTaskStatusGets the status of a collection duplication task.
getEnabledToolsGet Enabled Tools
getEnvironmentGets information about an environment.
getEnvironmentsGets information about all of your environments.
getGeneratedCollectionSpecsGets the API specification generated for the given collection.
getMockGets information about a mock server.
getMocksGets all active mock servers. By default, returns only mock servers you created across all workspaces.
getSpecGets information about an API specification.
getSpecCollectionsGets all of an API specification's generated collections.
getSpecDefinitionGets the complete contents of an OpenAPI or AsyncAPI specification's definition.
getSpecFileGets the contents of an API specification's file.
getSpecFilesGets all the files in an API specification.
getTaggedEntitiesRequires an Enterprise plan. Tagging is only available on Postman Enterprise plans. This tool returns a 404 error on Free, Basic, and Professional accounts.
getWorkspaceGets information about a workspace.
getWorkspacesGets all workspaces you have access to.
publishMockPublishes a mock server. Publishing a mock server sets its Access Control configuration setting to public.
putCollectionReplaces 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.
putEnvironmentReplaces all the contents of an environment with the given information.
runCollectionRun Postman Collection
searchPostmanElementsSearch for Postman entities (requests, collections, workspaces, specs, flows, environments, mocks).
syncCollectionWithSpecSyncs a collection generated from an API specification. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.
syncSpecWithCollectionSyncs an API specification linked to a collection. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.
updateCollectionRequestUpdates a request in a collection. For a complete list of properties, refer to the Request entry in the Postman Collection Format documentation.
updateMockUpdates a mock server.
updateSpecFileUpdates a file for an OpenAPI or protobuf 2 or 3 specification.
updateSpecPropertiesUpdates an API specification's properties, such as its name.
updateWorkspaceUpdates 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.

ParametersTypeDescription
workspacestringThe workspace's ID.
collectionobjectoptional

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.

ParametersTypeDescription
collectionIdstringThe collection's ID.
authstringoptionalThe request's authentication information.
datastringoptionalThe request body's form data.
dataModestringoptionalThe request body's data mode.
dataOptionsstringoptionalAdditional configurations and options set for the request body's various data modes.
descriptionstringoptionalThe request's description.
eventsstringoptionalA list of scripts configured to run when specific events occur.
folderIdstringoptionalThe folder ID in which to create the request. By default, the system will create the request at the collection level.
graphqlModeDatastringoptionalThe request body's GraphQL mode data.
headerDataarrayoptionalThe request's headers.
methodstringoptionalThe request's HTTP method.
namestringoptionalThe 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.
queryParamsarrayoptionalThe request's query parameters.
rawModeDatastringoptionalThe request body's raw mode data.
urlstringoptionalThe 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.

ParametersTypeDescription
collectionIdstringThe collection's ID.
requeststringThe parent request's ID.
cookiesstringoptionalThe response's cookie data.
dataModestringoptionalThe associated request body's data mode.
dataOptionsstringoptionalAdditional configurations and options set for the request body's various data modes.
descriptionstringoptionalThe response's description.
headersarrayoptionalA list of headers.
languagestringoptionalThe response body's language type.
methodstringoptionalThe request's HTTP method.
mimestringoptionalThe response's MIME type.
namestringoptionalThe 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.
rawDataTypestringoptionalThe response's raw data type.
rawModeDatastringoptionalThe associated request body's raw mode data.
requestObjectstringoptionalA JSON-stringified representation of the associated request.
responseCodeobjectoptionalThe response's HTTP response code information.
statusstringoptionalThe response's HTTP status text.
textstringoptionalThe raw text of the response body.
timestringoptionalThe time taken by the request to complete, in milliseconds.
urlstringoptionalThe 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|objectoptional|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:
    1. Prefer GET `/collections/{collectionId}` and read `uid`, or
    2. 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|objectoptional|

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|objectoptional|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.

ParametersTypeDescription
collectionIdstringThe collection's unique ID.
workspacestringThe workspace ID in which to duplicate the collection.
suffixstringoptionalAn 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.

ParametersTypeDescription
elementTypestringThe collection element type.
namestringThe generated collection's name.
optionsobjectThe advanced creation options and their values. For more details, see Postman's OpenAPI to Postman Collection Converter OPTIONS documentation. These properties are case-sensitive.
specIdstringThe 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.

ParametersTypeDescription
collectionUidstringThe collection's unique ID.
elementTypestringThe spec value.
formatstringThe format of the API specification.
namestringThe API specification's name.
typestringThe specification's type.

Tool: getAllSpecs

Gets all API specifications in a workspace.

ParametersTypeDescription
workspaceIdstringThe workspace's ID.
cursorstringoptionalThe pointer to the first record of the set of paginated results. To view the next response, use the nextCursor value for this parameter.
limitintegeroptionalThe 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>- (e.g. 12345-33823532ab9e41c9b6fd12d0fd459b8b). access_key|stringoptional|A collection's read-only access key. Using this query parameter does not require an API key to call the endpoint. model|stringoptional|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.

ParametersTypeDescription
workspacestringThe workspace's ID.
limitintegeroptionalThe maximum number of rows to return in the response.
namestringoptionalFilter results by collections whose name exactly matches the given value. Partial or substring matches are not supported.
offsetintegeroptionalThe 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.

ParametersTypeDescription
taskIdstringThe 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.

ParametersTypeDescription
environmentIdstringThe environment's ID.

This tool is read-only. It does not modify its environment.


Tool: getEnvironments

Gets information about all of your environments.

ParametersTypeDescription
workspacestringoptionalThe 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.

ParametersTypeDescription
collectionUidstringThe collection's unique ID.
elementTypestringThe 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|stringoptional|Return only results that belong to the given team ID.
  • For team-scoped requests, set this from GET /me (me.teamId).

workspace|stringoptional|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.

ParametersTypeDescription
specIdstringThe 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.

ParametersTypeDescription
elementTypestringThe collection element type.
specIdstringThe spec's ID.
cursorstringoptionalThe pointer to the first record of the set of paginated results. To view the next response, use the nextCursor value for this parameter.
limitintegeroptionalThe 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.

ParametersTypeDescription
specIdstringThe 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.

ParametersTypeDescription
filePathstringThe path to the file.
specIdstringThe spec's ID.

This tool is read-only. It does not modify its environment.


Tool: getSpecFiles

Gets all the files in an API specification.

ParametersTypeDescription
specIdstringThe 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.

ParametersTypeDescription
slugstringThe tag's ID within a team or individual (non-team) user scope.
cursorstringoptionalThe 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.
directionstringoptionalThe ascending (asc) or descending (desc) order to sort the results by, based on the time of the entity's tagging.
entityTypestringoptionalFilter results for the given entity type.
limitintegeroptionalThe 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|stringoptional|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|integeroptional|Return only workspaces created by the specified Postman user ID.
  • For “my …” requests, set createdBy to 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 with createdBy.

cursor|stringoptional|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|stringoptional|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|stringoptional|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|stringoptional|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|integeroptional|The maximum number of workspaces to return per page. Defaults to 100.

type|stringoptional|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.

ParametersTypeDescription
mockIdstringThe 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.

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>- (e.g. 12345-33823532ab9e41c9b6fd12d0fd459b8b). Prefer|stringoptional|The respond-async header to perform the update asynchronously. collection|objectoptional|

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|objectoptional|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.

ParametersTypeDescription
collectionIdstringThe collection ID in the format <OWNER_ID>- (e.g. 12345-33823532ab9e41c9b6fd12d0fd459b8b).
abortOnErrorbooleanoptionalAbruptly halt on errors (default: false)
abortOnFailurebooleanoptionalAbruptly halt on test failures (default: false)
environmentIdstringoptionalOptional environment ID to use for variable substitution during the run.
iterationCountnumberoptionalNumber of iterations to run (default: 1)
requestTimeoutnumberoptionalRequest timeout in milliseconds (default: 60000)
scriptTimeoutnumberoptionalScript timeout in milliseconds (default: 5000)
stopOnErrorbooleanoptionalGracefully halt on errors (default: false)
stopOnFailurebooleanoptionalGracefully 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:

GoalRecommended approach
Find an internal API (e.g. "our notification service")ownership: organization
Find a trusted API published to the Private Networkownership: organization + privateNetwork: true filter
Find an internal API in all resources of organization and are visible to the organization onlyownership: organization + visibility: internal filter
Find an API by your organization that is made publicly visibleownership: 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 scopesownership: 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:

FieldOperatorsNotes
workspaceId$eq, $ne, $in, $ninAll element types. $in/$nin accept arrays.
collectionId$eq, $ne, $in, $ninRequests and collections only.
visibility$eq, $neValues: public, partner, internal. All element types.
privateNetwork$eq, $neBoolean. All element types.
publisherIsVerified$eq, $neBoolean. All element types.
method$eq, $ne, $in, $ninHTTP methods (GET, POST, etc.). Requests only.
tags$eq, $ne, $in, $ninWorkspaces and collections only.
requestId$eq, $ne, $in, $ninRequests only.
specificationId$eq, $ne, $in, $ninSpecs only.
flowId$eq, $ne, $in, $ninFlows only.
createdBy$eq, $ne, $in, $ninAll element types.
organizationId$eq, $ne, $in, $ninAll element types.
teamId$eq, $ne, $in, $ninAll element types.
isGitConnected$eq, $neBoolean. Workspaces, collections, requests, specs, flows, environments, mocks.
type$eq, $ne, $in, $ninRequests 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|stringoptional|The cursor to get the next set of results in the paginated response. Pass the nextCursor value from the previous response. entityType|stringoptional|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|objectoptional|Structured filter expression. Top-level key must be "$and" with an array of condition objects. Each condition: { "": { "": } }. Example: {"$and":[{"privateNetwork":{"$eq":true}}]} limit|integeroptional|The maximum number of search results to return. Maximum: 25. ownership|stringoptional|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|stringoptional|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|stringoptional|The request's authentication information. data|stringoptional|The request body's form data. dataMode|stringoptional|The request body's data mode. dataOptions|stringoptional|Additional configurations and options set for the request body's various data modes. description|stringoptional|The request's description. events|stringoptional|A list of scripts configured to run when specific events occur. graphqlModeData|stringoptional|The request body's GraphQL mode data. headerData|arrayoptional|The request's headers. method|stringoptional|The request's HTTP method. name|stringoptional|The request's name. queryParams|arrayoptional|The request's query parameters. rawModeData|stringoptional|The request body's raw mode data. url|stringoptional|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|objectoptional|

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|stringoptional|The specification's stringified contents. name|stringoptional|The file's name. type|stringoptional|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 the ROOT file.

Tool: updateSpecProperties

Updates an API specification's properties, such as its name.

ParametersTypeDescription
namestringThe spec's name.
specIdstringThe 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 Soloplans.
    • `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|objectoptional|

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>"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Related servers