A modern web-based Model Context Protocol (MCP) playground for testing and developing MCP servers and clients.
WebMCP.sh provides a comprehensive development environment for working with the Model Context Protocol, featuring:
- Interactive MCP Server Testing: Connect to and test MCP servers directly from your browser
- Real-time Communication: Live WebSocket connections for instant feedback
- Multi-Server Support: Connect to multiple MCP servers simultaneously
- Tool Execution: Execute server tools with custom parameters
- Resource Management: Browse and manage server resources
- Prompt Templates: Use and create prompt templates for common tasks
- 🔌 WebSocket-based MCP Client: Full-featured MCP client implementation
- 🛠️ Tool Testing: Interactive tool execution with parameter validation
- 📚 Resource Browser: Explore available server resources
- 📝 Prompt Management: Create and manage reusable prompts
- 🔄 Real-time Updates: Live connection status and message streaming
- 🎨 Modern UI: Clean, responsive interface built with React and Tailwind CSS
- 🌙 Dark Mode Support: Comfortable viewing in any lighting condition
- 📊 Connection Monitoring: Real-time server connection status
- 🔍 Debug Mode: Detailed logging for troubleshooting
- Frontend: React, TypeScript, Vite
- Styling: Tailwind CSS, shadcn/ui components
- State Management: Zustand
- Database: SQLite with Drizzle ORM
- Build Tools: Vite, ESBuild
- Package Manager: pnpm
- Node.js 18+
- pnpm (recommended) or npm
- Clone the repository:
git clone https://github.com/WebMCP-org/webmcp-sh.git
cd webmcp-sh
- Install dependencies:
pnpm install
- Start the development server:
pnpm dev
The application will be available at http://localhost:5173
webmcp-sh/
├── src/
│ ├── react-app/ # React application
│ │ ├── components/ # UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utilities and libraries
│ │ │ ├── db/ # Database schemas and operations
│ │ │ └── mcp/ # MCP client implementation
│ │ └── pages/ # Application pages
│ ├── server/ # Backend server (if applicable)
│ └── shared/ # Shared types and utilities
├── public/ # Static assets
├── data/ # Local database files
└── package.json
- Navigate to the Servers page
- Click "Add Server"
- Enter the server WebSocket URL
- Configure any required authentication
- Click "Connect"
- Select a connected server
- Browse available tools in the Tools tab
- Click on a tool to view its schema
- Fill in required parameters
- Click "Execute" to run the tool
- Open the Resources tab for a connected server
- Browse available resources
- Click on a resource to view its contents
- Use the built-in editor for modifications
pnpm dev
- Start development serverpnpm build
- Build for productionpnpm preview
- Preview production buildpnpm lint
- Run ESLintpnpm typecheck
- Run TypeScript type checkingpnpm db:push
- Push database schema changespnpm db:studio
- Open Drizzle Studio for database management
We welcome contributions! Please see our contributing guidelines for more information.
Run the test suite:
pnpm test
The application can be deployed to any static hosting service that supports SPAs:
- Build the application:
pnpm build
- Deploy the
dist
folder to your hosting service
- Vercel: Zero-config deployment with automatic HTTPS
- Netlify: Simple drag-and-drop deployment
- GitHub Pages: Free hosting for public repositories
- Self-hosted: Deploy to your own server with nginx/Apache
- Always use HTTPS in production
- Implement proper authentication for MCP servers
- Validate all user inputs
- Keep dependencies updated
- Use environment variables for sensitive configuration
MIT License - see LICENSE file for details
- Built on the Model Context Protocol specification
- UI components from shadcn/ui
- Icons from Lucide
For issues, questions, or suggestions, please open an issue on GitHub or contact the maintainers.
Website: webmcp.sh Documentation: docs.webmcp.sh GitHub: github.com/webmcp/webmcp-sh