> ## 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 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 client and links to that 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 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 client, or code you are writing yourself in Python or TypeScript.

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

## What a Zapier MCP connection is

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

Every client connects to the same endpoint:

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

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

## Supported transport

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

<Note>
  If your 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 client decides which path applies.

| Method               | Who it applies to                                                             | Who creates the server                           |
| -------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------ |
| **OAuth**            | Any client on the supported list, such as Claude, ChatGPT, Cursor, or VS Code | Zapier, during sign-in                           |
| **Connection token** | A 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 client registers Zapier as an MCP server and sends you through a Zapier sign-in. Zapier names the server after the client and auto-provisions actions from the apps already connected to your Zapier account.

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

If your organization manages your AI client, an admin or owner may need to approve the Zapier connector first. Each 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 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 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 client still using it stops working until you update its configuration.

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

## One server per client

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

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 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>
