Postman MCP server

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.

2.7K

38 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

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

Tools

NameDescription
createCollectionCreates a collection using the [Postman Collection v2.1.0 schema format](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html). **Note:** If you do not include the \`workspace\` query parameter, the system creates the collection in the oldest personal Internal workspace you own.
createCollectionRequestCreates a request in a collection. For a complete list of properties, refer to the **Request** entry in the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html). **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.
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](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html). **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.
createEnvironmentCreates 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.
createMockCreates 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.
createSpecCreates an API specification in Postman's [Spec Hub](https://learning.postman.com/docs/design-apis/specifications/overview/). Specifications can be single or multi-file. **Note:** - Postman supports OpenAPI 3.0 and AsyncAPI 2.0 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 10 MB in size.
createSpecFileCreates an API specification file. **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.
createWorkspaceCreates a new [workspace](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/creating-workspaces/). **Note:** - This endpoint returns a 403 \`Forbidden\` response if the user does not have permission to create workspaces. [Admins and Super Admins](https://learning.postman.com/docs/collaborating-in-postman/roles-and-permissions/#team-roles) can configure workspace permissions to restrict users and/or user groups from creating workspaces or require approvals for the creation of team workspaces. - There are rate limits when publishing public workspaces. - Public team workspace names must be unique. ### Important 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: - The endpoint does not create a clone of a collection or environment. - Any changes you make to a linked collection or environment changes them in all workspaces. - If you delete a collection or environment linked between workspaces, the system deletes it in all the workspaces.
duplicateCollectionCreates 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.
generateCollectionCreates 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.
generateSpecFromCollectionGenerates an API 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. - 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.
getCollectionGets information about a collection. For a complete list of this endpoint's possible values, refer to the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html).
getCollectionsThe workspace ID query is required for this endpoint. If not provided, the LLM should ask the user to provide it.
getEnvironmentGets information about an environment.
getEnvironmentsGets information about all of your [environments](https://learning.postman.com/docs/sending-requests/managing-environments/).
getGeneratedCollectionSpecsGets the API specification generated for the given collection.
getMockGets 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.
getMocksGets 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.
getSpecGets information about an API specification.
getSpecCollectionsGets all of an API specification's generated collections.
getSpecDefinitionGets the complete contents of an API specification's definition.
getSpecFileGets the contents of an API specification's file.
getSpecFilesGets all the files in an API specification.
getStatusOfAnAsyncApiTaskGets the status of an asynchronous task.
getTaggedEntitiesGets Postman elements (entities) by a given tag. Tags enable you to organize and search [workspaces](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/managing-workspaces/#tagging-a-workspace), [APIs](https://learning.postman.com/docs/designing-and-developing-your-api/managing-apis/#tagging-apis), and [collections](https://learning.postman.com/docs/collections/using-collections/#tagging-a-collection) that contain shared tags. **Note:** Tagging is available on Postman [**Enterprise** plans](https://www.postman.com/pricing/).
getWorkspaceGets information about a workspace. **Note:** This endpoint's response contains the \`visibility\` field. [Visibility](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/managing-workspaces/#changing-workspace-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** plans only](https://www.postman.com/pricing)). - \`public\` — Everyone can access the workspace. - \`partner\` — Only invited team members and [partners](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/partner-workspaces/) can access the workspace ([**Professional** and **Enterprise** plans only](https://www.postman.com/pricing)). ### Important We have deprecated the \`name\` and \`uid\` responses in the following array of objects: - \`collections\` - \`environments\` - \`mocks\` - \`monitors\` - \`apis\`
getWorkspacesGets 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. - Examples: - “List my workspaces” → GET \`/me\`, then GET \`/workspaces?createdBy={me.user.id}\` - “List my personal workspaces” → GET \`/me\`, then GET \`/workspaces?type=personal&createdBy={me.user.id}\` - “List all public workspaces” → GET \`/workspaces?type=public\`
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](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html). 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:** - The maximum collection size this endpoint accepts cannot exceed 100 MB. - 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. - For protocol profile behavior, refer to Postman's [Protocol Profile Behavior documentation](https://github.com/postmanlabs/postman-runtime/blob/develop/docs/protocol-profile-behavior.md).
putEnvironmentReplaces 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.
syncCollectionWithSpecSyncs 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 3.0 specification type. - You can only sync collections generated from the given spec ID.
syncSpecWithCollectionSyncs 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 3.0 specification type. - You can only sync specs generated from the given collection ID.
updateMockUpdates a mock server. - Resource: Mock server entity associated with a collection UID. - Use this to change name, environment, privacy, or default server response.
updateSpecFileUpdates an API specification's file. **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.
updateSpecPropertiesUpdates an API specification's properties, such as its name.
updateWorkspaceUpdates a workspace. **Note:** - There are rate limits when publishing public workspaces. - Public team workspace names must be unique. ### Important 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: - The endpoint does not create a clone of a collection or environment. - Any changes you make to a linked collection or environment changes them in all workspaces. - If you delete a collection or environment linked between workspaces, the system deletes it in all the workspaces.

Manual installation

You can install the MCP server using:

Installation for

Related servers