A React TypeScript application for connecting to multiple MCP (Model Context Protocol) servers and providing a conversational interface with tool calling capabilities.
- 🔗 Multi-server MCP connections (HTTP/SSE transports)
- 🤖 Inference provider abstraction (starting with OpenRouter)
- 💬 Conversational interface with agent loops
- 🛠️ Real-time tool call visualization
- 🔍 MCP debugging and message tracing
- 📱 Responsive UI with left sidebar and chat interface
- Node.js (v18 or higher)
- npm, yarn, or pnpm
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run lint
- Run ESLintnpm run test
- Run testsnpm run test:ui
- Run tests with UI
The application is built with a modular architecture using React hooks and providers:
- InferenceProvider - Abstraction for LLM inference (OpenRouter, etc.)
- MCPProvider - Multi-server MCP connection management
- AgentLoop - Tool calling and conversation flow
- UI Components - Modular, reusable interface components
- React 18 with TypeScript
- Vite for build tooling
- Tailwind CSS for styling
- MCP TypeScript SDK for protocol implementation
- Vitest for testing
This is an active development project serving as both:
- A public example implementation of MCP client features
- A prototyping testbed for MCP protocol changes