The Postman MCP Server integrates Postman's API testing and collection management capabilities with AI agents, enabling natural language interactions to access workspaces, manage collections and environments, and automate API workflows. It provides three tool configuration levels—Minimal (essential operations), Full (100+ tools for advanced collaboration), and Code (API code generation)—supporting both OAuth and API key authentication on remote and local deployments. This server solves the problem of enabling AI assistants to programmatically interact with Postman for API testing, code synchronization, and collection management without manual configuration.
Public tool metadata for what this MCP can expose to an agent.
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 Int...2 paramsCreates 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 Int...
workspacestringcollectionobjectcreateCollectionRequestCreates 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 \`na...15 paramsCreates 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 \`na...
urlstringauthvaluedatavaluenamestringeventsvaluemethodstringGET · PUT · POST · PATCH · DELETE · COPYdataModestringraw · urlencoded · formdata · binary · graphqlfolderIdstringheaderDataarraydataOptionsvaluedescriptionstringqueryParamsarrayrawModeDatastringcollectionIdstringgraphqlModeDatavaluecreateCollectionResponseCreates 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...19 paramsCreates 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...
urlstringmimestringnamestringtextstringtimestringmethodstringGET · PUT · POST · PATCH · DELETE · COPYstatusstringcookiesstringheadersarrayrequeststringdataModestringraw · urlencoded · formdata · binary · graphqllanguagestringdataOptionsvaluedescriptionstringrawDataTypestringrawModeDatastringcollectionIdstringresponseCodeobjectrequestObjectstringcreateEnvironmentCreates 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 t...2 paramsCreates 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 t...
workspacestringenvironmentobjectcreateMockCreates 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}-{colle...2 paramsCreates 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}-{colle...
mockobjectworkspacestringcreateSpecCreates 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 Gra...4 paramsCreates 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 Gra...
namestringtypestringOPENAPI:2.0 · OPENAPI:3.0 · OPENAPI:3.1 · ASYNCAPI:2.0 · PROTOBUF:2 · PROTOBUF:3filesarrayworkspaceIdstringcreateSpecFileCreates 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 insid...3 paramsCreates 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 insid...
pathstringspecIdstringcontentstringcreateWorkspaceCreates 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](http...1 paramsCreates 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](http...
workspaceobjectduplicateCollectionCreates 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.3 paramsCreates 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.
suffixstringworkspacestringcollectionIdstringgenerateCollectionCreates 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.4 paramsCreates 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.
namestringspecIdstringoptionsobjectelementTypestringgenerateSpecFromCollectionGenerates an API specification for the given collection. The response contains a polling link to the task status.5 paramsGenerates an API specification for the given collection. The response contains a polling link to the task status.
namestringtypestringformatstringJSON · YAMLelementTypestringcollectionUidstringgetAllSpecsGets all API specifications in a workspace.3 paramsGets all API specifications in a workspace.
limitintegercursorstringworkspaceIdstringgetAuthenticatedUserGets 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.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.
No parameter schema in public metadata yet.
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...3 paramsGet 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...
modelstringminimal · fullaccess_keystringcollectionIdstringgetCollectionsThe workspace ID query is required for this endpoint. If not provided, the LLM should ask the user to provide it.4 paramsThe workspace ID query is required for this endpoint. If not provided, the LLM should ask the user to provide it.
namestringlimitintegeroffsetintegerworkspacestringgetDuplicateCollectionTaskStatusGets the status of a collection duplication task.1 paramsGets the status of a collection duplication task.
taskIdstringgetEnabledToolsIMPORTANT: 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.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.
No parameter schema in public metadata yet.
getEnvironmentGets information about an environment.1 paramsGets information about an environment.
environmentIdstringgetEnvironmentsGets information about all of your [environments](https://learning.postman.com/docs/sending-requests/managing-environments/).1 paramsGets information about all of your [environments](https://learning.postman.com/docs/sending-requests/managing-environments/).
workspacestringgetGeneratedCollectionSpecsGets the API specification generated for the given collection.2 paramsGets the API specification generated for the given collection.
elementTypestringcollectionUidstringgetMockGets 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.1 paramsGets 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.
mockIdstringgetMocksGets 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 curre...2 paramsGets 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 curre...
teamIdstringworkspacestringgetSpecGets information about an API specification.1 paramsGets information about an API specification.
specIdstringgetSpecCollectionsGets all of an API specification's generated collections.4 paramsGets all of an API specification's generated collections.
limitintegercursorstringspecIdstringelementTypestringgetSpecDefinitionGets the complete contents of an API specification's definition.1 paramsGets the complete contents of an API specification's definition.
specIdstringgetSpecFileGets the contents of an API specification's file.2 paramsGets the contents of an API specification's file.
specIdstringfilePathstringgetSpecFilesGets all the files in an API specification.1 paramsGets all the files in an API specification.
specIdstringgetTaggedEntities**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 collec...5 params**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 collec...
slugstringlimitintegercursorstringdirectionstringasc · descdefault: descentityTypestringapi · collection · workspacegetWorkspaceGets 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...2 paramsGets 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...
includestringmocks:deactivated · scimworkspaceIdstringgetWorkspacesGets 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 wor...3 paramsGets 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 wor...
typestringpersonal · team · private · public · partnerincludestringmocks:deactivated · scimcreatedByintegerpublishMockPublishes a mock server. Publishing a mock server sets its **Access Control** configuration setting to public.1 paramsPublishes a mock server. Publishing a mock server sets its **Access Control** configuration setting to public.
mockIdstringputCollectionReplaces 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...3 paramsReplaces 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...
PreferstringcollectionobjectcollectionIdstringputEnvironmentReplaces 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...2 paramsReplaces 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...
environmentobjectenvironmentIdstringrunCollectionRuns 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.9 paramsRuns 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.
stopOnErrorbooleanabortOnErrorbooleancollectionIdstringenvironmentIdstringscriptTimeoutnumberstopOnFailurebooleanabortOnFailurebooleaniterationCountnumberrequestTimeoutnumbersyncCollectionWithSpecSyncs 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.2 paramsSyncs 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.
specIdstringcollectionUidstringsyncSpecWithCollectionSyncs 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.2 paramsSyncs 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.
specIdstringcollectionUidstringupdateCollectionRequestUpdates 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 (\`12ece...15 paramsUpdates 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 (\`12ece...
urlstringauthvaluedatavaluenamestringeventsvaluemethodstringGET · PUT · POST · PATCH · DELETE · COPYdataModestringraw · urlencoded · formdata · binary · graphqlrequestIdstringheaderDataarraydataOptionsvaluedescriptionstringqueryParamsarrayrawModeDatastringcollectionIdstringgraphqlModeDatavalueupdateMockUpdates a mock server. - Resource: Mock server entity associated with a collection UID. - Use this to change name, environment, privacy, or default server response.2 paramsUpdates a mock server. - Resource: Mock server entity associated with a collection UID. - Use this to change name, environment, privacy, or default server response.
mockobjectmockIdstringupdateSpecFileUpdates 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\`...5 paramsUpdates 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\`...
namestringtypestringDEFAULT · ROOTspecIdstringcontentstringfilePathstringupdateSpecPropertiesUpdates an API specification's properties, such as its name.2 paramsUpdates an API specification's properties, such as its name.
namestringspecIdstringupdateWorkspaceUpdates 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 \`pers...2 paramsUpdates 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 \`pers...
workspaceobjectworkspaceIdstringThe Postman MCP Server connects Postman to AI tools, giving AI agents and assistants the ability to access workspaces, manage collections and environments, evaluate APIs, and automate workflows through natural language interactions. Learn more on the Postman MCP Server product page.
Postman also offers the server as an npm package.
The Postman MCP Server collection is the quickest way to explore, test, and connect to the Postman MCP Server. Use it to:
For the best developer experience and fastest setup, use OAuth on the remote server (https://mcp.postman.com). OAuth is fully compliant with the MCP Authorization specification and requires no manual API key configuration.
The EU remote server and the local server support only Postman API key authentication.
Remote (any OAuth-compatible MCP host):
Add this URL to your MCP host's configuration:
https://mcp.postman.com/minimal
Change /minimal to /code or /mcp for Code or Full mode. For EU or API key auth, pass Authorization: Bearer <POSTMAN_API_KEY> as a header.
Local:
npx @postman/postman-mcp-server
Add --code or --full for Code or Full mode. Set POSTMAN_API_KEY as an environment variable.
For IDE-specific setup instructions, see the table below. For more information, see the Postman MCP Server docs.
| Agent / IDE | Remote | Local |
|---|---|---|
| Claude Code | Docs | Docs |
| Claude Desktop | — | Docs |
| Cursor | Docs | Docs |
| VS Code | Docs | Docs |
| Codex | Docs | Docs |
| Windsurf | Docs | Docs |
| Antigravity | Docs | Docs |
| GitHub Copilot CLI | Docs | Docs |
| Gemini CLI | Docs | Docs |
| Kiro | Docs | Docs |
| Docker | — | Docs |
The Postman MCP Server supports the EU region for remote and local servers:
https://mcp.eu.postman.com/mcp (Full), https://mcp.eu.postman.com/code, and https://mcp.eu.postman.com/minimal.--region eu flag, or set the POSTMAN_API_BASE_URL environment variable directly.For Docker setup and installation, see DOCKER.md.
POSTMAN_API_KEY*secretA valid Postman API key.