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 devThe 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 testThe application can be deployed to any static hosting service that supports SPAs:
- Build the application:
pnpm build- Deploy the
distfolder 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