# MCP Config Generator

One remote MCP server, seven clients, seven slightly different formats. Paste the URL once and copy the right config for each.

URL: https://shortformkit.com/mcp-config-generator/
Updated: 2026-10-14

Every MCP client stores remote servers in its own file with its own key names, and a wrong key fails silently: Gemini CLI wants httpUrl (its url means the old SSE transport), Windsurf uses serverUrl, VS Code needs "type": "http" under servers, and Claude Code treats an entry without type as a local command. The generator above writes each format from one URL. We checked every format against the client's own documentation on 16 October 2026.

## The formats side by side

| Client | File | URL key | Notes |
|---|---|---|---|
| Claude (claude.ai, Desktop) | none, in the app | URL field | Customize, Connectors, + Add, Add custom connector. Works on every plan; the Free plan allows one custom connector. |
| Claude Code | .mcp.json (project) or the CLI | url with "type": "http" | claude mcp add --transport http NAME URL, headers with --header, scope with --scope local/project/user. |
| Cursor | ~/.cursor/mcp.json or .cursor/mcp.json | url | Top-level mcpServers; headers can use ${env:NAME}. |
| VS Code | .vscode/mcp.json or the user mcp.json | url with "type": "http" | Top-level servers, not mcpServers; secrets via ${input:id}. |
| Gemini CLI | ~/.gemini/settings.json or .gemini/settings.json | httpUrl | url is for SSE. CLI: gemini mcp add --transport http NAME URL. |
| Codex | ~/.codex/config.toml | url | TOML table [mcp_servers.NAME]; bearer_token_env_var or http_headers for auth. |
| Windsurf / Devin Desktop | ~/.config/devin/mcp_config.json (macOS, Linux) | serverUrl | Top-level mcpServers; headers supported. |

## Before you paste

- Check the server answers: run it through the [MCP Server Tester](https://shortformkit.com/mcp-server-tester/).

- Servers with OAuth (most company servers, see the [status list](https://shortformkit.com/mcp-server-status/)) need no header: the client opens the sign-in itself.

- Keep tokens out of shared files: use ${env:…} in Cursor, ${input:…} in VS Code or bearer_token_env_var in Codex.

Need a server to try? Our own [Shortform Kit MCP server](https://shortformkit.com/mcp-server/) is prefilled; more in the [free remote MCP servers](https://shortformkit.com/free-remote-mcp-servers/) list.

## How it works

1. **Paste the server URL** And a short name; add a header only if the server uses an API key.
2. **Pick your client** Copy the block for Cursor, VS Code, Claude Code, Gemini CLI, Codex or Windsurf.
3. **Restart or reload the client** It picks up the new server and lists its tools.

## FAQ

**What is the mcp.json format for a remote server in Cursor?**
In ~/.cursor/mcp.json: { "mcpServers": { "name": { "url": "https://example.com/mcp" } } }, optionally with a headers object.

**Why does my remote MCP server not load in Gemini CLI?**
Gemini CLI uses httpUrl for Streamable HTTP servers; url is for SSE. Use httpUrl or add it with gemini mcp add --transport http.

**Why does VS Code ignore my MCP config?**
VS Code's mcp.json uses the top-level key servers and needs "type": "http" for remote servers. The key mcpServers belongs to the portable .mcp.json files, not to .vscode/mcp.json.

**How do I add a remote MCP server to Claude Code?**
claude mcp add --transport http NAME URL. Add --header "Authorization: Bearer TOKEN" for API keys and --scope user to use it in every project.


Source: Shortform Kit (https://shortformkit.com/mcp-config-generator/). Free, no login.