Skip to content

joewxboy/mcp-wizard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

MCP Wizard

License Node.js Version TypeScript

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.

✨ Key Features

  • πŸ” 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

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm 9+
  • Docker and Docker Compose (recommended)
  • PostgreSQL and Redis (via Docker)

Using Docker (Recommended)

# 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

Manual Setup

# 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

πŸ—οΈ Architecture

Technology Stack

  • 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

System Components

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Web Frontend  β”‚    β”‚   Backend API   β”‚    β”‚   PostgreSQL    β”‚
β”‚   React + TS    │◄──►│ Express + TS    │◄──►│   Database      β”‚
β”‚                 β”‚    β”‚                 β”‚    β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Discovery     β”‚    β”‚   GitHub API    β”‚    β”‚   Redis Cache    β”‚
β”‚   Service       │◄──►│   npm Registry  │◄──►│                 β”‚
β”‚                 β”‚    β”‚                 β”‚    β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‘ API Documentation

Research Endpoints

Discover MCP Servers

POST /api/research/discover
Content-Type: application/json

{
  "query": "MCP server",
  "limit": 50
}

Returns a job ID for asynchronous processing.

Check Job Status

GET /api/research/status/{jobId}

Returns the discovery results when complete.

Analyze Specific Repository

POST /api/research/analyze
Content-Type: application/json

{
  "url": "https://github.com/org/repo"
}

Returns detailed analysis of a specific MCP server.

API Status

GET /api/research/status

Returns availability status of GitHub and npm APIs.

Configuration Endpoints

Get User Configurations

GET /api/configs

Create Configuration

POST /api/configs

Export Configuration

POST /api/configs/{id}/export

πŸ› οΈ Development

Project Structure

mcp-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

Available 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 migrations

Environment Variables

Create .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 limits

Frontend (.env)

VITE_API_URL=http://localhost:3001/api
VITE_WS_URL=ws://localhost:3001

πŸ§ͺ Testing

# 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:coverage

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make your changes and add tests
  4. Run linting and tests: npm run lint && npm run test
  5. Commit with conventional commits: git commit -m "feat: add new feature"
  6. Push and create a Pull Request

Code Style

This project uses:

  • ESLint for JavaScript/TypeScript linting
  • Prettier for code formatting
  • TypeScript with strict mode enabled
  • Conventional Commits for commit messages

πŸ“š Documentation

πŸ”’ Security

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

πŸ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Model Context Protocol by Anthropic
  • The MCP community for creating amazing servers and tools
  • Open source contributors and maintainers

πŸ“ž Support


MCP Wizard - Making MCP server configuration simple, secure, and scalable. /Users/josephapearson/local/mcp-wizard/README.md

About

A tool to help configure and use MCP Servers

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors