mcpplay
The FastAPI /docs experience, for MCP servers.
claude mcp add --transport stdio gauthierpiarrette-mcpplay python -m mcpplay run server.py \ --env PORT="Custom port for the MCP play UI (default 8321)"
How to use
mcpplay provides a browser-based playground for MCP-compliant servers. It automatically generates a UI from your server's JSON Schema, lets you execute tools, and logs a persistent timeline of inputs, outputs, and latency. You can point mcpplay at an existing MCP server implementation, run a local Python-based server, or use the included demo tooling to explore the UI features. The frontend renders forms from your server's schema and immediately shows results, enabling rapid iteration and debugging of MCP tooling workflows.
To use it, install mcpplay and run the provided command to start the server, then open the local UI in your browser. You can run with the default port or override it with the --port option. The tool supports passing environment variables to your server and hot-reloading during development. You can also point mcpplay at your own Python script or other MCP-compliant backends by specifying the appropriate run command (e.g., python -m mcpplay run server.py).
How to install
Prerequisites:
- Python 3.8+ installed on your system
- Internet access to install Python packages
Installation steps:
- Create and activate a Python virtual environment (optional but recommended)
- python -m venv venv
- source venv/bin/activate # on Unix/macOS
- venv\Scripts\activate # on Windows
- Install mcpplay from PyPI
- pip install mcpplay
- Run mcpplay with your MCP server (demo example)
- mcpplay run server.py
- This will start the UI at http://localhost:8321 by default
- Access the UI in your browser and begin exploring or replace server.py with your own MCP server entrypoint
If you want to run a different backend, adjust the command accordingly (e.g., configure the mcpplay CLI to run your Python module or script).
Additional notes
Tips and common issues:
- Default UI port is 8321; override with --port when starting the CLI (e.g., mcpplay run server.py --port 9000).
- The UI auto-reloads in development mode; hot-reload helps preserve session data and the timeline.
- You can pass environment variables to your MCP server using --env VAR=VALUE (e.g., --env API_KEY=xxx).
- Ensure your MCP server is JSON Schema compliant to maximize form generation and validation in the UI.
- If you encounter CORS or Origin validation issues, run the server locally on localhost and confirm the Origin policy matches your development environment.
- For contributors, the Python backend (uv) and frontend (Svelte) can be developed separately; follow the repository’s Development section for details.
Related MCP Servers
mcp-for-beginners
This open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.
pluggedin-app
The Crossroads for AI Data Exchanges. A unified, self-hostable web interface for discovering, configuring, and managing Model Context Protocol (MCP) servers—bringing together AI tools, workspaces, prompts, and logs from multiple MCP sources (Claude, Cursor, etc.) under one roof.
dynamic-shell
Dynamic Shell Command MCP Server
openai -agent-dotnet
Sample to create an AI Agent using OpenAI models with any MCP server running on Azure Container Apps
symfony
A Symfony package designed for building secure servers based on the Model Context Protocol, utilizing Server-Sent Events (SSE) and/or StreamableHTTP for real-time communication. It offers a scalable tool system tailored for enterprise-grade applications.
MCP-Manager-GUI
MCP Toggle is a simple GUI tool to help you manage MCP servers across clients seamlessly.