MCP Shark桌面应用

MCP Shark App是一个跨平台的Electron桌面应用程序,用于聚合和监控多个MCP服务器,提供统一的界面和管理功能。

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

使用说明

MCP鲨鱼应用程序

⚠️ ALPHA版本-仍在测试中
这是MCP Shark应用程序的alpha版本。该软件仍在积极开发和测试中。功能可能会发生变化,可能会出现错误或功能不完整。使用风险自负。

MCP Shark的电子桌面应用程序-将多个模型上下文协议(MCP)服务器聚合到一个统一的界面中

MCP Shark App是一个跨平台的Electron应用程序,为MCP Shark提供桌面界面。它使用MCP-Shark作为npm依赖项,为聚合和监控多个MCP服务器提供无缝体验。

🎯 特性

  • 🖥️ 桌面应用程序:适用于Windows、macOS和Linux的原生Electron应用程序
  • 📦 NPM依赖性:直接从GitHub使用mcp-shark作为npm包
  • 🔧 轻松设置:简单 npm install 自动设置所有内容
  • 🔄 进程管理:自动管理MCP服务器和UI服务器进程
  • 🌐 集成UI:MCP Shark监控界面的内置浏览器窗口
  • 🔨 自动构建:如果需要,在首次运行时自动构建UI
  • 🔌 港口管理:自动处理端口冲突并清理进程
  • 🧹 清洁出口:在应用程序退出时全面清理所有子进程

📋 需求

面向开发者

  • Node.js 18+(建筑和开发所需)
  • npm (附带Node.js)
  • Git (用于从GitHub安装mcp-shark)

面向最终用户(打包应用程序)

  • 不需要Node.js! 打包的应用程序包含所有内容,并使用Electron捆绑的Node.js运行时。

看 要求.md 了解详细信息。

🚀 快速开始

先决条件

  • Node.js 18+和npm(仅用于开发)
  • Git(用于克隆)

安装

  1. 克隆或导航到此目录:
cd mcp-shark-app
  1. 安装依赖项:
npm install

这会自动:

  • 安装所有依赖项
  • 安装mcp-shark及其依赖项
  • 为Electron重建本机模块 (通过 rebuild:native)
  • 构建用户界面
  1. 运行应用程序:
npm start

重建本机模块

如果你遇到 NODE_MODULE_VERSION 错误或更新Electron/mcp shark:

npm run rebuild:native

看 NATIVE-MODULES.md 了解详情。

该应用程序将:

  • 安装mcp-shark及其所有依赖项(通过npm)
  • 如果尚未构建,则自动构建UI
  • 在端口9853上启动UI服务器
  • 使用MCP Shark界面打开电子窗口

🛠️ 发展

以开发模式运行

npm run dev

这将在启用开发人员工具的情况下运行应用程序。Electron DevTools将自动打开进行调试。

生产大楼

为您当前的平台构建:

npm run build

为特定平台构建:

# macOS
npm run build:mac

# Windows
npm run build:win

# Linux
npm run build:linux

一次为所有平台构建:

npm run build:all

这将为macOS、Windows和Linux创建安装程序 dist/ 目录。

🍎 在本地构建macOS应用程序

要在Mac上构建macOS应用程序:

  1. 先决条件:

    • macOS(必填-您只能在macOS上构建macOS应用程序)
    • Node.js 18+和npm
    • Git(用于GitHub依赖项)
  2. 安装依赖关系:

    npm install
    

    这会自动安装所有依赖项,为Electron重建本机模块,并构建UI。

  3. 构建macOS应用程序:

    npm run build:mac
    
  4. 输出文件: 构建后,您将在 dist/ 目录:

    • dist/mac/MCP Shark.app -应用程序包(双击运行)
    • dist/mac/MCP Shark-1.0.0-mac.zip -ZIP存档
    • dist/MCP Shark-1.0.0.dmg -DMG安装程序
  5. 运行内置应用程序:

    # Option 1: From terminal
    open "dist/mac/MCP Shark.app"
    
    # Option 2: Double-click in Finder
    # Navigate to dist/mac/ and double-click MCP Shark.app
    
  6. 首轮(守门员): 如果打开时看到“MCP Shark已损坏”:

    • 右击 该应用→ 选择 “打开” → Click “打开” 在对话框中
    • 或运行: xattr -cr "dist/mac/MCP Shark.app" 在终端
    • 看 MACOS-GATEKEEPER-FIX.md 详情

快速构建命令:

# Full build from scratch
npm install && npm run build:mac && open "dist/mac/MCP Shark.app"

有关更详细的构建说明和故障排除,请参阅 构建.md.

📁 项目结构

mcp-shark-app/
├── src/
│   ├── main/              # Electron main process
│   │   ├── main.js        # Main entry point and window management
│   │   ├── server-manager.js   # Manages MCP server process
│   │   └── ui-manager.js       # Manages UI server process and builds
│   └── preload/           # Preload scripts
│       └── preload.js     # Exposes safe IPC APIs to renderer
├── assets/                # App assets (icons, etc.)
├── package.json           # Dependencies and build config
├── SETUP.md               # Detailed setup instructions
└── README.md              # This file

🔧 运作原理

  1. 安装:

    • npm install 从GitHub下载mcp-shark并将其作为依赖项安装
    • 自动安装后脚本:
      • 安装Electron本机依赖项
      • 跑 npm run install:all 在mcpshark中安装子依赖项
      • 构建用户界面(npm run build 在mcpshark/ui中)
  2. 发射:

    • 应用程序定位mcp鲨鱼 node_modules/mcp-shark
    • 检查UI是否已构建(查找 dist/index.html)
    • 如果没有构建,则使用Vite自动构建UI
    • 检查端口冲突,并在需要时自动释放端口
    • 在端口9853上启动UI服务器
    • 打开电子窗口,指向 http://localhost:9853
  3. 进程管理:

    • Electron主进程将MCP服务器和UI服务器作为子进程进行管理
    • 自动检测并终止子进程(包括npm和node进程)
    • 在应用程序退出时清理端口9851和9853上的进程
    • 为渲染器提供IPC API以控制服务器
    • 处理SIGINT、SIGTERM和窗口关闭事件以进行适当的清理

📝 配置

该应用程序直接使用mcp-shark node_modules/mcp-shark.

更新mcp-shark

要更新到较新版本,请执行以下操作:

npm update mcp-shark
npm run install:mcp-shark
npm run build:mcp-shark-ui

或者重新安装所有内容:

rm -rf node_modules package-lock.json
npm install

端口配置

该应用程序使用固定端口:

  • UI服务器:9853端口
  • MCP服务器:9851端口

这些端口是自动管理的——如果正在使用,应用程序将释放它们。要更改端口,请修改以下中的端口常数:

  • src/main/ui-manager.js (UI服务器端口)
  • src/main/server-manager.js (MCP服务器端口)

🔌 API

预加载脚本向渲染器公开以下API:

// Start/stop MCP server
await window.electronAPI.startMCPServer(configPath);
await window.electronAPI.stopMCPServer();
await window.electronAPI.isMCPServerRunning();

// Check UI server status
await window.electronAPI.isUIServerRunning();

// Get version info
await window.electronAPI.getAppVersion();
await window.electronAPI.getMCPSharkVersion();

🐛 故障排除

应用程序无法启动

  • 检查是否安装了Node.js 18+: node --version
  • 确保你有互联网连接(用于npm安装)
  • 检查电子控制台或终端输出是否有错误
  • 验证是否安装了mcp-shark: ls node_modules/mcp-shark

软件包安装失败

  • 验证互联网连接
  • 检查您是否可以访问GitHub(用于基于git的npm安装)
  • 尝试删除 node_modules 和 package-lock.json,然后运行 npm install 再次
  • 如果mcp-shark安装失败,请手动尝试: cd node_modules/mcp-shark && npm run install:all

UI构建失败

  • 检查是否安装了所有依赖项: cd node_modules/mcp-shark/ui && npm list
  • 尝试手动构建: cd node_modules/mcp-shark/ui && npm run build
  • 检查控制台输出中的Vite错误
  • 确保Node.js版本为18或更高

端口冲突

  • 该应用程序会自动检测并释放端口9851和9853
  • 如果问题仍然存在,请手动终止进程: lsof -ti:9853 | xargs kill -9
  • 检查其他情况: ps aux | grep -E "(npm|node.*server)"

退出时未清理进程

  • 应用程序应自动清理所有子进程
  • 如果进程仍然存在,它们将在下次应用程序启动时被杀死(端口清理)
  • 手动清理: lsof -ti:9853,9851 | xargs kill -9

📦 分布

该应用程序可以使用电子构建器打包分发:

# Build for current platform
npm run build

# Build for specific platforms
npm run build:mac    # macOS (DMG and ZIP)
npm run build:win    # Windows (NSIS installer and portable)
npm run build:linux  # Linux (AppImage and DEB)

# Build for ALL platforms at once
npm run build:all    # Creates installers for macOS, Windows, and Linux

建造前:确保为Electron重建本机模块:

# If you just ran npm install, rebuild:native already ran automatically
# But if you're unsure or had issues, run:
npm run rebuild:native
npm run build:mac

内置应用程序将在 dist/ 目录。

备注:

  • 打包的应用程序包括mcp-shark及其所有依赖项,因此最终的包大小会更大
  • UI是在打包过程中预先构建的
  • 必须为Electron重建本机模块 (自动完成 postinstall,或运行 npm run rebuild:native 手动)
  • 为所有平台构建需要每个平台的构建工具(您只能在Mac上构建macOS,在Windows上构建Windows等)
  • 对于跨平台构建,可以考虑使用GitHub Actions等CI/CD服务

⚠️ macOS网守警告

对macOS用户来说很重要: 下载应用程序时,macOS可能会显示“MCP Shark已损坏,无法打开”。这是 不 因为应用程序已损坏——是macOS Gatekeeper阻止了未签名的应用程序。

快速修复:

  1. 右击 在应用程序上→ 选择 “打开” → Click “打开” 在安全对话框中
  2. 或运行: xattr -cr "/path/to/MCP Shark.app" 在终端
  3. 或者使用辅助脚本: ./scripts/fix-gatekeeper.sh "/path/to/MCP Shark.app"

有关详细说明,请参阅: MACOS-GATEKEEPER-FIX.md

🔗 相关项目

📝 许可证

国际协调委员会

🤝 贡献

欢迎投稿!请确保您的代码遵循项目的样式指南。


内置于❤️ 使用Electron和MCP Shark