Skip to content

MCP config generator ​

In short: The MCP config generator writes one MCP server in every client's format. Describe the command that starts it, or its address, once, and copy the claude mcp add line, a project .mcp.json, Codex's config.toml block, Cursor's and VS Code's mcp.json and Claude Desktop's entry. Secrets can stay in environment variables, and nothing leaves your browser.

How the client lists it, such as android or github.

How the client reaches it

The program, such as npx, uvx, docker, node or a full path.

Shell for the one-line commands
Claude Code: Run once in a terminal
claude mcp add --env ANDROID_SERIAL=emulator-5554 --transport stdio android -- npx -y @example/android-mcp-server
  • Local scope (the default): only you, only in the current project.
Claude Code: .mcp.json in the project’s root folder
{
  "mcpServers": {
    "android": {
      "command": "npx",
      "args": [
        "-y",
        "@example/android-mcp-server"
      ],
      "env": {
        "ANDROID_SERIAL": "emulator-5554"
      }
    }
  }
}
  • Claude Code asks before it uses a project’s .mcp.json servers for the first time.
Codex: ~/.codex/config.toml
[mcp_servers.android]
command = 'npx'
args = ['-y', '@example/android-mcp-server']

[mcp_servers.android.env]
ANDROID_SERIAL = 'emulator-5554'
  • The Codex CLI, its IDE extension and the ChatGPT desktop app share this file; a trusted project can also have its own .codex/config.toml.
Codex: Or run once in a terminal
codex mcp add android --env ANDROID_SERIAL=emulator-5554 -- npx -y @example/android-mcp-server
Cursor: .cursor/mcp.json in the project (or ~/.cursor/mcp.json for every project)
{
  "mcpServers": {
    "android": {
      "command": "npx",
      "args": [
        "-y",
        "@example/android-mcp-server"
      ],
      "env": {
        "ANDROID_SERIAL": "emulator-5554"
      }
    }
  }
}
VS Code: .vscode/mcp.json in the workspace
{
  "servers": {
    "android": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@example/android-mcp-server"
      ],
      "env": {
        "ANDROID_SERIAL": "emulator-5554"
      }
    }
  }
}
Claude Desktop: claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\)
{
  "mcpServers": {
    "android": {
      "command": "npx",
      "args": [
        "-y",
        "@example/android-mcp-server"
      ],
      "env": {
        "ANDROID_SERIAL": "emulator-5554"
      }
    }
  }
}
  • Restart Claude Desktop after saving the file.
Other MCP clients: An mcpServers entry (Windsurf, Cline and most other clients)
{
  "mcpServers": {
    "android": {
      "command": "npx",
      "args": [
        "-y",
        "@example/android-mcp-server"
      ],
      "env": {
        "ANDROID_SERIAL": "emulator-5554"
      }
    }
  }
}
  • Most clients read this shape; check your client’s documentation for the file’s place and any variable syntax.
  • If a file already lists other servers, add this entry inside its mcpServers (or servers) object instead of replacing the file.
  • On Windows, npx is a batch file (npx.cmd); if a client cannot start the server, tick "Start it through cmd /c".

Nothing you type here leaves your browser. The tool writes configuration; your AI client starts the server.

Giving an AI agent Android phones? BenchFleet's own MCP server, on the Pro and Team plans, gives Claude Code, Codex or any MCP client only the phones and the access you choose (Look only, or Look and operate). A person approves sensitive steps and every call goes into the audit log. Under Settings → AI clients the app writes this configuration for you, with the token in a file of its own. See the Android MCP server and connecting an AI client.

Free for up to 3 phones, with no account. Pro adds workflows, schedules and AI for up to 25 phones from £12 a month + VAT.

How to use it ​

  1. Name the server the way you want the client to list it, such as android or github.
  2. Choose how the client reaches it. A server you run with a command, such as npx -y some-mcp-server or uvx some-server, is a stdio server: put the program under Command and each argument on its own line. A server that already runs at an address is an HTTP server: give its address and, if it needs one, the name of the environment variable that holds its token.
  3. Keep secrets out of files. Tick Refer to environment variables and the files name your variables instead of holding their values: ${NAME} for Claude Code, ${env:NAME} for Cursor, env_vars for Codex and a prompt for VS Code.
  4. Copy the output for your client and run the command once, or paste the block into the file named above it. If the file already lists other servers, add the new entry inside its mcpServers (VS Code: servers) object.

What each client expects ​

ClientWhereShape
Claude Codeclaude mcp add once, or .mcp.json in the projectmcpServers, with "type": "http" for remote servers; ${VAR} and ${VAR:-default} read the environment
Codex~/.codex/config.toml, or codex mcp add[mcp_servers.NAME] with command and args, or url with bearer_token_env_var
Cursor.cursor/mcp.json, or ~/.cursor/mcp.jsonmcpServers; ${env:VAR} reads the environment
VS Code.vscode/mcp.jsonservers, each with "type": "stdio" or "http"; inputs prompt for secrets
Claude Desktopclaude_desktop_config.jsonmcpServers with local servers only

The formats come from each client's documentation, checked on 2 November 2026: Claude Code, Codex, Cursor and VS Code. Clients change their options from time to time; their documentation decides.

Examples ​

A stdio server with one setting, for Claude Code, all your projects:

bash
claude mcp add --scope user --env ANDROID_SERIAL=emulator-5554 --transport stdio android -- npx -y @example/android-mcp-server

--env must not come straight before the server's name, which is why --transport stdio sits between them. Everything after -- is the server's own command line.

The same server for Codex, with its setting read from your environment rather than written into the file:

toml
[mcp_servers.android]
command = 'npx'
args = ['-y', '@example/android-mcp-server']
env_vars = ['ANDROID_SERIAL']

A remote server with a token kept in a variable, for Cursor:

json
{
  "mcpServers": {
    "tracker": {
      "url": "https://mcp.example.com/mcp",
      "headers": { "Authorization": "Bearer ${env:TRACKER_TOKEN}" }
    }
  }
}

Before you connect a server ​

  • A server can do what its tools allow. Read what tools a server offers before you add it, and prefer servers that let you limit them. An MCP server that drives a phone or a computer acts with your accounts.
  • Plain http is readable on the network. Use https:// for anything that is not on your own computer.
  • The command runs on your computer. npx -y downloads and runs the latest version of a package each time; pin a version (package@1.2.3) when you want the same code every time.

Choosing a server for Android phones? Android MCP servers compared lists the options, and letting an AI agent control an Android phone walks through the setup and its limits.

Questions ​

Is the MCP config generator free?

Yes, with no sign-up and no limits. It is a page on this site that writes configuration; your AI client starts the server, not this page.

Does it send my tokens or environment values anywhere?

No. It runs in your browser and sends and stores nothing. Still, a token written into a config file sits there in plain text, so tick Refer to environment variables and keep the value in your environment instead.

What is the difference between stdio and HTTP servers?

A stdio server is a program the client starts on your computer, such as npx some-mcp-server, and talks to over its input and output. An HTTP server already runs somewhere and the client connects to its address, often with a bearer token.

Which Claude Code scope should I choose?

Local, the default, keeps the server to you in the current project. Project writes it into the project's .mcp.json for everyone who clones it. User makes it available to you in every project.

Why does Claude Desktop have no HTTP output?

Its configuration file lists local servers that it starts itself. For a remote server, see Claude Desktop's own documentation on connecting to one.

Why might npx fail to start on Windows?

On Windows, npx is a batch file, npx.cmd. Some clients start programs without a command shell, so they cannot run it directly; Start it through cmd /c writes cmd /c npx … instead.

Start with the Free plan

Free for up to 3 phones, with no account. Pro adds workflows, schedules and AI for up to 25 phones from £12 a month + VAT.