Add a remote MCP server to Roo Code
Paste the server URL and get what Roo Code needs, exactly as it wants it. Switch client to see the same server in another one.
The endpoint that speaks Streamable HTTP (or SSE). Keep any path the server documents, such as /mcp.
Letters, digits, dashes. Becomes the tool prefix in some clients.
Example server: mcp.sickle.app is real. It gives an agent every mailbox you own (Gmail, Outlook, iCloud, Fastmail, IMAP) with scoped permissions. What it does →Replace the URL with yours.
Pick a client
Roo CodeFormat checked Oct 2026
The MCP icon in the Roo Code pane → Edit Global MCP (mcp_settings.json) or Edit Project MCP (.roo/mcp.json in the project root; a project entry overrides a global one of the same name).
Add to (type is required for a URL server; Roo refuses to guess it):
Then: Roo reloads the file; switch the server on in the MCP panel.
Source: Roo Code documentation ·
One URL, nine spellings.
A remote MCP server is just an HTTPS endpoint. The client opens a connection, lists the tools, and calls them as the model asks. Two things vary between clients: where the server is declared (a JSON or TOML file, a CLI command, or a settings screen) and what the URL key is called. Everything else, including sign-in, is standard: the server advertises OAuth 2.1 metadata, the client registers itself dynamically, you approve once in the browser, and the client stores a revocable token.
Where each client keeps it
| Client | Where | URL key | Sign-in step |
|---|---|---|---|
| Claude (desktop and web) | Settings → Connectors → Add custom connector | UI field | Connect → browser consent |
| Claude Code | claude mcp add, or .mcp.json | "type": "http", "url" | /mcp → Authenticate |
| Cursor | ~/.cursor/mcp.json or .cursor/mcp.json | "url" | Tools & MCP → Needs login |
| Codex | ~/.codex/config.toml, or codex mcp add | url = | codex mcp login |
| VS Code | .vscode/mcp.json or the user mcp.json | "type": "http", "url" | Prompt on first use |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | "serverUrl" | Browser on first connect |
| Gemini CLI | ~/.gemini/settings.json, or gemini mcp add | "httpUrl" | /mcp auth |
| OpenClaw | openclaw mcp add, or mcp.servers in the config | url + transport | openclaw mcp login |
| Zed | settings.json → context_servers | "url" | Prompt in the agent panel |
Asked before you ask.
Do I still need npx mcp-remote?
Not for the clients on this page. mcp-remote was a bridge from the days when most clients only spoke to local stdio servers. Every client listed here now connects to an HTTPS URL directly and runs the OAuth flow itself. The one case where it helps is a client that only takes a command, or a server that needs a static header the client's UI can't set.
Streamable HTTP or SSE?
Streamable HTTP is the current transport in the MCP specification; SSE is the older one that some servers still expose at a /sse path. Pick whatever the server documents. If a server offers both, use Streamable HTTP; it survives proxies and reconnects better.
Why doesn't Claude Desktop have a "url" key in claude_desktop_config.json?
Because remote servers are added as connectors, not through that file. The JSON file still exists for local stdio servers. Add a remote server under Settings → Connectors, where the OAuth consent and revocation live.
Where do secrets go?
Never in a file you commit. VS Code supports ${input:…} prompts, Codex reads the token from an environment variable (bearer_token_env_var), Windsurf expands ${env:…}, and Claude Code and Gemini CLI take --header on the command line. Servers that use OAuth avoid the problem entirely.
How do I disconnect?
Remove the entry (or run the client's remove command: claude mcp remove, codex mcp remove, gemini mcp remove) and revoke the client on the server side if it keeps a list of connected apps. A well-designed server drops the client's token within the hour.
Give your agent your inbox.
Sickle's email MCP server gives Claude, Cursor, Codex or OpenClaw every mailbox you own: search across accounts, read threads, archive and file, with read, change and send as separate permissions you can revoke. Remote, any OS, nothing to install.