ToolMCP

MCP config generator

Describe the servers once; get the file the client actually reads — a project .mcp.json, the claude mcp add commands, Claude Desktop’s claude_desktop_config.json, or Cursor’s .cursor/mcp.json. It all happens in this page: no upload, no account, tokens included.


Target

A project .mcp.json is committed and shared with your team.

Servers

1 server
Server 1
01 Server

The key in the config, and the prefix on its tools.

One per line.

KEY=VALUE, one per line.

Claude Code expands ${VAR} and ${VAR:-default} in .mcp.json — in command, args, env, url and headers — so a shared file can point at a secret each teammate holds in their own environment. Other clients do not.

Output

{
  "mcpServers": {
    "filesystem": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/your/project"
      ]
    }
  }
}

save as .mcp.json in your project root

Then check it

claude mcp list

Claude Code asks you to approve each server from a project .mcp.json the first time. claude mcp get <name> shows one server’s status.

How the files relate

Claude Code has three MCP scopes, and the same server name can be defined in more than one of them. It connects once, using the entry from the highest-precedence source — the whole entry, not a merge of the fields.

  1. 01 Local — the default Stored in ~/.claude.json under that project’s path, so it loads in that project only and stays private to you. This is what claude mcp add writes when you pass no --scope. highest
  2. 02 Project — .mcp.json A file at the project root, meant for version control. Claude Code prompts for approval before it uses a server from this file in an interactive session; claude mcp reset-project-choices clears those answers. shared
  3. 03 User — every project Also stored in ~/.claude.json, at the top level rather than under a project. Added with --scope user, private to your account, available in all your projects. lowest

Other clients read their own files. Claude Desktop reads claude_desktop_config.json — on macOS ~/Library/Application Support/Claude/, on Windows %APPDATA%\Claude\ — and the documented shape there is a local command/args/env server. A remote server is added in the app instead: Settings → Connectors → Add custom connector. Cursor reads .cursor/mcp.json in the project, or ~/.cursor/mcp.json for every project, and its examples carry no type key.

A url needs a type in Claude Code. An entry with no type is read as a stdio server, so a URL entry copied from another client’s docs fails until you add "type": "http" (or "sse" / "ws"). In JSON, streamable-http is accepted as an alias for http.

Sources: Claude Code · MCP · MCP · connect local servers · MCP · connect remote servers · Cursor · MCP

Guides that use these files

  1. 05.01 How to Install an MCP Server in Claude Code Add an MCP server with claude mcp add: -- for local commands, --transport http for hosted ones, --scope to choose who gets it, then /mcp to confirm. 3 min
  2. 05.03 The Best MCP Servers to Start With Seven MCP reference servers are still maintained — filesystem, fetch, git, memory, time. GitHub, Postgres, Slack and Puppeteer were archived. 4 min
  3. 05.04 MCP in Claude Code vs Claude Desktop claude mcp add registers a server from the terminal; Claude Desktop edits a JSON config from Settings. Same protocol, two setup flows and one scope trick. 3 min
  4. 05.05 How to Build an MCP Server in Python Write a one-tool MCP server named word_count with the official Python SDK, run it over stdio, and call it from Claude Code with claude mcp add. Copy-paste. 4 min

All tools · Everything on MCP

↑↓ move↵ openalt+↵ copy first command

Keyboard

⌘/ctrl+K or /
Search all guides
alt+↵
In search: copy the guide's first command
j / k
Move through a list of guides
c
On a guide: copy its first command
t
Toggle light / dark
?
This list