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(用于克隆)
安装
- 克隆或导航到此目录:
cd mcp-shark-app- 安装依赖项:
npm install这会自动:
- 安装所有依赖项
- 安装mcp-shark及其依赖项
- 为Electron重建本机模块 (通过
rebuild:native) - 构建用户界面
- 运行应用程序:
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应用程序:
- 先决条件:
- macOS(必填-您只能在macOS上构建macOS应用程序) - Node.js 18+和npm - Git(用于GitHub依赖项)
- 安装依赖关系:
npm install这会自动安装所有依赖项,为Electron重建本机模块,并构建UI。
- 构建macOS应用程序:
npm run build:mac- 输出文件:
构建后,您将在 dist/ 目录:
- dist/mac/MCP Shark.app -应用程序包(双击运行) - dist/mac/MCP Shark-1.0.0-mac.zip -ZIP存档 - dist/MCP Shark-1.0.0.dmg -DMG安装程序
- 运行内置应用程序:
# 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- 首轮(守门员):
如果打开时看到“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🔧 运作原理
- 安装:
- npm install 从GitHub下载mcp-shark并将其作为依赖项安装 - 自动安装后脚本: - 安装Electron本机依赖项 - 跑 npm run install:all 在mcpshark中安装子依赖项 - 构建用户界面(npm run build 在mcpshark/ui中)
- 发射:
- 应用程序定位mcp鲨鱼 node_modules/mcp-shark - 检查UI是否已构建(查找 dist/index.html) - 如果没有构建,则使用Vite自动构建UI - 检查端口冲突,并在需要时自动释放端口 - 在端口9853上启动UI服务器 - 打开电子窗口,指向 http://localhost:9853
- 进程管理:
- 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阻止了未签名的应用程序。
快速修复:
- 右击 在应用程序上→ 选择 “打开” → Click “打开” 在安全对话框中
- 或运行:
xattr -cr "/path/to/MCP Shark.app"在终端 - 或者使用辅助脚本:
./scripts/fix-gatekeeper.sh "/path/to/MCP Shark.app"
有关详细说明,请参阅: MACOS-GATEKEEPER-FIX.md
🔗 相关项目
📝 许可证
国际协调委员会
🤝 贡献
欢迎投稿!请确保您的代码遵循项目的样式指南。
______________________________________________________________________
内置于❤️ 使用Electron和MCP Shark
