MCP服务器管理工具

一款基于Electron的桌面应用程序,用于管理Model Context Protocol (MCP)服务器和配置Claude Desktop。

  • by ivan-loh
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ivan-loh/mcp-installer

使用说明

MCP安装程序

一种基于Electron的桌面应用程序,用于管理模型上下文协议(MCP)服务器和配置Claude desktop。

特性

  • 用于管理MCP服务器的可视化界面
  • 易于安装和配置流行的MCP服务器
  • 直接编辑Claude Desktop配置文件
  • 支持自定义MCP服务器配置
  • 跨平台支持(Windows、macOS、Linux)

先决条件

  • Node.js(v16或更高版本)
  • npm或纱线
  • Claude Desktop已安装在您的系统上

安装

  1. 克隆存储库:
git clone <repository-url>
cd mcp-installer
  1. 安装依赖项:
npm install

用法

发展模式

在启用了DevTools的开发模式下运行应用程序:

npm run dev

生产模式

在生产模式下运行应用程序:

npm start

建筑

为您的平台构建应用程序:

# Build for all platforms
npm run build

# Build for specific platform
npm run build:win    # Windows
npm run build:mac    # macOS
npm run build:linux  # Linux

构建的应用程序将位于 dist 目录。

应用结构

mcp-installer/
├── src/
│   ├── main.js              # Electron main process
│   ├── preload.js           # Preload script for secure IPC
│   └── renderer/
│       ├── index.html       # Main UI
│       ├── styles.css       # Styles
│       └── renderer.js      # Renderer process logic
├── assets/
│   └── icon.png             # Application icon
├── package.json
└── README.md

配置

该应用程序管理位于以下位置的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

流行的MCP服务器

该应用程序预先配置了流行的MCP服务器:

文件系统服务器

  • 包裹: @modelcontextprotocol/server-filesystem
  • 描述:提供读取和写入文件的文件系统访问权限
  • 用法:配置允许的目录路径

GitHub服务器

  • 包裹: @modelcontextprotocol/server-github
  • 描述:GitHub集成用于存储库管理
  • 用法:在环境变量中需要GitHub令牌

Git服务器

  • 包裹: @modelcontextprotocol/server-git
  • 描述:Git操作支持
  • 用法:适用于本地git存储库

PostgreSQL服务器

  • 包裹: @modelcontextprotocol/server-postgres
  • 描述:PostgreSQL数据库访问
  • 用法:需要数据库连接字符串

SQLite服务器

  • 包裹: @modelcontextprotocol/server-sqlite
  • 描述:SQLite数据库访问
  • 用法:需要SQLite数据库文件的路径

添加自定义服务器

  1. 导航到“MCP服务器”选项卡
  2. 滚动到“添加自定义MCP服务器”部分
  3. 填写服务器详细信息:
    • 服务器名称:服务器的唯一标识符
    • 命令:运行命令(例如。, node, python, npx)
    • 参数:逗号分隔的参数列表
    • 环境变量:带有环境变量的JSON对象
  4. 点击“添加服务器”

自定义服务器配置示例:

{
  "name": "my-custom-server",
  "command": "node",
  "args": ["/path/to/server.js", "--port", "3000"],
  "env": {
    "API_KEY": "your-api-key",
    "DEBUG": "true"
  }
}

配置文件格式

Claude Desktop配置文件使用以下格式:

{
  "mcpServers": {
    "server-name": {
      "command": "command-to-run",
      "args": ["arg1", "arg2"],
      "env": {
        "ENV_VAR": "value"
      }
    }
  }
}

故障排除

配置未生效

更改MCP服务器配置后,您需要重新启动Claude Desktop:

  1. 导航到“配置”选项卡
  2. 点击“重启克劳德桌面”按钮
  3. 或者手动退出并重新启动Claude Desktop

权限错误

如果在访问配置文件时遇到权限错误:

  • macOS/Linux:确保应用程序具有必要的文件系统权限
  • 视窗:如果需要,以管理员身份运行应用程序

MCP服务器不工作

  1. 验证配置文件中的服务器配置是否正确
  2. 检查是否设置了所有必需的环境变量
  3. 确保安装了所有必需的软件包
  4. 检查Claude Desktop日志中的错误消息

发展

项目结构

  • src/main.js:主电子流程,处理IPC和系统操作
  • src/preload.js:主进程和渲染器进程之间的安全桥梁
  • src/renderer/:前端UI代码
    • index.html:HTML结构
    • styles.css:造型
    • renderer.js:UI逻辑和交互

IPC通信

该应用程序使用Electron的IPC进行安全通信:

可用API (通过暴露 window.electronAPI):

  • readConfig():阅读克劳德桌面配置
  • writeConfig(config):编写Claude桌面配置
  • getConfigPath():获取配置文件路径
  • installNpmPackage(packageName):全局安装NPM包
  • checkPackageInstalled(packageName):检查软件包是否已安装
  • getInstalledPackages():获取已安装软件包的列表
  • selectDirectory():打开目录选择对话框
  • restartClaude():重新启动Claude Desktop应用程序

安全

  • 启用了上下文隔离
  • 渲染器进程中已禁用节点集成
  • 所有Node.js API都通过安全的预加载脚本公开
  • IPC通信使用 contextBridge 出于安全考虑

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交拉取请求。

支持

有关问题和疑问,请在GitHub存储库上打开问题。

致谢

  • 用Electron构建
  • 专为与Claude Desktop配合使用而设计
  • 支持模型上下文协议(MCP)标准