Skip to content
DocumentationPricingBlogCommunityAboutGitHub

Use your laptop's MCP servers from the Claude app on your phone

The Claude mobile app can’t run local MCP servers. It uses connectors you add on claude.ai or in Claude Desktop, which then show up on iOS and Android. To use a server on your laptop, give it a public HTTPS URL with OAuth through a tunnel, add that URL on claude.ai, and keep the laptop running.

That last part matters most. Your phone doesn’t talk to your laptop. Anthropic’s servers do, so the laptop has to be awake, online and running the tunnel whenever you want to use the server from your phone.

For the steps in every other client (claude.ai, Claude Desktop, Claude Code, ChatGPT, VS Code), see One URL for your MCP server, in every client.

There is no setting in the Claude app for a server on your Mac or PC, and there can’t be one in the way Claude Desktop has it. Claude Desktop launches stdio servers as local processes from its JSON config. A phone app can’t do that for a program on another machine. As a dev.to guide to remote MCP on the Claude mobile apps puts it, “mobile apps cannot run local scripts, so only remote MCP is available.”

So the route is: the server gets a public URL, you add that URL as a custom connector on the web or desktop, and the phone picks it up.

Anthropic’s help article Use connectors to extend Claude’s capabilities describes the sync:

Once you connect to a service on Claude or Claude Desktop, it will be available to use the next time you log in to your account on Claude for iOS or Android.

The same article says installing connectors on mobile is in beta, and that Claude Desktop and the web “remain the primary path for custom connectors”. Add the connector on claude.ai in a browser or in Claude Desktop, then open the app on your phone.

Custom connectors are available “for users on Free, Pro, Max, Team, and Enterprise plans”, and “Free users are limited to one custom connector” (Anthropic help).

Why your laptop’s server doesn’t show up

Section titled “Why your laptop’s server doesn’t show up”

When Claude uses a custom connector, the request leaves Anthropic’s cloud, not your browser or your phone. Anthropic’s custom connectors article says “Claude connects to your remote MCP server from Anthropic’s cloud infrastructure, rather than from your local device.” To those servers, localhost is their own machine and your laptop has no address they can reach. Paste a localhost URL into Claude Desktop and the log says “Localhost URLs cannot be used because our servers cannot reach your local machine.” Why claude.ai can’t connect to your local MCP server covers the mechanism in detail.

This is also why the usual phone-to-laptop setups don’t help here. Tailscale on your phone, an SSH app like Termius, or a VPN home all give your phone a route to the laptop. The Claude app isn’t the one making the request, so none of that reaches Anthropic’s servers. The URL has to be on the public internet.

Any tunnel that produces a public HTTPS URL works. Your free options:

  • Cloudflare Tunnel with Access. Free and solid, if you own a domain on Cloudflare and are willing to set up Access and an identity provider. A stdio server also needs a bridge such as supergateway. This write-up on zenn shows what the DIY route takes.
  • mcptunnels. No signup, bridges stdio, and OAuth-protected by default. The URL is random and the tunnel expires after 24 hours, so you re-add the connector every day you use it.

Anthropic also runs its own MCP tunnels, but they are “available to organizations on the Claude Enterprise plan by request”.

The steps below use MCP Warp, the tunnel we build. It gives each server a named URL that stays the same, with OAuth in front of it, and it can spawn stdio servers itself.

  1. Install the CLI (Homebrew shown; Scoop and Linux packages are in Get started):

    Terminal window
    brew tap mcpwarp/tap
    brew trust --tap mcpwarp/tap
    brew install --cask mcpwarp
  2. Sign in once at web.mcpwarp.io to create your account and pick a username. Skip this and mcpwarp up fails with USERNAME_REQUIRED.

  3. Add the server to ~/.mcpwarp/config.json. Most desktop servers are stdio commands, so use "kind": "stdio" and the same command and arguments you’d put in Claude Desktop’s config:

    {
    "servers": [
    {
    "name": "blender",
    "kind": "stdio",
    "command": "uvx",
    "args": ["blender-mcp"],
    "env": { "BLENDER_PATH": "/Applications/Blender.app" }
    }
    ]
    }

    Expose a stdio server explains each field.

  4. Log in and start the tunnel:

    Terminal window
    mcpwarp login
    mcpwarp up
    NAME KIND URL
    blender stdio https://blender-anatoly.tunnel.mcpwarp.io/mcp
  5. On claude.ai, add a custom connector, paste the URL and complete the OAuth sign-in. Connect Claude shows each screen.

  6. Open the Claude app on your phone. The connector is there the next time you log in.

After the first run, it’s mcpwarp up each time (plus mcpwarp login when the session expires). The URL stays the same as long as the server’s name doesn’t change, so the connector keeps working.

MCP Warp isn’t certified by Anthropic; it’s built to work with Claude as a standard Streamable HTTP MCP client.

Whichever tunnel you use, the server only exists while your laptop is awake, online and running it. With MCP Warp, if mcpwarp up isn’t connected, the connector gets a 503 (Troubleshooting lists the other codes). Two ways to live with that:

  • Keep the laptop awake. Plug it in and stop it sleeping while you’re away. On macOS, caffeinate -i mcpwarp up keeps the machine from idle sleep for as long as the tunnel runs. Closing the lid usually still puts a laptop to sleep.

  • Use an always-on machine. A desktop, a home server or a small Linux box can run the tunnel without a terminal. Mint a personal access token in the dashboard and run headless:

    Terminal window
    export MCPWARP_TOKEN=mcpwarp_pat_...
    mcpwarp up --no-tui

    The headless section of Get started has the details. MCP Warp doesn’t ship a launchd or systemd recipe yet, so wiring it into a service manager is up to you. The server still has to be on that machine, so this suits servers that work on files or apps you keep there.

If the laptop wakes from sleep before the network is back, mcpwarp up keeps retrying the session refresh and reconnects on its own.

The servers worth reaching from a phone are the ones that need something only your computer has:

  • Your notes vault. An Obsidian or Markdown notes server lets you search and add to notes from the phone. Check the server’s README for which folder it reads.
  • A filesystem server, scoped down. The reference filesystem server only touches the directories you pass on its command line, for example npx -y @modelcontextprotocol/server-filesystem /Users/you/Documents/phone. Give it one folder, not your home directory.
  • Notes or reminders apps on a Mac. Servers that talk to Apple’s apps run on the Mac itself, which makes them a natural fit. Read their READMEs for the permissions they ask for.
  • Blender. The blender-mcp server used in the example above drives Blender on your machine. Blender has to be open for it to do anything.

A public URL to a server that can read your notes is worth thinking about. Unauthenticated MCP servers on the internet are common: in July 2025, Trend Micro found 492 MCP servers on the public internet with no client authentication or traffic encryption. A plain tunnel with no auth in front of your vault would add one more.

With MCP Warp, every request needs an OAuth token, and the edge checks that the token belongs to the server’s owner. A valid token from another account gets a 403. The URL is an identifier, not a secret, so it doesn’t matter if someone sees it. See Security.

OAuth decides who can call the server. It doesn’t limit what the server can do once called. The server runs on your laptop with your permissions, so scope it (one folder, read-only where the server supports it) before you put it on your phone.

Custom connectors are available on Free, limited to one, per Anthropic’s help article. On the MCP Warp side, the Free plan is 100 requests a month and 1 server, and every HTTP request a client makes counts. A chat with a few tool calls makes several, so Free is for trying it out. See Limits and quotas.

Will the phone ask me to sign in to the server again?

Section titled “Will the phone ask me to sign in to the server again?”

We haven’t confirmed whether the phone ever asks you to sign in to the server again after you authorized it on the web. If it does, sign in with the MCP Warp account that runs mcpwarp up.

Does the ChatGPT mobile app work the same way?

Section titled “Does the ChatGPT mobile app work the same way?”

ChatGPT also calls connectors from OpenAI’s servers, so the server needs a public URL there too. We haven’t tested how ChatGPT’s mobile apps handle custom connectors. If ChatGPT is your only client, OpenAI’s Secure MCP Tunnel, through its open-source client openai/tunnel-client, connects private servers to “ChatGPT, Codex, the Responses API, and AgentKit” and can spawn stdio servers. It doesn’t serve Claude.

You need mcpwarp up running. In a terminal, that means leaving it open. On an always-on machine, run it headless with a token and --no-tui as shown above.