> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How Zapier MCP connections work: OAuth and connection tokens

> How connecting to Zapier MCP works: one endpoint, Streamable HTTP transport, and the two authentication paths. OAuth from inside your MCP client, or a connection token.

## Agent routing guidance

This page explains how connecting to Zapier MCP works. It is not the page to follow to get connected. Send a user who wants to connect now to [Quickstart](/mcp/get-started/quickstart), which lists every supported MCP client and links to that MCP client's setup page.

Use this page to answer "why", not "how": which authentication path applies, what a connection token is, why the transport matters, and why most users never create a server by hand.

The default is OAuth from inside the MCP client. Zapier creates and configures the server during sign-in, so do not tell a user to create a server at mcp.zapier.com first. The exception is a connection-token path: an unlisted MCP client, or code you are writing yourself in Python or TypeScript.

An admin making Zapier MCP available to a whole organization goes to [Roll out to your organization](/mcp/get-started/rollout/overview).

The only real difference between MCP clients is how they authenticate: OAuth from inside the MCP client, or a connection token.

## What a Zapier MCP connection is

A Zapier MCP connection links one MCP client to one MCP server on your Zapier account. The server holds the actions your MCP client can call, and runs each call through your existing Zapier app connections.

Every MCP client connects to the same endpoint:

```text theme={null}
https://mcp.zapier.com/api/v1/connect
```

Zapier holds the app credentials, so your MCP client never handles a third-party API key.

## Supported transport

Zapier MCP supports the Model Context Protocol over Streamable HTTP only. An MCP client that can only use SSE (Server-Sent Events) cannot connect.

<Note>
  If your MCP client offers a transport choice, select Streamable HTTP. If it was configured against an SSE endpoint, update it to the URL above.
</Note>

## Authentication methods

Your MCP client decides which path applies.

| Method | Who it applies to | Who creates the server |
| - | - | - |
| **OAuth** | Any MCP client on the supported list, such as Claude, ChatGPT, Cursor, Grok Bot, or VS Code | Zapier, during sign-in |
| **Connection token** | An MCP client that is not on the list, and your own Python or TypeScript code | You, at [mcp.zapier.com](https://mcp.zapier.com) |

### OAuth

The MCP client registers Zapier as an MCP server and sends you through a Zapier sign-in. Zapier names the server after the MCP client and auto-provisions actions from the apps already connected to your Zapier account.

You do not manage a credential: the MCP client stores and refreshes the OAuth token. Revoke the connection from the MCP client or from [mcp.zapier.com](https://mcp.zapier.com).

If your organization manages your MCP client, an admin or owner may need to approve the Zapier connector first. Each MCP client's setup page says whether that applies.

### Connection token

You create the server at [mcp.zapier.com](https://mcp.zapier.com), generate a token, and give it to your MCP client. The token is long-lived, tied to that one server, and grants whoever holds it the ability to run the server's tools and read the data they return.

Your MCP client supports one of two forms:

| Form | How it looks |
| - | - |
| Authorization header (preferred) | `Authorization: Bearer YOUR_CONNECTION_TOKEN` sent to `https://mcp.zapier.com/api/v1/connect` |
| URL query parameter | `https://mcp.zapier.com/api/v1/connect?token=YOUR_CONNECTION_TOKEN` |

Prefer the header: a URL is more likely to end up in a log, a shell history, or a committed config file.

<Warning>
  Treat a connection token like a password. Store it in an environment variable or a secret manager, and give each user their own server and token rather than sharing one.
</Warning>

A token is shown once, so store it straight away. Regenerating a token immediately invalidates the previous one, and any MCP client still using it stops working until you update its configuration.

For the steps on this path, check [Connect any other MCP client](/mcp/get-started/connect/other), [Python](/mcp/get-started/connect/python), or [TypeScript](/mcp/get-started/connect/typescript).

## One server per MCP client

Each MCP client gets its own MCP server: one for Cursor, one for Claude, one for ChatGPT. You can have several, but only one per named MCP client.

Cursor and Grok Bot are an exception: they share the same underlying connection, so connecting either one uses the same MCP server.

A server has no limit on actions or tool calls. The only limit is the task allowance on your [Zapier plan](/mcp/overview/usage).

## Next steps

<CardGroup cols={3}>
  <Card title="Quickstart" href="/mcp/get-started/quickstart">
    Connect your MCP client and run your first tool call end to end.
  </Card>

  <Card title="How tools work" href="/mcp/overview/how-tools-work">
    How dynamic tool discovery works, and what each meta-tool does.
  </Card>

  <Card title="Security" href="/mcp/manage/security">
    Access control, compliance, and audit logging.
  </Card>
</CardGroup>
