A web-based graphical client for MCP (Model Context Protocol) servers. Manage connections, browse tools, and invoke them with JSON Schema-driven forms.
- Backend: Python 3.11+ / FastAPI / uv
- Frontend: Vue 3 / TypeScript / Vite / Pinia
- Python 3.11+
- Node.js 20+
- uv (Python package manager)
Windows:
scripts\start.batmacOS/Linux:
chmod +x scripts/start.sh
./scripts/start.shTo stop all servers:
- Windows:
scripts\stop.bat - macOS/Linux:
./scripts/stop.sh
Backend:
cd backend
uv sync
uv run uvicorn app.main:app --reload --port 8000Frontend:
cd frontend
npm install
npm run devOpen http://localhost:5173 in your browser.
- Server Management: Add, edit, delete MCP server configurations (stdio and HTTP transports)
- Connection Management: Connect/disconnect from MCP servers with real-time status
- Tool Browsing: List all available tools from connected servers
- Tool Invocation: Invoke tools with dynamic forms generated from JSON Schema, or raw JSON input
- WebSocket: Real-time communication for tool invocation and notifications
- Result Display: Support for text, image, and resource content types
| Transport | Description |
|---|---|
| stdio | Launch MCP server as a subprocess (local) |
| Streamable HTTP | Connect to remote MCP server via HTTP/SSE |
REST API is available at /api/v1 with Swagger docs at /docs when the backend is running.
backend/ # Python FastAPI backend
app/
api/ # REST and WebSocket routes
mcp/ # MCP transport and session management
services/ # Business logic
models/ # Pydantic schemas
db/ # SQLite database layer
frontend/ # Vue 3 TypeScript frontend
src/
api/ # HTTP and WebSocket clients
components/ # Vue components
composables/ # Reusable composition functions
stores/ # Pinia state management
types/ # TypeScript type definitions
views/ # Page components