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.
2.7K
38 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
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.
Attribute | Details |
---|---|
Docker Image | mcp/postman |
Author | postmanlabs |
Repository | https://github.com/postmanlabs/postman-mcp-server |
Dockerfile | https://github.com/postmanlabs/postman-mcp-server/blob/main/Dockerfile |
Docker Image built by | Docker Inc. |
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 |
Tools provided by this Server | Short Description |
---|---|
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.
|
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.
|
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.
|
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.
|
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:
Use the `workspace` query to place the mock in a specific workspace. Prefer explicit workspace scoping.
|
createSpec
|Creates an API specification in Postman's Spec Hub. Specifications can be single or multi-file.
Note:
createSpecFile
|Creates an API specification file.Note:
createWorkspace
|Creates a new workspace.Note:
We deprecated linking collections or environments between workspaces. We do not recommend that you do this.
If you have a linked collection or environment, note the following:
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.
|
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.
|
generateSpecFromCollection
|Generates an API 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.
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.
|
getCollection
|Gets information about a collection. For a complete list of this endpoint's possible values, refer to the Postman Collection Format documentation.|
getCollections
|The workspace ID query is required for this endpoint. If not provided, the LLM should ask the user to provide it.|
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.
Resource: Mock server entity. Response includes the associated `collection` UID and `mockUrl`.
Use the `collection` UID to navigate back to the source collection.
|
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.
|
getSpec
|Gets information about an API specification.|
getSpecCollections
|Gets all of an API specification's generated collections.|
getSpecDefinition
|Gets the complete contents of an API specification's definition.|
getSpecFile
|Gets the contents of an API specification's file.|
getSpecFiles
|Gets all the files in an API specification.|
getStatusOfAnAsyncApiTask
|Gets the status of an asynchronous task.|
getTaggedEntities
|Gets Postman elements (entities) by a given tag. Tags enable you to organize and search workspaces, APIs, and collections that contain shared tags.
Note:
Tagging is available on Postman Enterprise plans.
|
getWorkspace
|Gets information about a workspace.
Note:
This endpoint's response contains the `visibility` field. Visibility determines who can access the workspace:
We have deprecated the `name` and `uid` responses in the following array of objects:
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.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.
Note:
putEnvironment
|Replaces all the contents of an environment with the given information.Note:
syncCollectionWithSpec
|Syncs a collection generated from an API specification. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.Note:
syncSpecWithCollection
|Syncs an API specification linked to a collection. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.Note:
updateMock
|Updates a mock server.updateSpecFile
|Updates an API specification's file.Note:
updateSpecProperties
|Updates an API specification's properties, such as its name.|
updateWorkspace
|Updates a workspace.Note:
We deprecated linking collections or environments between workspaces. We do not recommend that you do this.
If you have a linked collection or environment, note the following:
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 |
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. |
folderId | string optional | The folder ID in which to create the request. By default, the system will create the request at the collection level. |
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. |
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. |
requestId | string | The parent request's ID. |
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. |
createEnvironment
Creates an environment.
Note:
workspace
|string
|The workspace's ID.
environment
|object
optional|Information about the environment.createMock
Creates a mock server in a collection.
workspace
|string
|The workspace's ID.
mock
|object
optional|createSpec
Creates an API specification in Postman's Spec Hub. Specifications can be single or multi-file.
Note:
files
|array
|A list of the specification's files and their contents.
name
|string
|The specification's name.
type
|string
|The specification's type.
workspaceId
|string
|The workspace's ID.createSpecFile
Creates an API specification file.
Note:
content
|string
|The file's stringified contents.
path
|string
|The file's path. Accepts JSON or YAML files.
specId
|string
|The spec's ID.createWorkspace
Creates a new workspace.
Note:
We deprecated linking collections or environments between workspaces. We do not recommend that you do this.
If you have a linked collection or environment, note the following:
workspace
|object
optional|Information about the workspace.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. |
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. |
specId | string | The spec's ID. |
options | object optional | 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. |
generateSpecFromCollection
Generates an API 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. |
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.
getAuthenticatedUser
Gets information about the authenticated user.
getCollection
Gets information about a collection. For a complete list of this endpoint's possible values, refer to the Postman Collection Format documentation.
Parameters | Type | Description |
---|---|---|
collectionId | string | The collection ID must be in the form <OWNER_ID>- (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 | Return a list of only the collection's root-level request (rootLevelRequests ) and folder (rootLevelFolders ) IDs instead of the full collection element data. |
This tool is read-only. It does not modify its environment.
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 that match the given name. |
offset | integer optional | The zero-based offset of the first item to return. |
This tool is read-only. It does not modify its environment.
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.
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.
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.
getMock
Gets information about a mock server.
mockId
|string
|The mock's ID.This tool is read-only. It does not modify its environment.
getMocks
Gets all active mock servers. By default, returns only mock servers you created across all workspaces.
teamId
|string
optional|Return only results that belong to the given team ID./me
(me.teamId
).workspace
|string
optional|Return only results found in the given workspace ID.
This tool is read-only. It does not modify its environment.
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.
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.
getSpecDefinition
Gets the complete contents of an API specification's definition.
Parameters | Type | Description |
---|---|---|
specId | string | The spec's ID. |
This tool is read-only. It does not modify its environment.
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.
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.
getStatusOfAnAsyncApiTask
Gets the status of an asynchronous task.
Parameters | Type | Description |
---|---|---|
Accept | string | The application/vnd.api.v10+json request header required to use the endpoint. |
apiId | string | The API's ID. |
taskId | string | The task's ID. |
This tool is read-only. It does not modify its environment.
getTaggedEntities
Gets Postman elements (entities) by a given tag. Tags enable you to organize and search workspaces, APIs, and collections that contain shared tags.
Note:
Tagging is available on Postman Enterprise plans.
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.
getWorkspace
Gets information about a workspace.
Note:
This endpoint's response contains the `visibility` field. Visibility determines who can access the workspace:
We have deprecated the `name` and `uid` responses in the following array of objects:
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.
getWorkspaces
Gets all workspaces you have access to.
createdBy
|integer
optional|Return only workspaces created by the specified Postman user ID.createdBy
to the current user’s ID from GET /me
(me.user.id
)./me
, then retry with createdBy
.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.type
|string
optional|The type of workspace to filter the response by. One of: personal
, team
, private
, public
, partner
.
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.
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. |
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.
Note:
collectionId
|string
|The collection ID must be in the form <OWNER_ID>- (e.g. 12345-33823532ab9e41c9b6fd12d0fd459b8b).
Prefer
|string
optional|The respond-async
header to perform the update asynchronously.
collection
|object
optional|putEnvironment
Replaces all the contents of an environment with the given information.
Note:
environmentId
|string
|The environment's ID.
environment
|object
optional|Information about the environment.syncCollectionWithSpec
Syncs a collection generated from an API specification. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.
Note:
collectionUid
|string
|The collection's unique ID.
specId
|string
|The spec's ID.syncSpecWithCollection
Syncs an API specification linked to a collection. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.
Note:
collectionUid
|string
|The collection's unique ID.
specId
|string
|The spec's ID.updateMock
Updates a mock server.
mockId
|string
|The mock's ID.
mock
|object
optional|updateSpecFile
Updates an API specification's file.
Note:
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 the ROOT
file.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. |
updateWorkspace
Updates a workspace.
Note:
We deprecated linking collections or environments between workspaces. We do not recommend that you do this.
If you have a linked collection or environment, note the following:
workspaceId
|string
|The workspace's ID.
workspace
|object
optional|{
"mcpServers": {
"postman": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"POSTMAN_API_KEY",
"mcp/postman"
],
"env": {
"POSTMAN_API_KEY": "<POSTMAN_API_KEY>"
}
}
}
}
Manual installation
You can install the MCP server using:
Installation for