Skip to main content
Glama
             _   _ _   _ _____     _______ ____  ____    _    _     
            | | | | \ | |_ _\ \   / / ____|  _ \/ ___|  / \  | |    
            | | | |  \| || | \ \ / /|  _| | |_) \___ \ / _ \ | |    
            | |_| | |\  || |  \ V / | |___|  _ < ___) / ___ \| |___ 
             \___/|_| \_|___|  \_/  |_____|_| \_\____/_/   \_\_____|
                                                          
      __  __  ____ ____    ___ _   _ ____ _____  _    _     _     _____ ____  
     |  \/  |/ ___|  _ \  |_ _| \ | / ___|_   _|/ \  | |   | |   | ____|  _ \ 
     | |\/| | |   | |_) |  | ||  \| \___ \ | | / _ \ | |   | |   |  _| | |_) |
     | |  | | |___|  __/   | || |\  |___) || |/ ___ \| |___| |___| |___|  _ < 
     |_|  |_|\____|_|     |___|_| \_|____/ |_/_/   \_\_____|_____|_____|_| \_\

License: MIT npm version MCP Compatible npm downloads

🚀 新功能:Universal MCP Installer v1.0.0 — 对 cursor-mcp-installer 进行了全面重写。现在支持 6 个 AI 客户端(Claude Desktop、Cursor、VS Code、OpenClaw、Claude Code、ChatGPT),跨平台(macOS、Windows、Linux),具备真正的 MCP 握手验证,以及一个 品牌化 Web 仪表盘。已升级至 MCP SDK 1.29.0。

🖥️ Web 仪表盘现已上线! 使用 npx universal-mcp-installer --ui 启动,即可通过可视化界面管理一切。请参阅下方的 使用仪表盘。

快速入门指南

第 1 步:安装 MCP 服务器(一条命令)

npx universal-mcp-installer install @modelcontextprotocol/server-memory

就是这样。安装程序会自动检测您安装的 AI 客户端,并为每个客户端写入正确的配置。

第 2 步:或者作为 MCP 工具添加(让您的 AI 安装其他 MCP 服务器)

将此内容添加到您的 AI 客户端的 MCP 配置中:

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"]
    }
  }
}

第 3 步:重启您的 AI 客户端

关闭并重新打开您的 AI 客户端以应用配置更改。

第 4 步:让您的 AI 安装服务器

Install the filesystem MCP server

或者

Install the web search MCP server

安装程序提供了三个您的 AI 可以调用的工具:

工具

描述

detect_system

返回操作系统、架构、可用运行时和检测到的 AI 客户端

install_mcp_server

通过包名、git URL 或本地路径将服务器安装到选定的客户端

validate_mcp_server

通过 MCP 握手验证服务器并返回结果

Related MCP server: hyper-mcp

使用仪表盘

启动可视化界面:

npx universal-mcp-installer --ui

这将在您的浏览器中打开 Web 界面 http://localhost:3939:

1. 系统面板 — 顶部区域会自动检测您的操作系统和所有可用运行时(Node、npm、uvx、Python、git),让您可以一目了然地查看机器上的可用资源。

2. AI 客户端 — 每个检测到的客户端都会显示一张卡片,包含其名称、配置文件路径以及已配置的 MCP 服务器数量。使用每张卡片上的切换开关来决定是否将其包含在下一次安装中。未安装的客户端将显示为灰色。

3. 安装 — 输入包名(npm 包、git URL 或本地路径),从下拉菜单中选择一种方法(Auto / npm / uvx / git / local),然后点击绿色的 Install 按钮。安装程序将解析包、写入配置到所有已勾选的客户端,并通过 MCP 握手进行验证。

4. 进度与结果 — 实时时间轴显示每一步(解析、写入配置、验证),并通过 WebSocket 提供实时状态更新。完成后,健康报告网格将显示每个客户端的通过/失败情况,包括工具数量、延迟以及针对任何故障的恢复提示。

支持的客户端

客户端

配置键

平台

Claude Desktop

mcpServers

macOS, Windows, Linux

Cursor

mcpServers

macOS, Windows, Linux

VS Code (Copilot)

servers

所有 (工作区级别)

OpenClaw / NemoClaw

mcp.servers

macOS, Linux

Claude Code

mcpServers

macOS, Windows, Linux

ChatGPT Desktop

HTTP Bridge

所有 (通过本地 HTTP 代理)

配置文件在哪里?

客户端

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 (工作区)

.vscode/mcp.json (工作区)

.vscode/mcp.json (工作区)

OpenClaw

~/.openclaw/openclaw.json

-

~/.openclaw/openclaw.json

Claude Code

.mcp.json (项目根目录)

.mcp.json (项目根目录)

.mcp.json (项目根目录)

功能特性

  • 自动检测已安装的 AI 客户端及其配置路径

  • 运行时检测:Node.js、npm、npx、uvx、Python 和 git

  • 多种安装方法:npm、uvx、git clone、本地路径

  • 配置安全:备份现有配置,原子写入,绝不覆盖无关的键

  • 真正的 MCP 握手验证:启动服务器,发送 initialize/initialized,调用 tools/list

  • 健康报告:结构化的每个客户端通过/失败报告,包含工具计数、延迟和恢复提示

  • 已知问题恢复:13+ 种错误代码,提供可操作的修复建议

  • 跨平台:Windows cmd /c npx 封装,Linux XDG 路径,macOS launchd 支持

  • 服务模板:生成 launchd (macOS)、systemd (Linux) 或任务计划程序 (Windows) 配置

  • Web 仪表盘:品牌化 React UI,具有实时 WebSocket 进度更新

先决条件

  • Node.js v18 或更高版本

  • 至少安装了一个受支持的 AI 客户端

可选:

  • uv/uvx 用于 Python MCP 服务器

  • git 用于从仓库安装

CLI 参考

# 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 选项

选项

描述

--clients <ids>

逗号分隔的客户端 ID:cursor, claude-desktop, vscode, openclaw, claude-code, chatgpt

--method <method>

安装方法:auto, npm, uvx, git, local

--env KEY=value

环境变量(可重复)

--args <arg>

服务器参数(可重复)

--no-validate

安装后跳过 MCP 握手验证

--port <number>

仪表盘端口(默认:3939)

API 端点(仪表盘模式)

当使用 --ui 运行时,可以使用本地 API:

端点

方法

描述

/api/system

GET

系统信息、运行时、检测到的客户端

/api/clients

GET

客户端检测详情

/api/install

POST

触发安装

/api/validate

POST

触发 MCP 握手验证

/ws

WebSocket

实时进度事件

开发

# 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

项目结构

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

更新日志

v1.0.0 (通用重写版)

  • 从 cursor-mcp-installer (v0.1.3) 全面重写为 universal-mcp-installer

  • 将 MCP SDK 从 ^1.0.1 升级到 ^1.29.0 (28 个小版本)

  • 增加了对 6 个 AI 客户端的支持(之前仅支持 Cursor)

  • 增加了真正的 MCP 握手验证(之前没有)

  • 增加了跨平台支持,具有特定平台的配置路径

  • 增加了带有 detect、install、validate 命令的 CLI

  • 增加了带有 React + Tailwind + WebSocket 的 Web 仪表盘

  • 增加了 50 多个真实测试(之前是 echo "No tests specified")

  • 增加了已知问题错误恢复数据库

  • 增加了服务模板生成(launchd、systemd、任务计划程序)

  • 用 Node 内置模块替换了 rimraf/spawn-rx

  • 修复:ESM 上下文中的 require.resolve

  • 修复:console.error/console.warn 破坏 stdio JSON-RPC 流的问题

  • 完整的 TypeScript 源码(之前仅为编译后的 JS 制品)

许可证

MIT

Available Tools

3 tools
add_to_cursor_configC

Add any MCP server to Cursor's configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments to pass to the command
commandNoCommand to execute (e.g., node, npx, python)
envNoEnvironment variables to set, delimited by =
nameYesDisplay name for the MCP server in Cursor
pathNoPath to the MCP server on disk (optional, used instead of command+args)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Add') but doesn't explain what this entails—whether it modifies configuration files, requires specific permissions, has side effects, or what happens on success/failure. For a configuration mutation tool, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently conveys the core purpose without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that mutates configuration (implied by 'Add') with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't address behavioral aspects like permissions, side effects, or error handling, nor does it help differentiate from sibling tools, leaving the agent with incomplete context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, such as explaining relationships between parameters (e.g., 'path' vs 'command+args') or usage examples. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add') and resource ('any MCP server to Cursor's configuration'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'install_local_mcp_server' or 'install_repo_mcp_server', which likely handle more specific installation scenarios.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings ('install_local_mcp_server', 'install_repo_mcp_server'), nor does it mention any prerequisites, alternatives, or exclusion criteria. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

install_local_mcp_serverC

Install an MCP server whose code is cloned locally on your computer

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoThe arguments to pass along
envNoThe environment variables to set, delimited by =
pathYesThe path to the MCP server code cloned on your computer

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is 'Install', implying a write operation, but doesn't cover permissions needed, side effects (e.g., system changes), error handling, or output format. This leaves significant gaps for a tool that likely modifies the local environment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an installation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., what 'Install' entails operationally), prerequisites, or expected outcomes, leaving the agent with incomplete context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters (path, args, env) with clear descriptions. The description adds no additional parameter semantics beyond what's in the schema, such as examples or constraints, resulting in the baseline score for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Install') and the resource ('an MCP server whose code is cloned locally on your computer'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'install_repo_mcp_server' beyond the 'cloned locally' detail, which is implied but not contrasted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'install_repo_mcp_server' or 'add_to_cursor_config'. It mentions the resource is 'cloned locally', which hints at a prerequisite, but lacks explicit when/when-not instructions or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

install_repo_mcp_serverC

Install an MCP server via npx or uvx

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoThe arguments to pass along
envNoThe environment variables to set, delimited by =
nameYesThe package name of the MCP server

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but lacks behavioral details. It states the installation action but doesn't disclose critical traits like required permissions, side effects (e.g., system changes), error handling, or output format. This leaves significant gaps for an agent to understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and methods, making it easy to parse quickly without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of installing software (a mutation operation with potential side effects), no annotations, and no output schema, the description is incomplete. It lacks details on prerequisites, success/failure outcomes, and behavioral context, making it insufficient for safe and effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (name, args, env). The description adds no additional meaning beyond what the schema provides, such as examples or usage context for parameters. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Install') and resource ('MCP server'), specifying the installation methods ('via npx or uvx'). However, it doesn't differentiate from sibling tools like 'install_local_mcp_server', which likely handles local installations versus this tool's package-based approach.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. The description mentions installation methods but doesn't clarify scenarios where 'install_repo_mcp_server' is preferred over 'install_local_mcp_server' or other siblings, leaving usage context ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.0
    • First observedadd_to_cursor_config
    • First observedinstall_local_mcp_server
    • First observedinstall_repo_mcp_server

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: adding servers to config, installing from local code, and installing from remote repositories. There is no overlap or ambiguity between these three installation-related operations.

Naming Consistency4/5

The tools follow a consistent verb_object pattern (add_to..., install_..., install_...), though 'add_to_cursor_config' uses a prepositional phrase while the others use adjective-noun modifiers. This minor deviation doesn't significantly impact readability.

Tool Count5/5

Three tools is perfectly appropriate for an MCP installer server. Each tool covers a distinct installation scenario (config addition, local install, remote install), and there are no missing or redundant tools for this focused purpose.

Completeness5/5

The toolset provides complete coverage for MCP server installation workflows: adding to configuration, installing from local sources, and installing from remote repositories. There are no obvious gaps in the installation lifecycle for this domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides detailed information about your development environment to the Cursor code editor, enabling more context-aware assistance.
    7
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    A configurable MCP server wrapper for Cursor that eliminates tool count limits when using the Model Context Protocol.
    16 npm
    10
    GPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    A production-ready development scaffold for MCP servers, optimized for Cursor IDE with built-in tools, resources, and prompts that enables quick development of Model Context Protocol servers with 5-minute startup and 10-minute development capabilities.
    26
    MIT