Skip to main content

mcp-web-setup: One CLI to Configure 18 MCP Servers Across Claude, Codex, and Gemini

· 5 min read
Victor Jimenez
Software Engineer & AI Agent Builder

Every AI coding tool has its own config format for MCP servers. Claude uses JSON, Codex uses TOML, Gemini uses a different JSON schema. Setting up the same 18 servers across all three means editing three files, remembering three formats, and hoping you didn't typo a credential. I built mcp-web-setup to do it once.

The Problem

MCP servers are powerful -- Playwright for browser testing, Lighthouse for performance, Figma for design tokens, MySQL for database access. But configuring them is tedious:

  1. Each AI tool stores MCP config in a different file and format.
  2. Credentials (Figma tokens, MySQL passwords, Atlassian keys) need to go in the right places.
  3. Multi-workspace setups (different Bitbucket orgs per project) require per-directory configs.
  4. CMS projects on Lando need pre-filled database credentials.

Nobody wants to hand-edit TOML for the third time today.

The Solution

one-command-setup.sh
npx mcp-web-setup

An interactive CLI that walks you through selecting tools, server categories, and credentials -- then writes correct configs for all selected platforms.

Included Servers (18 total)

CategoryServers
Designfigma-desktop, figma-developer
Databasemysql
Browser / Testingplaywright, chrome-devtools, browser-tools
Performance / SEOlighthouse, pagespeed
Accessibilitya11y
CSS / Stylingcss, tailwindcss
Lintingeslint
Imagesimage-optimizer
Componentsstorybook
Utilitiessequential-thinking
Project Toolsatlassian, bitbucket, gtm

Config File Targets

ToolGlobal ConfigProject Config
Claude Code~/.claude.json.mcp.json
Codex CLI~/.codex/config.toml.codex/config.toml
Gemini CLI~/.gemini/settings.json.gemini/settings.json

Tech Stack

ComponentTechnologyWhy
RuntimeNode.jsnpx distribution, no install step
Config formatsJSON + TOMLCovers all three AI tool formats
Interactive promptsinquirerClean multi-select and input UX
Merge strategySafe merge with backupNever overwrites existing non-MCP settings
LicenseMITOpen for adoption
Safe Merge with Backup Is Non-Negotiable

Existing config files are backed up before writing. Only the MCP servers section is merged -- all other settings are preserved. Overwriting someone's existing config is a trust-destroying experience. Always back up first.

CMS Templates Save Hours of Debugging

CMS templates (Lando defaults for WordPress/Drupal MySQL) eliminate a whole class of "why can't it connect" debugging sessions. If your project uses Lando, enable the CMS template step -- it pre-fills host, port, user, and database name.

~/.claude.json
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@anthropic/mcp-playwright"]
},
"lighthouse": {
"command": "npx",
"args": ["@anthropic/mcp-lighthouse"]
}
}
}

Interactive Flow

  1. Select AI tools (Claude Code, Codex CLI, Gemini CLI)
  2. Select server categories
  3. Enter credentials (Figma token, MySQL password, etc.)
  4. Configure multi-workspace Bitbucket/Atlassian accounts
  5. Add CMS templates (WordPress/Drupal via Lando)
  6. Choose output mode (write to disk, print, or dry-run)
All 18 servers with category breakdown
#ServerCategory
1figma-desktopDesign
2figma-developerDesign
3mysqlDatabase
4playwrightBrowser / Testing
5chrome-devtoolsBrowser / Testing
6browser-toolsBrowser / Testing
7lighthousePerformance / SEO
8pagespeedPerformance / SEO
9a11yAccessibility
10cssCSS / Styling
11tailwindcssCSS / Styling
12eslintLinting
13image-optimizerImages
14storybookComponents
15sequential-thinkingUtilities
16atlassianProject Tools
17bitbucketProject Tools
18gtmProject Tools

Why this matters for Drupal and WordPress

Drupal and WordPress developers using Lando get pre-filled MySQL credentials (host, port, user, database) without manual configuration -- eliminating the most common "why can't the AI tool connect to my database" debugging session. The CMS template step detects whether your project is Drupal or WordPress and applies the correct Lando defaults automatically. For agencies running both CMS platforms, this means a single npx mcp-web-setup configures Lighthouse, Playwright, MySQL, and all other MCP servers consistently across every Drupal and WordPress project in the portfolio.

What I Learned

  • Config format fragmentation across AI tools is a real friction point. Abstracting it away saves more time than it should.
  • Multi-workspace support (different Atlassian/Bitbucket orgs per directory) is a common need that most setup tools ignore.
  • Safe merge with backup is non-negotiable -- overwriting someone's existing config is a trust-destroying experience.
  • CMS templates (Lando defaults for WordPress/Drupal MySQL) eliminate a whole class of "why can't it connect" debugging sessions.

References


Looking for an Architect who doesn't just write code, but builds the AI systems that multiply your team's output? View my enterprise CMS case studies at victorjimenezdev.github.io or connect with me on LinkedIn.