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

# Connect an AI assistant

> Give Claude, ChatGPT, Cursor, or another MCP client access to the teams you own on Membership.io: one URL, a browser sign-in, and a consent screen. No tokens to paste.

The member.dev MCP server lets an AI assistant read and change the hubs, pages, contacts, media, products, and community of the teams you own. MCP (Model Context Protocol) is the standard assistants use to call outside tools. You add one URL to your assistant, sign in to Membership.io in your browser, and approve a consent screen. After that the assistant works on your team from plain English, and asks you before each call.

The server address is:

```text theme={null}
https://api.member.dev/mcp
```

Type it exactly as shown, with no trailing slash.

<Note>
  The server is in alpha. New tools arrive often, and [MCP tools](/reference/mcp-tools) lists exactly what it serves today. Writes are live: a change happens as soon as you approve the call in your assistant, and there is no undo tool.
</Note>

## Before you start

* A Membership.io account that owns at least one team. The assistant works on the teams you **own**. If someone only invited you to their team, the assistant cannot change that team.
* An assistant that connects to MCP servers with a browser sign-in. Today that is Claude, in Claude Code and on claude.ai, ChatGPT, Cursor, and VS Code with Copilot. Other clients that sign in through a callback on your own computer also work.

The server is not the same thing as a team API key. A key (`mio_sk_...`) is for your own code and the [MIO CLI](/guides/cli); the MCP server only accepts the sign-in described here. It is also not the search server these docs expose at `docs.member.dev/mcp`, which lets an assistant read this documentation and holds no tools for your team.

## Claude Code

1. Add the server:

   ```bash theme={null}
   claude mcp add --transport http mio https://api.member.dev/mcp
   ```

2. In Claude Code, run `/mcp`, pick `mio`, then **Authenticate**.

3. Your browser opens. Sign in to Membership.io, then approve the [consent screen](#the-consent-screen).

4. Back in the terminal, `claude mcp list` shows `mio` as connected.

## claude.ai

1. Open **Settings**, then **Connectors**, then **Add custom connector**.
2. Paste `https://api.member.dev/mcp` and connect.
3. Sign in and approve the consent screen, as in Claude Code.

Your Claude plan decides who can add a custom connector and how many. If the option is missing, check the plan's limits with Anthropic.

## ChatGPT, Cursor, and VS Code

Add the same address wherever the client takes a custom MCP server or connector, then sign in when the client asks. The consent screen is the same.

## The consent screen

Only approve if you **just** asked your assistant to connect. Before you approve, check two lines:

* **Signed in as** shows your own email. If it does not, choose **Not you?**, which signs you out, and start again from your assistant.
* The screen names the app that is asking and where it will send you back. For Claude Code that is `localhost`, meaning the app runs on your own computer.

Approving gives the assistant access to **every team you own**. You choose what it may do, by group:

| Group | What it lets the assistant do |
| - | - |
| **Your content (read)** | Always on, no checkbox. Read teams, hubs, pages, tags, media, playlists, products, prices, access rules, and events. |
| **People and activity (read)** | Read personal data: contacts, members, segments, analytics, activity, comments, community, discussions, and orders. |
| **Build and edit** | Create, change, and delete hubs, pages, spaces, discussions, comments, tags, media, playlists, segments, and access rules. |
| **Moderate community** | Hide and restore content, and warn, ban, or unban members. |
| **Publish pages** | Make pages live for visitors, and take them down again. |
| **Contacts and members** | Create, change, tag, and delete contacts. Add or remove hub members. |
| **Products and prices** | Create, change, and delete products and prices. Attach products to hubs. Start test checkouts. |

Each optional group starts ticked. Untick any you do not want. The assistant never sees a tool from a group you left unticked, so a tool it reports as missing usually means the group was not granted. Reconnecting with different groups creates a new connection; the older one keeps its permissions until it is revoked.

## What to expect once connected

* **Your assistant asks before each call.** Read what it is about to do. A read returns data. A write changes your team as soon as you approve it.
* **Destructive tools ask for a `confirm` value**, such as the hub's exact name, the page's exact title, or the contact's email. A wrong value changes nothing.
* **Page edits go to a draft.** Nothing is visible to members until you ask the assistant to publish the page.
* **No money moves.** Products and prices are records. The only checkout tool starts a Stripe test checkout.
* **Email.** Creating a contact sends nothing. Adding a hub member can send the hub's welcome email, exactly as the admin does.

[MCP tools](/reference/mcp-tools) lists every tool with the group it needs and whether it reads, writes, or asks for `confirm`.

## How long the connection lasts

* The assistant's access pass lasts 15 minutes and is renewed on its own. You will not notice.
* The connection stays alive as long as you use it at least once every 30 days. After a longer gap, the assistant asks you to sign in again.
* **Changing your Membership.io password disconnects every assistant.** Reconnect each one afterwards.

## Disconnecting

There is no Connected apps page in the admin yet. To cut an assistant's access now, change your Membership.io password, which disconnects every assistant, or contact support to revoke one connection.

## Troubleshooting

| What you see | What to do |
| - | - |
| "This request expired or belongs to another browser" | Start again from your assistant, and finish in the browser that opened, within 30 minutes. |
| "This request was already answered" | Start again from your assistant. |
| `401`, or the assistant asks you to sign in again after a password change | Expected. Reconnect: in Claude Code, `/mcp` then **Authenticate**; on claude.ai, reconnect the connector. |
| A tool is missing or reported as not found | You did not grant its group. Reconnect and tick that group. [MCP tools](/reference/mcp-tools) shows which group each tool needs. |
| The assistant cannot reach a team | The assistant only works on teams you own. Ask the owner to act, or to make you an owner. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.