MCP Connect

Add a remote MCP server to Gemini CLI

Paste the server URL and get what Gemini CLI 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

Gemini CLIFormat checked Oct 2026

~/.gemini/settings.json for you, or .gemini/settings.json for one project. The CLI writes it.

Add it (drop -s user to keep it project-local):

What that writes:

Then: Inside Gemini CLI run /mcp auth sickle to sign in, then /mcp to see the tools.

Source: Gemini CLI documentation ·

How it works

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

ClientWhereURL keySign-in step
Claude (desktop and web)Settings → Connectors → Add custom connectorUI fieldConnect → browser consent
Claude Codeclaude 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 addurl =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
OpenClawopenclaw mcp add, or mcp.servers in the configurl + transportopenclaw mcp login
Zedsettings.json → context_servers"url"Prompt in the agent panel
Questions

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.

Need a server worth connecting?

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.