Postman
Postman’s remote MCP server connects AI agents, assistants, and chatbots directly to your APIs on Postman.
https://postman.run.tools
How to connect
-
Smithery (hosted)
1. Open https://smithery.ai/servers/postman 2. Click Connect and complete OAuth in your MCP client (Claude, Cursor, VS Code, etc.) 3. MCP endpoint: https://postman.run.tools
Tools (41)
-
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 specifi
-
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 2.0, OpenAPI 3.0, OpenAPI 3.1, AsyncAPI 2.0, protobuf 2 and 3, and GraphQL 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
-
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 crea
-
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.
-
getCollectionGet 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.
-
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.
-
getEnabledToolsIMPORTANT: 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.
-
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.
-
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.
-
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 ([**Team** and **Enterprise** plans
-
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. -
-
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. - For a co
-
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.
-
runCollectionRuns 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.
-
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.
-
updateCollectionRequestUpdates 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:** - 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 PAT
-
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 exce
-
updateSpecPropertiesUpdates an API specification's properties, such as its name.
-
updateWorkspaceUpdates a workspace. **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](https://www.postman.com/pricing/). - \`public\` to \`personal\` for team users only. - There are rate limits when publishing public workspaces. - Public team workspace names must be unique.