Install and Configure MCP Servers for Cursor IDE
Universal MCP Installer configures MCP servers across 6 AI clients with one command, plus live handshake validation and a web dashboard.
Maintainer of this project? Claim this page to edit the listing.
1.0.0Add to Favorites
Why it matters
Streamline your development environment by easily installing and configuring Model Context Protocol (MCP) servers within the Cursor IDE. Automate the setup of various MCP servers, including those from npm packages, local directories, and Git repositories.
Outcomes
What it gets done
Install MCP servers from npm packages or Git repositories.
Configure MCP servers for seamless integration with Cursor IDE.
Add custom MCP server configurations to your development setup.
Manage and deploy MCP servers for enhanced code generation and review.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-cursor-mcp-installer | bash Capabilities
Tools your agent gets
Install MCP servers from npm packages or repositories
Install MCP servers from local directories
Add custom MCP server configurations
Overview
Cursor MCP Installer MCP Server
Universal MCP Installer (formerly cursor-mcp-installer) installs and configures MCP servers across 6 AI clients from one command, auto-detecting installed clients and runtimes, and validates each install with a real MCP handshake. Use it when managing MCP servers across more than one AI client, or when you want your AI assistant to install and validate new MCP servers for you. It only supports the 6 listed clients, and ChatGPT Desktop works via an HTTP bridge rather than native MCP.
What it does
Universal MCP Installer (this project was formerly cursor-mcp-installer, rewritten as a universal tool) installs and configures MCP servers across 6 AI clients with one command: Claude Desktop, Cursor, VS Code (Copilot), OpenClaw/NemoClaw, Claude Code, and ChatGPT Desktop (via a local HTTP bridge). It detects which clients are installed on the machine and writes the correct config format for each - some use a mcpServers key, VS Code uses servers, OpenClaw uses mcp.servers - and can validate a server with a real MCP handshake: spawning it, sending initialize/initialized, and calling tools/list. It also exposes itself AS an MCP server with three tools an AI client can call directly: detect_system (OS, architecture, runtimes, and detected clients), install_mcp_server (installs by package name, git URL, or local path), and validate_mcp_server (runs the handshake and returns the result).
When to use - and when NOT to
Use it when you're setting up or maintaining MCP servers across more than one AI client and want a single command - or a natural-language request to your AI, once the installer itself is registered as an MCP tool - instead of hand-editing each client's config format and file path. It's also useful for confirming a newly installed server actually responds correctly, since it performs a live handshake rather than just writing config and hoping. Skip it if you only use one client and are comfortable editing its config directly, or if your target client isn't one of the six supported ones - ChatGPT Desktop specifically only works through a local HTTP bridge rather than native MCP support.
Capabilities
- Auto-detects installed AI clients, their config file paths, and available runtimes (Node.js, npm, npx, uvx, Python, git).
- Installs from multiple sources - npm packages, git repository URLs, or local directories - with an explicit
--methodoverride (auto/npm/uvx/git/local) when auto-detection should be bypassed. - Config safety: backs up existing configs, writes atomically, and never clobbers unrelated keys already in a client's config file.
- Real MCP handshake validation with structured health reports (pass/fail per client, tool counts, latency, and recovery hints), backed by a database of 13+ known error codes with actionable fixes.
- A CLI (
detect,install,validate,--ui) plus a branded web dashboard (npx universal-mcp-installer --ui, served athttp://localhost:3939) with four panels - system/runtime detection, per-client toggles, a package installer, and a real-time WebSocket progress timeline - backed by its own local HTTP API (/api/system,/api/clients,/api/install,/api/validate, plus a/wsWebSocket feed) while the dashboard is running. - Service template generation for launchd (macOS), systemd (Linux), and Task Scheduler (Windows).
How to install
The fastest path installs a server directly, letting the tool detect and configure every client you have:
npx universal-mcp-installer install @modelcontextprotocol/server-memory
To let your AI install other MCP servers on your behalf, register the installer itself as an MCP tool. For Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"MCP Installer": {
"command": "npx",
"type": "stdio",
"args": ["-y", "universal-mcp-installer"]
}
}
}
Restart the client afterward, then ask it in plain language, for example "Install the filesystem MCP server." Requirements are Node.js v18 or later and at least one supported AI client already installed; uv/uvx is optional for Python-based MCP servers, and git is optional for installing directly from repositories.
Who it's for
Developers who work across multiple AI coding tools (Cursor, VS Code, Claude Desktop, Claude Code) and are tired of manually editing each one's MCP config format, and anyone who wants their AI assistant to be able to install and validate new MCP servers for them on request rather than doing it by hand. Licensed under MIT.
Source README
_ _ _ _ _____ _______ ____ ____ _ _
| | | | \ | |_ _\ \ / / ____| _ \/ ___| / \ | |
| | | | \| || | \ \ / /| _| | |_) \___ \ / _ \ | |
| |_| | |\ || | \ V / | |___| _ < ___) / ___ \| |___
\___/|_| \_|___| \_/ |_____|_| \_\____/_/ \_\_____|
__ __ ____ ____ ___ _ _ ____ _____ _ _ _ _____ ____
| \/ |/ ___| _ \ |_ _| \ | / ___|_ _|/ \ | | | | | ____| _ \
| |\/| | | | |_) | | || \| \___ \ | | / _ \ | | | | | _| | |_) |
| | | | |___| __/ | || |\ |___) || |/ ___ \| |___| |___| |___| _ <
|_| |_|\____|_| |___|_| \_|____/ |_/_/ \_\_____|_____|_____|_| \_\
๐ NEW: Universal MCP Installer v1.0.0 - Complete rewrite of
cursor-mcp-installer. Now supports 6 AI clients (Claude Desktop, Cursor, VS Code, OpenClaw, Claude Code, ChatGPT), cross-platform (macOS, Windows, Linux), real MCP handshake validation, and a branded web dashboard. Upgraded to MCP SDK 1.29.0.
๐ฅ๏ธ Web Dashboard Available! Launch with
npx universal-mcp-installer --uito manage everything from a visual interface. See Using the Dashboard below.
Quick Start Guide
Step 1: Install an MCP Server (One Command)
npx universal-mcp-installer install @modelcontextprotocol/server-memory
That's it. The installer detects which AI clients you have installed and writes the correct config for each one.
Step 2: Or Add as an MCP Tool (Let Your AI Install Other MCP Servers)
Add this to your AI client's MCP configuration:
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"MCP Installer": {
"command": "npx",
"type": "stdio",
"args": ["-y", "universal-mcp-installer"]
}
}
}
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"MCP Installer": {
"command": "npx",
"args": ["-y", "universal-mcp-installer"]
}
}
}
VS Code (.vscode/mcp.json)
{
"servers": {
"mcpInstaller": {
"type": "stdio",
"command": "npx",
"args": ["-y", "universal-mcp-installer"]
}
}
}
Step 3: Restart Your AI Client
Close and reopen your AI client to apply the configuration changes.
Step 4: Ask Your AI to Install Servers
Install the filesystem MCP server
or
Install the web search MCP server
The installer exposes three tools your AI can call:
| Tool | Description |
|---|---|
detect_system |
Returns OS, architecture, available runtimes, and detected AI clients |
install_mcp_server |
Installs a server by package name, git URL, or local path to selected clients |
validate_mcp_server |
Validates a server via MCP handshake and returns the result |
Using the Dashboard
Launch the visual interface:
npx universal-mcp-installer --ui
This opens web interface in your browser at http://localhost:3939:
1. System Panel - The top section automatically detects your OS and all available runtimes (Node, npm, uvx, Python, git) so you can see at a glance what's available on your machine.
2. AI Clients - Each detected client gets a card showing its name, config file path, and how many MCP servers are already configured. Use the toggle switch on each card to include or exclude it from the next installation. Uninstalled clients appear dimmed.
3. Install - Type a package name (npm package, git URL, or local path), pick a method from the dropdown (Auto / npm / uvx / git / local), and hit the green Install button. The installer resolves the package, writes config to every toggled client, and validates via MCP handshake.
4. Progress & Results - A real-time timeline shows each step (resolving, writing config, validating) with live status updates via WebSocket. Once complete, a health report grid shows pass/fail per client with tool counts, latency, and recovery hints for any failures.
Supported Clients
| Client | Config Key | Platforms |
|---|---|---|
| Claude Desktop | mcpServers |
macOS, Windows, Linux |
| Cursor | mcpServers |
macOS, Windows, Linux |
| VS Code (Copilot) | servers |
All (workspace-level) |
| OpenClaw / NemoClaw | mcp.servers |
macOS, Linux |
| Claude Code | mcpServers |
macOS, Windows, Linux |
| ChatGPT Desktop | HTTP Bridge | All (via local HTTP proxy) |
Where Are the Config Files?
| Client | macOS | Windows | Linux |
|---|---|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
%APPDATA%\Claude\claude_desktop_config.json |
~/.config/Claude/claude_desktop_config.json |
| Cursor | ~/.cursor/mcp.json |
%USERPROFILE%\.cursor\mcp.json |
~/.cursor/mcp.json |
| VS Code | .vscode/mcp.json (workspace) |
.vscode/mcp.json (workspace) |
.vscode/mcp.json (workspace) |
| OpenClaw | ~/.openclaw/openclaw.json |
- | ~/.openclaw/openclaw.json |
| Claude Code | .mcp.json (project root) |
.mcp.json (project root) |
.mcp.json (project root) |
Features
- Auto-detection of installed AI clients and their config paths
- Runtime detection for Node.js, npm, npx, uvx, Python, and git
- Multiple install methods: npm, uvx, git clone, local path
- Config safety: backs up existing configs, atomic writes, never clobbers unrelated keys
- Real MCP handshake validation: spawns the server, sends
initialize/initialized, callstools/list - Health reports: structured pass/fail per client with tool count, latency, and recovery hints
- Known-issue recovery: 13+ error codes with actionable fix suggestions
- Cross-platform: Windows
cmd /c npxwrapping, Linux XDG paths, macOS launchd support - Service templates: generate launchd (macOS), systemd (Linux), or Task Scheduler (Windows) configs
- Web dashboard: branded React UI with real-time WebSocket progress updates
Prerequisites
- Node.js v18 or later
- At least one supported AI client installed
Optional:
CLI Reference
# Detect your system, runtimes, and installed AI clients
npx universal-mcp-installer detect
# Install an MCP server to all detected clients
npx universal-mcp-installer install @modelcontextprotocol/server-memory
# Install to specific clients only
npx universal-mcp-installer install my-server --clients cursor,claude-desktop
# Install with environment variables
npx universal-mcp-installer install my-server --env API_KEY=sk-123
# Install from a git repository
npx universal-mcp-installer install https://github.com/user/mcp-server.git
# Install from a local directory
npx universal-mcp-installer install ./my-local-server --method local
# Validate an MCP server by running the handshake
npx universal-mcp-installer validate npx -y @modelcontextprotocol/server-memory
# Launch the web dashboard
npx universal-mcp-installer --ui
CLI Options
| Option | Description |
|---|---|
--clients <ids> |
Comma-separated client IDs: cursor, claude-desktop, vscode, openclaw, claude-code, chatgpt |
--method <method> |
Install method: auto, npm, uvx, git, local |
--env KEY=value |
Environment variable (repeatable) |
--args <arg> |
Server argument (repeatable) |
--no-validate |
Skip MCP handshake validation after install |
--port <number> |
Dashboard port (default: 3939) |
API Endpoints (Dashboard Mode)
When running with --ui, a local API is available:
| Endpoint | Method | Description |
|---|---|---|
/api/system |
GET | System info, runtimes, detected clients |
/api/clients |
GET | Client detection details |
/api/install |
POST | Trigger installation |
/api/validate |
POST | Trigger MCP handshake validation |
/ws |
WebSocket | Real-time progress events |
Development
# Clone and install
git clone https://github.com/matthewdcage/cursor-mcp-installer.git
cd cursor-mcp-installer
npm install
# Build the server
npm run build
# Build the dashboard
cd dashboard && npm install && npm run build && cd ..
# Run tests (real MCP handshake, no mocks)
npm test
# Watch mode
npm run dev
Project Structure
src/
index.ts MCP server entry (stdio)
cli.ts CLI entry (npx)
detect/ OS, runtime, client detection
clients/ Config writers per AI client
install/ Package resolution (npm, uvx, git, local)
validate/ MCP handshake + health reports
api/ HTTP/WebSocket API for dashboard
utils/ Config I/O, logging, errors, platform utils
dashboard/ React + Vite + Tailwind web UI
tests/ Unit, integration, E2E tests
docs/ Localized official MCP docs
FAQ
Common questions
Discussion
Questions & comments ยท 0
Sign In Sign in to leave a comment.