On this page8 sections
The short answer
In the remote vs local MCP server choice, where the server runs is what matters. A local MCP server runs on your computer and talks to your AI client over stdio. A remote MCP server runs on the internet at a URL and uses Streamable HTTP. Use local for files, dev tools and private data. Use remote for SaaS tools and teams.
What each one is
Local MCP server
A local server is a program on your own machine. Your AI client starts it as a subprocess and talks to it through standard input and output. That is the stdio transport in the MCP spec.
A typical example is the official Filesystem server. In Claude Desktop, you add it to a config file called claude_desktop_config.json with a command such as npx and a list of folders it may use. Many local servers need Node.js or Python installed.
Key trait: it runs with your user permissions and can reach things only your machine can reach.
Remote MCP server
A remote server runs as its own service. It has a single endpoint, such as https://example.com/mcp. Clients send messages to it with HTTP POST. That is the Streamable HTTP transport.
A remote server can serve many users at once. You connect by pasting its URL into your AI client and signing in, often through OAuth.
Key trait: nothing to install. Any client with an internet connection can use it.
What about SSE?
Older guides mention an HTTP+SSE transport. The spec replaced it with Streamable HTTP in protocol version 2025-03-26. Streamable HTTP can still use Server-Sent Events for streaming replies. Some clients, like Cursor and ChatGPT, still accept old SSE servers for backward compatibility. New servers should use Streamable HTTP.
Remote vs local MCP server at a glance
| Local MCP server | Remote MCP server | |
|---|---|---|
| Where it runs | Your computer | A cloud or company server |
| Transport | stdio (sometimes HTTP on localhost) | Streamable HTTP |
| How you connect | Command in a config file | Paste a URL |
| Setup | Install runtime, edit JSON, restart app | Add URL, sign in |
| Who can use it | Usually one user, one client | Many users and clients |
| Auth | Credentials from environment variables | OAuth 2.1 based flow, or tokens |
| Where secrets live | On your machine, often in plain config | On the server side |
| Local files and apps | Yes, direct access | No, unless you sync data up |
| Works in web clients | No. A browser app cannot start a local process | Yes |
| Updates | You update each machine | Provider updates once for everyone |
| Uptime | Only while your machine and app are running | Always on, if hosted well |
| Main risk | Runs code with your permissions | You trust a third party with access |
| Best for | Files, code, local databases, privacy | SaaS tools, teams, web and mobile use |
How it works
The MCP architecture is the same in both cases. Your AI app (the host) creates one client per server. Only the transport changes.
Your computer
Internet
https://…/mcpThe local flow
- You add a command to your client's config file.
- The client starts the server process when it launches.
- They swap JSON-RPC messages over stdin and stdout.
- Credentials come from environment variables you set. The spec says stdio servers should not use the OAuth flow and should read credentials from the environment instead.
- When you quit the client, the server stops.
The remote flow
- You paste the server URL into your client.
- The client sends a request. The server replies "401 Unauthorized" with a pointer to its auth metadata.
- The client runs an OAuth 2.1 flow with PKCE. You sign in and approve access in a browser.
- The client gets an access token tied to that one server.
- Every request after that carries the token in the
Authorizationheader.
The authorization spec also bans token passthrough. The MCP server must use its own credentials when it calls an upstream API like Shopify.
One detail people miss
Web clients reach remote servers from the vendor's cloud, not from your laptop. Claude's help center says Claude connects to custom connectors "from Anthropic's cloud infrastructure, rather than from your local device". So a server on localhost will not work as a Claude web connector. It must be reachable on the public internet.
Examples: which one fits
Pick a local server when
- You work with files on your machine. Sorting downloads, reading a local folder, editing docs.
- You are coding. Git, test runners, a local database or a browser tool inside Cursor or Claude Code.
- Data must not leave the device. Some legal, health or internal data rules require it.
- You are building and testing your own server. stdio is the quickest loop.
- The tool needs no account. A calculator or a unit converter does not need a cloud host.
Pick a remote server when
- The data already lives in a SaaS tool. Shopify orders, HubSpot deals, GA4 reports. The data is in the cloud anyway.
- A team needs the same access. One URL, one sign-in flow, no per-laptop setup.
- You use web or chat clients. ChatGPT and claude.ai can only use remote servers.
- You want secrets off laptops. A local config file often holds API keys in plain text. A hosted server keeps them server-side.
- You manage many clients or brands. Agencies need separate connections per account, not a pile of config files.
A mixed setup is normal
Many developers run both. A local server for the repo and the file system. Remote servers for Jira, Slack or the store backend. The client treats them the same way once connected.
Common misconceptions
"Local is always more secure"
Not always. A local server runs code with your user permissions. The MCP security guide warns about malicious startup commands, bad packages and data loss. Also, API keys for SaaS tools often sit in a plain-text config file. For cloud data, a trusted remote server with OAuth can be the safer choice.
"Remote means my data is stored somewhere new"
It depends on the provider. A remote MCP server passes requests to the upstream API. It does not need to keep a copy of your data. Check the provider's data and logging policy.
"Local servers cannot use HTTP"
They can. A local server can run Streamable HTTP on localhost. The spec then says it should bind to 127.0.0.1 only and must check the Origin header to block DNS rebinding attacks. stdio is still the simpler choice for local use.
"SSE and Streamable HTTP are the same thing"
No. The old HTTP+SSE transport used two endpoints. Streamable HTTP uses one endpoint and can use SSE for streaming when needed. HTTP+SSE is deprecated.
"Every client supports both types"
No. Desktop and IDE clients like Claude Desktop and Cursor support both. Web clients like ChatGPT support remote servers only. Check your client before you choose.
How to get started
Starting with a local MCP server
- Install the runtime the server needs, often Node.js or Python.
- Open your client's MCP config. In Claude Desktop that is Settings, then Developer, then Edit Config.
- Add the server command and its arguments.
- Give it access only to the folders or systems it needs.
- Restart the client and check that the tools appear.
Starting with a remote MCP server
You can use a vendor's own remote server, host one yourself, or use a hosted MCP platform. Self-hosting means you run the server, handle OAuth, and keep it up. A hosted platform does that part for you.
With PopMCP, the steps are:
- Create a workspace for your business, brand or client.
- Connect a provider from the MCP server catalog, such as Shopify or HubSpot. You authorize once.
- Copy your MCP URL. Every account uses the same one,
https://app.popmcp.com/mcp, over Streamable HTTP. - Add it to your client and approve the PopMCP sign-in. Follow the Claude setup guide. ChatGPT custom connectors, Cursor, Codex, Windsurf, Zed and other remote-capable clients also work.
- Try a read first. Writes run as soon as the model calls them, so confirm it reads the right account.
Provider credentials stay in PopMCP, encrypted at rest with AES-256-GCM. They are never sent to the AI client. The client signs in to PopMCP with OAuth and only reaches the connectors you approve.
To be clear on fit: PopMCP covers business tools, not your local files or Git repo. Keep a local server for those. For more on the basics, read MCP vs API.
Frequently asked questions
What is the difference between a local and remote MCP server?
A local MCP server runs on your computer and talks to your AI client over stdio. A remote MCP server runs on the internet at a URL and uses Streamable HTTP. The tools work the same way once connected.
What is a remote MCP server?
It is an MCP server hosted online that clients reach by URL. It usually uses OAuth for sign-in and can serve many users. Web clients like ChatGPT and claude.ai need this type.
What is a local MCP server?
It is an MCP server your AI client starts as a process on your own machine. It can access local files, apps and databases. You set it up in a config file.
What is the difference between stdio and Streamable HTTP?
stdio sends messages through a local process's standard input and output. Streamable HTTP sends each message as an HTTP POST to one endpoint and can stream replies with SSE. stdio is for local use. Streamable HTTP works locally or over the internet.
Is SSE deprecated in MCP?
Yes. The HTTP+SSE transport was replaced by Streamable HTTP in protocol version 2025-03-26. Streamable HTTP can still use SSE for streaming. Some clients keep SSE support for older servers.
Are remote MCP servers secure?
They can be. The MCP spec defines an OAuth 2.1 based flow, tokens bound to one server, and a ban on token passthrough. Only connect to servers from providers you trust, and start with read-only tools.
Can ChatGPT use local MCP servers?
No. ChatGPT developer mode supports remote servers over SSE and streaming HTTP. It cannot launch a process on your computer.
Can Claude use remote MCP servers?
Yes. Claude supports remote servers through custom connectors on Free, Pro, Max, Team and Enterprise plans. Claude Desktop also supports local servers through its config file.
Do I need to host a remote MCP server myself?
No. You can use a vendor's official server or a hosted MCP platform. Self-hosting gives you full control but means you run auth, uptime and updates.
Can I use local and remote MCP servers together?
Yes. Desktop and IDE clients can connect to both at once. A common setup is local servers for code and files, and remote servers for SaaS tools.
Sources
10 references, checked 24 September 2026
- MCP transports (stdio, Streamable HTTP, deprecated HTTP+SSE)modelcontextprotocol.io
- MCP transports overview (latest, 2026-07-28)modelcontextprotocol.io
- MCP authorization (latest, 2026-07-28)modelcontextprotocol.io
- MCP architecture overviewmodelcontextprotocol.io
- MCP security best practicesmodelcontextprotocol.io
- Connect to local MCP serversmodelcontextprotocol.io
- Connect to remote MCP serversmodelcontextprotocol.io
- Claude custom connectors via remote MCPsupport.claude.com
- ChatGPT developer modedevelopers.openai.com
- Cursor MCP docscursor.com


