<!--
  Full-page Markdown export (rendered HTML → GFM).
  Source: https://neotoma.io/zh/neotoma-with-claude-connect-remote-mcp
  Generated: 2026-04-28T13:35:28.544Z
-->
# claude.ai remote MCP setup

[Neotoma with Claude](/neotoma-with-claude) · Remote setup for connecting Neotoma to claude.ai.

Looking for Claude Desktop (local stdio) instead? See [Claude Desktop local setup](/neotoma-with-claude-connect-desktop).

* * *

## Setup

claude.ai connects to MCP servers over the network. Start with local install, then configure remote access:

1.  **Install a tunnel provider:** Neotoma's `--tunnel` flag needs either [ngrok](https://ngrok.com/download) or [Cloudflare Tunnel (cloudflared)](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/) installed on your machine. Install one:
    
    Code snippet
    
    Copy the exact snippet shown below.
    
    ```
    # ngrok (via Homebrew)
    brew install ngrok
    ngrok config add-authtoken <YOUR_NGROK_TOKEN>
    
    # or Cloudflare Tunnel
    brew install cloudflared
    ```
    
    ngrok requires a free account and auth token from [dashboard.ngrok.com](https://dashboard.ngrok.com/get-started/your-authtoken). You can set the token as an environment variable instead of running `ngrok config`:
    
    Code snippet
    
    Copy the exact snippet shown below.
    
    ```
    # In your shell profile or .env
    export NGROK_AUTHTOKEN=<YOUR_NGROK_TOKEN>
    ```
    
    Cloudflare Tunnel works without an account for quick tunnels. If both providers are installed, Neotoma auto-detects which to use; pass `--tunnel-provider ngrok` or `--tunnel-provider cloudflare` to choose explicitly.
    
2.  **Start the API server with a tunnel:** the `--tunnel` flag auto-provisions a public HTTPS URL via ngrok or Cloudflare (whichever is installed)
    
    Code snippet
    
    Copy the exact snippet shown below.
    
    ```
    neotoma api start --env prod --tunnel
    ```
    
    The tunnel URL is printed to the console and written to `/tmp/ngrok-mcp-url.txt`. You can also use a reverse proxy or your own domain instead of `--tunnel`.
    
3.  **Connect in claude.ai:** go to Settings → MCP Servers and add your tunnel URL (for example `https://<tunnel-host>/mcp`). Claude authenticates via OAuth; the Neotoma API supports the [MCP OAuth authorization flow](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization).

**Use the tunnel URL, not a custom domain.** When you run with `--tunnel` (Cloudflare or ngrok), set the MCP server URL in Claude to the *exact* tunnel URL printed at startup (e.g. `https://<tunnel-host>/mcp`). Do not use a custom domain that points elsewhere (e.g. your own HTTPS host). Traffic must hit the same process that is serving the tunnel; otherwise Connect will fail and you will not see requests in `neotoma api logs`.

[Back to Neotoma with Claude](/neotoma-with-claude) · [Install guide](/install) · [MCP reference](/mcp)