MCP Config Generator🔒 100% local
Generate MCP server config. Privacy-first, no server uploads, no tracking.
Related Tools
Writes the mcpServers block of an MCP client configuration from a description of each server, one per line as name, command, args. A token shaped like KEY=value is moved into an env block instead of the argument list, and naming one of eight well-known servers with just "name, npx" fills in the canonical package, arguments and required environment variable. Your lines are used only to build text on the page, which matters when a line names an internal host or a private path.
How to use it
- Type one server per line, for example filesystem, npx.
- Press Process to get the JSON block along with the config file locations for Claude Desktop on macOS and Windows.
- Paste the block into claude_desktop_config.json and restart the client. Type list or help instead of a server to see the built-in catalogue.
Worked example
filesystem, npxbecomes{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
}
}
}A known name with no arguments triggers the canonical substitution, so the placeholder directory still has to be replaced. The real output also prints the config paths, a note that args were substituted, and a security checklist.
github, npxbecomes{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<github_personal_access_token>"
}
}
}
}Because this server needs a token, the tool adds an env block with an angle-bracket placeholder and warns that the real secret does not belong in the file.
When to use it
- Standing up a first MCP server in Claude Desktop and wanting the file layout right.
- Converting a colleague's one-line note about a server command into a config block.
- Checking which environment variable a well-known server expects before you go looking for its documentation.
What it does not do
- It is a text template, not a validator: nothing verifies that the package exists, that a path is real, or that your client version still uses this schema.
- Any argument containing an equals sign without a leading dash is read as an environment variable, so a bare token=abc inside the argument list is moved out of args.
- Server names must be letters, digits, dash or underscore. A name containing a space or a dot stops the whole run and reports the offending line.
- The generated env values are placeholders such as <github_personal_access_token>. A real secret typed here would end up in the config file, which the tool's own checklist tells you not to do.
- Only eight servers are recognised by name, and their canonical arguments include placeholder paths, so a substitution still needs editing before it will run.