MCP服务器管理器

一个全面的模型上下文协议(MCP)服务器管理器,具有实时监控、边缘设备管理和Cloudflare部署功能。

  • by cmndcntrlcyber
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 cmndcntrlcyber/MCP-Nexus

使用说明

MCP Nexus

一个全面的模型上下文协议(MCP)服务器管理器,具有实时监控、边缘设备管理和Cloudflare部署功能。

特性

  • 🚀 真正的MCP服务器管理:启动、停止和监视实际的MCP服务器进程
  • 🌐 边缘设备连接:通过Cloudflare隧道进行安全的边缘设备注册
  • 🔒 安全控制:客户端证书验证和设备阻止功能
  • 📊 实时监控:基于WebSocket的实时更新和全面的日志记录
  • 🎯 现代用户界面:使用React、TypeScript和shadcn/ui组件构建
  • ☁️ Cloudflare就绪:已配置为部署到Cloudflare页面

技术栈

  • 前端:React 18、TypeScript、Vite、TanStack查询、shadcn/ui
  • 后端:Node.js、Express、WebSocket、@modelcontextprotocol/sdk
  • 数据库:PostgreSQL与Drizzle ORM
  • 部署:Cloudflare页面、GitHub操作

先决条件

  • Node.js 20或更高版本
  • PostgreSQL数据库(或使用Neon数据库)
  • Cloudflare帐户(用于部署)
  • GitHub帐户(用于存储库和CI/CD)

地方发展

  1. 克隆存储库

    git clone https://github.com/YOUR_USERNAME/mcp-server-manager.git
    cd mcp-server-manager
    
  2. 安装依赖项

    npm install
    
  3. 设置环境变量

    cp .env.example .env
    # Edit .env with your database credentials
    
  4. 推送数据库架构

    npm run db:push
    
  5. 启动开发服务器

    npm run dev
    

    该应用程序将在 http://localhost:5000

部署到Cloudflare页面

初始设置

  1. 将此存储库分叉或克隆到您的GitHub帐户

  2. 配置GitHub机密 转到存储库的“设置”>“机密和变量”>“操作”,然后添加:

    • CLOUDFLARE_API_TOKEN:具有页面权限的Cloudflare API令牌
    • CLOUDFLARE_ACCOUNT_ID:您的Cloudflare帐户ID(523d80131d8cba13f765b80d6bb9e096)
    • VITE_API_URL:您的生产API URL(可选,用于自定义域)
  3. 创建Cloudflare API令牌

    • 前往Cloudflare Dashboard>我的个人资料>API代币
    • 创建具有权限的令牌:
      • 帐户:Cloudflare页面:编辑
      • 区域:页面规则:编辑(如果使用自定义域)
  4. 推送到GitHub

    git add .
    git commit -m "Initial commit"
    git push origin main
    

    GitHub Action将自动触发并部署到Cloudflare Pages。

Cloudflare页面手动设置(替代方案)

  1. 构建项目

    npm run build
    
  2. 部署到Cloudflare页面

    npx wrangler pages deploy dist --project-name=mcp-server-manager
    

环境变量

开发(.env)

# Database
DATABASE_URL=postgresql://user:password@localhost:5432/mcp_manager
PGHOST=localhost
PGPORT=5432
PGUSER=user
PGPASSWORD=password
PGDATABASE=mcp_manager

# Optional: Session Secret
SESSION_SECRET=your-session-secret-here

生产(Cloudflare页面)

在Cloudflare页面仪表板>设置>环境变量中配置:

  • DATABASE_URL:生产数据库连接字符串
  • SESSION_SECRET:安全会话密钥
  • NODE_ENV:生产

项目结构

├── client/                 # React frontend
│   ├── src/
│   │   ├── components/    # UI components
│   │   ├── pages/        # Page components
│   │   ├── hooks/        # Custom React hooks
│   │   └── lib/          # Utilities and helpers
├── server/                # Express backend
│   ├── mcp/              # MCP server management
│   ├── routes.ts         # API routes
│   ├── storage.ts        # Storage interface
│   └── db.ts            # Database connection
├── shared/               # Shared types and schemas
│   └── schema.ts        # Drizzle ORM schemas
├── .github/
│   └── workflows/       # GitHub Actions
└── cloudflare/          # Cloudflare Workers (optional)

主要特点

设备管理

  • 使用唯一ID注册边缘设备
  • 客户端证书验证
  • 设备阻止/解除阻止功能
  • 强制删除并自动清理服务器

服务器管理

  • 实时服务器进程生成
  • 具有可配置限制的自动重启
  • 环境变量支持
  • 命令行参数配置

安全

  • 证书指纹追踪
  • 主题和到期验证
  • 设备访问控制
  • 安全的WebSocket通信

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

支持

有关问题和疑问,请使用GitHub问题页面。

致谢