A comprehensive web application for discovering, configuring, and managing Model Context Protocol (MCP) servers. MCP Wizard simplifies the process of finding MCP-compatible tools and generating secure configurations for various AI platforms.
- π Intelligent Discovery: Automatically search and discover MCP servers from GitHub repositories and npm packages
- π§ββοΈ Configuration Wizard: Step-by-step wizard to generate secure MCP configurations
- π Secure Credential Management: Store sensitive API keys and tokens securely using system keychain
- π Multi-Format Export: Export configurations for Claude Desktop, VS Code, and custom clients
- π Version History: Track configuration changes with full rollback capabilities
- π― Quality Assurance: Verify MCP server compatibility and configuration validity
- β‘ Performance Optimized: Redis caching for fast discovery and search results
- Node.js 18+ and npm 9+
- Docker and Docker Compose (recommended)
- PostgreSQL and Redis (via Docker)
# Clone the repository
git clone <repository-url>
cd mcp-wizard
# Start all services
./scripts/start-dev.sh
# Access the application
# Frontend: http://localhost:5173
# Backend API: http://localhost:3001
# Database GUI: npx prisma studio --port 5555# Install dependencies
npm install
# Set up environment variables
cp backend/.env.example backend/.env
# Edit backend/.env with your configuration
# Start PostgreSQL and Redis
docker-compose up -d postgres redis
# Run database migrations
cd backend && npx prisma migrate dev
# Start development servers
./scripts/start-dev.sh- Frontend: React 18 + TypeScript + Tailwind CSS + Vite
- Backend: Node.js 18 + Express + TypeScript
- Database: PostgreSQL + Prisma ORM
- Cache: Redis for performance optimization
- Security: JWT authentication + node-keytar for credential storage
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Web Frontend β β Backend API β β PostgreSQL β
β React + TS βββββΊβ Express + TS βββββΊβ Database β
β β β β β β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Discovery β β GitHub API β β Redis Cache β
β Service βββββΊβ npm Registry βββββΊβ β
β β β β β β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
POST /api/research/discover
Content-Type: application/json
{
"query": "MCP server",
"limit": 50
}Returns a job ID for asynchronous processing.
GET /api/research/status/{jobId}Returns the discovery results when complete.
POST /api/research/analyze
Content-Type: application/json
{
"url": "https://github.com/org/repo"
}Returns detailed analysis of a specific MCP server.
GET /api/research/statusReturns availability status of GitHub and npm APIs.
GET /api/configsPOST /api/configsPOST /api/configs/{id}/exportmcp-wizard/
βββ backend/ # Node.js/Express API server
β βββ src/
β β βββ app.ts # Express application setup
β β βββ server.ts # Server entry point
β β βββ config/ # Configuration modules
β β βββ db/ # Database setup (Prisma)
β β βββ middleware/ # Express middleware
β β βββ routes/ # API route handlers
β β βββ services/ # Business logic
β β βββ utils/ # Utility functions
β βββ prisma/ # Database schema
βββ frontend/ # React application
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ store/ # Redux state management
β β βββ services/ # API client services
β β βββ hooks/ # Custom React hooks
β β βββ types/ # TypeScript types
β βββ public/ # Static assets
βββ shared/ # Shared types and utilities
βββ docs/ # Documentation
βββ scripts/ # Development scripts
# Development
./scripts/start-dev.sh # Start all services
./scripts/stop-dev.sh # Stop all services
# Backend (from backend/ directory)
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run test # Run tests
# Frontend (from frontend/ directory)
npm run dev # Start Vite dev server
npm run build # Build for production
npm run preview # Preview production build
# Database
npx prisma studio # Open database GUI
npx prisma migrate dev # Run migrationsCreate .env files in both backend/ and frontend/ directories:
Backend (.env)
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/mcp_wizard"
REDIS_URL="redis://localhost:6379"
JWT_SECRET="your-jwt-secret"
JWT_REFRESH_SECRET="your-refresh-secret"
GITHUB_TOKEN="your-github-token" # Optional, for higher rate limitsFrontend (.env)
VITE_API_URL=http://localhost:3001/api
VITE_WS_URL=ws://localhost:3001# Run all tests
npm run test
# Run backend tests only
cd backend && npm run test
# Run frontend tests only
cd frontend && npm run test
# Run with coverage
npm run test:coverageWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes and add tests
- Run linting and tests:
npm run lint && npm run test - Commit with conventional commits:
git commit -m "feat: add new feature" - Push and create a Pull Request
This project uses:
- ESLint for JavaScript/TypeScript linting
- Prettier for code formatting
- TypeScript with strict mode enabled
- Conventional Commits for commit messages
- Technical Specification - Project overview and requirements
- Architecture Document - Detailed system design
- Implementation Plan - Development roadmap
- Development Setup - Environment setup guide
- AGENTS.md - AI coding agent development guide
MCP Wizard takes security seriously:
- Sensitive data is stored in system keychain
- JWT tokens with configurable expiration
- Rate limiting on all API endpoints
- Input validation and sanitization
- HTTPS required in production
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Model Context Protocol by Anthropic
- The MCP community for creating amazing servers and tools
- Open source contributors and maintainers
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Project Wiki
MCP Wizard - Making MCP server configuration simple, secure, and scalable. /Users/josephapearson/local/mcp-wizard/README.md