A comprehensive Model Context Protocol (MCP) Server Manager with real-time monitoring, edge device management, and Cloudflare deployment capabilities.
- 🚀 Real MCP Server Management: Start, stop, and monitor actual MCP server processes
- 🌐 Edge Device Connectivity: Secure edge device registration via Cloudflare Tunnels
- 🔒 Security Controls: Client certificate validation and device blocking capabilities
- 📊 Real-time Monitoring: WebSocket-based live updates and comprehensive logging
- 🎯 Modern UI: Built with React, TypeScript, and shadcn/ui components
- ☁️ Cloudflare Ready: Configured for deployment to Cloudflare Pages
- Frontend: React 18, TypeScript, Vite, TanStack Query, shadcn/ui
- Backend: Node.js, Express, WebSocket, @modelcontextprotocol/sdk
- Database: PostgreSQL with Drizzle ORM
- Deployment: Cloudflare Pages, GitHub Actions
- Node.js 20 or higher
- PostgreSQL database (or use Neon Database)
- Cloudflare account (for deployment)
- GitHub account (for repository and CI/CD)
-
Clone the repository
git clone https://github.com/YOUR_USERNAME/mcp-server-manager.git cd mcp-server-manager -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env # Edit .env with your database credentials -
Push database schema
npm run db:push
-
Start development server
npm run dev
The application will be available at
http://localhost:5000
-
Fork or clone this repository to your GitHub account
-
Configure GitHub Secrets Go to your repository's Settings > Secrets and variables > Actions, and add:
CLOUDFLARE_API_TOKEN: Your Cloudflare API token with Pages permissionsCLOUDFLARE_ACCOUNT_ID: Your Cloudflare account ID (523d80131d8cba13f765b80d6bb9e096)VITE_API_URL: Your production API URL (optional, for custom domain)
-
Create Cloudflare API Token
- Go to Cloudflare Dashboard > My Profile > API Tokens
- Create token with permissions:
- Account: Cloudflare Pages:Edit
- Zone: Page Rules:Edit (if using custom domain)
-
Push to GitHub
git add . git commit -m "Initial commit" git push origin main
The GitHub Action will automatically trigger and deploy to Cloudflare Pages.
-
Build the project
npm run build
-
Deploy to Cloudflare Pages
npx wrangler pages deploy dist --project-name=mcp-server-manager
# 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-hereConfigure in Cloudflare Pages Dashboard > Settings > Environment Variables:
DATABASE_URL: Production database connection stringSESSION_SECRET: Secure session secretNODE_ENV: production
├── 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)
- Register edge devices with unique IDs
- Client certificate validation
- Device blocking/unblocking capabilities
- Force deletion with automatic server cleanup
- Real-time server process spawning
- Auto-restart with configurable limits
- Environment variable support
- Command-line argument configuration
- Certificate fingerprint tracking
- Subject and expiry validation
- Device access control
- Secure WebSocket communication
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE file for details
For issues and questions, please use the GitHub Issues page.
- Built with Model Context Protocol SDK
- UI components from shadcn/ui
- Deployed on Cloudflare Pages