GUIDE

How to turn a Postman collection into an MCP server

Updated

Export the collection from Postman and choose it in Kaiva Bridge, a managed MCP cloud platform, or paste a single cURL command. Bridge reads it in your browser, shows which requests become tools and why any were left out, and creates an MCP server with one tool for each request you keep. Add the server's address to Claude, ChatGPT, Cursor or any other MCP client: there is no spec to write, no code and no server to run.

Step by step

  1. Export the collectionIn Postman, export the collection as Collection v2.1 (v2.0 works too). Environments are separate files that Bridge does not read, so put any value the requests need, such as the base URL, into collection variables before you export.
  2. Choose the file in Kaiva BridgeSign up free at app.kaiv.ai, choose New server, then REST API, then the Postman tab, and choose the file. For a single request, use the cURL tab instead and paste the command.
  3. Review the requestsBridge lists the requests it can import with their methods, and the ones it left out with the reason. If the collection calls more than one host, choose one: a server talks to one API. Switch off any request you don't want as a tool.
  4. Choose the credentialIf the collection carries a bearer token, a username and password or an API key, Bridge offers it, masked, as the server's credential. With more than one, you choose. You can also choose Don't store a credential and add one later on the Source tab.
  5. Test and introspectClick Test and introspect. Bridge creates the server and lists its tools, all switched off. It makes no call to your API on its own: pick a request that only reads and choose Check the API with this call.
  6. Deploy and connectSwitch on the tools your AI needs, click Deploy server, then copy the address from the Connect tab into Claude, ChatGPT, Cursor or another MCP client.

The CLI creates servers from a spec, a GraphQL API, a database or documents, not from a collection. Once your server is live, it adds it to Claude Code or Cursor and checks the connection with one real call:

Terminal
npx @kaiva/bridge login
npx @kaiva/bridge install orders-api --client claude-code
npx @kaiva/bridge doctor orders-api --call list_orders

What Bridge makes from a collection

Each request becomes one tool, named after the request. A request called List orders, sent to {{baseUrl}}/v1/orders?status=open&page=1, becomes the tool list_orders with two optional inputs, status and page, which default to open and 1. A request called Get order, sent to {{baseUrl}}/v1/orders/:orderId, becomes get_order with one required input, orderId, which your AI fills in.

Values that are clearly not private are kept as defaults. Anything that looks like a key or a token is never copied into a tool: it is offered as the server's credential or left out, and the review says which. A variable with no value in the collection becomes an input your AI supplies, and the review says that too.

Choose View spec to see the OpenAPI document Bridge generated from your requests, and Edit as spec to change it before the server is created. This is the part of it that describes get_order:

Generated spec (excerpt)
"/v1/orders/{orderId}": {
  "get": {
    "operationId": "get_order",
    "summary": "Get order",
    "parameters": [
      { "name": "orderId", "in": "path", "required": true, "schema": { "type": "string" } }
    ]
  }
}

What is left out, and why

Bridge never runs scripts. A request with a pre-request script is still listed, with a warning, and is not selected to begin with, because it may need a value the script would have set in Postman. Test scripts are ignored.

Requests that sign in with OAuth 1.0 or 2.0, Digest, AWS Signature, NTLM, Hawk, JWT Bearer, Akamai EdgeGrid or ASAP are not imported. Neither are multipart forms, file uploads, GraphQL bodies, bodies other than JSON or a form, or requests whose host has no value in the collection. Each one is listed with its reason. For a GraphQL API, use the GraphQL tab and give its endpoint instead.

Requests to a second host are listed too. Import them as a separate server: a server's credential belongs to one host and is never sent anywhere else.

A collection can hold up to 500 requests in a file of up to 5 MB. If yours is larger, export one folder at a time, or remove the saved responses, which Bridge does not use.

Starting from one cURL command

Paste one command, as an API's docs, a terminal or your browser's Copy as cURL (bash) give it. It becomes one tool, named from its method and path, such as get_v1_orders_123. Query parameters become inputs with their values as defaults, and a token in an Authorization header, or a username and password given with -u, is offered as the credential.

Bridge reads the command as text and never runs it. Shell variables, command substitution, pipes, more than one command and flags that read local files are refused with what to change. The Windows (cmd) form is refused as well: copy the bash form instead.

The path is kept exactly as written, so /v1/orders/123 always asks for order 123. To make the id an input, import the request from a Postman collection with a path variable such as :orderId, or change the generated spec with Edit as spec. For several requests, a collection is quicker: each cURL command makes a server with one tool.

What you need

A collection exported as Collection v2.0 or v2.1, or one cURL command, for an API that Bridge can reach over the internet.

Free includes 10 MCP servers, 200,000 tool calls a month and 200 pages of documents, with no card.

Other ways to do it

  • Postman's MCP generatorFor requests in Postman's Public API Network, Postman can generate the code for an MCP server, which you download and run yourself.
  • Convert to OpenAPI, then run a generatorOpen-source converters turn a Postman collection into an OpenAPI spec, and open-source generators such as FastMCP's OpenAPI support serve a spec as an MCP server. You host, update and secure that server, and store the API credentials, yourself.
  • Write one with an MCP SDKThe official TypeScript and Python SDKs let you write each tool by hand. That gives full control, at the cost of writing and maintaining the code.

Questions

Which Postman formats work?
Collection v2.0 and v2.1, the formats Postman exports. Collection v1, environment files and globals are not read: set the values your requests need as collection variables before you export.
Is my collection sent to Kaiva?
No. The file is read in your browser. Only the OpenAPI draft for the requests you keep is sent, with the credential you chose, which is encrypted at rest. Saved example responses are never read.
Does Bridge run pre-request scripts?
No. Bridge never runs scripts. A request that has one is listed with a warning and is not selected to begin with, so you choose it knowingly.
Which sign-in methods carry over?
A bearer token, a username and password, and an API key sent in a header or a query parameter. Requests that sign in with OAuth, Digest, AWS Signature, NTLM, Hawk, JWT Bearer, Akamai EdgeGrid or ASAP are listed as not imported.
Can the AI change data through my API?
Only through tools you switch on. Every tool starts switched off, and each one shows its method, so POST, PUT, PATCH and DELETE requests are easy to leave off.
I have an OpenAPI spec as well. Which should I use?
The spec, if it is up to date: it describes every operation and its inputs. A collection or a cURL command is for APIs that have no spec.
Is it free?
Free includes 10 MCP servers, 200,000 tool calls a month and 200 pages of documents, with no card.