# Connect Claude and ChatGPT (/build/connect-claude-and-chatgpt)

Add your instance to Claude or ChatGPT once, on the web, so you can find and save your items from a chat on the web, the desktop or your phone.



Claude and ChatGPT reach your instance's [MCP server](/marfa-mcp-server) from their own servers, not from your device. **Add it once on the web, and it works in the same account's desktop and mobile apps**, so you can ask a chat on your phone to find a note or save a link. The chat signs in to your instance and reaches only what you approve.

Claude calls what you add a custom connector. That is Claude's word: it has nothing to do with a Marfa [connector](/connectors), which brings in records from another service.

## Give the instance a public address [#give-the-instance-a-public-address]

The chat's servers reach your instance **over the public internet**, at an `https` address. An address on your local network or your tailnet works for an agent on your own computer, as [Use Marfa with AI agents](/build/ai-agents) shows, but not for a chat.

A Cloudflare Tunnel gives the instance a public address on your own domain without opening a port on your network. Install it that way, or run the install again to change how it's reached:

```bash
marfa server install --access cloudflare --address https://marfa.example.com
```

[Install the server](/run/install#choose-how-its-reached) covers the other choices, such as your own proxy. On a public address, anyone can reach the instance's sign-in page, but every request for your data needs a credential, and only you can approve one.

## Choose the address [#choose-the-address]

Your instance's address followed by `/mcp`, such as `https://marfa.example.com/mcp`, gives the chat tools to find, read, save and change items. **Use it unless you need more.** To design types or save views from a chat, add `/mcp/schema` instead, and to check the instance's health, read its audit log or manage keys and webhooks, add `/mcp/admin`. Each address is a connector of its own in the chat app. [Endpoints](/marfa-mcp-server#endpoints) lists what each one adds.

## Add it to Claude [#add-it-to-claude]

Every Claude plan can add custom connectors; the Free plan can add one. On a Team or Enterprise plan, an owner of the organization adds it first, in **Organization settings** > **Connectors**, and each member then selects **Connect** beside it in **Customize** > **Connectors**.

### Add the connector [#add-the-connector]

On claude.ai, open **Customize** > **Connectors**, select **+ Add**, then **Add custom connector**. Name it `Marfa`, enter the address, and select **Continue**. Keep the sign-in settings Claude finds, select **Continue** again, then **Add**.

### Approve it [#approve-it]

Select **Connect**. Your instance's approval page opens. Sign in as the owner if you aren't already, then choose **Full access**, or **Choose access** to give less, such as read and edit on notes and nothing else. [Approve an app](/run/manage-apps#approve-an-app) describes the page.

### Try it [#try-it]

In a chat, ask Claude what it can see in Marfa. It calls `marfa_overview` and answers with the types and tags you approved.

## Add it to ChatGPT [#add-it-to-chatgpt]

Your ChatGPT plan, and your workspace if you're in one, must allow custom MCP servers.

### Add the server [#add-the-server]

On chatgpt.com, open **Plugins**, select the plus button, then **Add custom MCP server**. Name it `Marfa`, enter the address under **Connection**, and choose OAuth for authentication. Read the warning, select **I understand and want to continue**, then **Create as a plugin**.

### Approve it [#approve-it-1]

Your instance's approval page opens. Sign in as the owner if you aren't already, then choose **Full access** or **Choose access**.

### Try it [#try-it-1]

In a chat, ask ChatGPT what it can see in Marfa.

## Save a file from a chat [#save-a-file-from-a-chat]

In ChatGPT, **attach a file and ask it to save the file to Marfa**. ChatGPT gives the tool a link to the file, and your instance fetches it and saves it as a file item, such as a `core.file.image` for a photo. The link works for a short time, so if the save fails, attach the file again.

In either chat, you can also ask it to save a file from a public web address. The instance records every fetch in the [audit log](/run/audit-log). To turn fetching off, set `MARFA_MCP_FETCH_ENABLED=false`, as [Settings](/run/settings#every-environment-setting) shows.

## What the chat can do [#what-the-chat-can-do]

The chat reaches only the types and permissions you approved. **It asks before it deletes**: the first delete call only previews what would go, and the chat shows you before anything moves to the bin. It asks the same way before it makes a webhook, which sends events outside your instance. No tool purges, exports or changes the instance's settings.

## Disconnect it [#disconnect-it]

Remove the connector or server in the chat app's settings. To end the chat's access on your instance as well, disconnect it on the **Connected apps** page, or with `marfa apps disconnect`, as [Authenticate](/build/authenticate#revoke-access) describes. Its next request is refused.
