A centralized dashboard ๐ฅ๏ธ for visualizing ๐, managing โ๏ธ, and interacting ๐ with MCP tools in real time โฑ๏ธ. It provides an intuitive interface ๐ง to monitor workflows ๐, execute actions โถ๏ธ, and streamline development operations ๐.
MCP Dashboard - Model Context Protocol Manager
A comprehensive, production-ready Next.js dashboard for managing MCP (Model Context Protocol) servers and tools with LLM integration.
๐ Features
Core Functionality
- ๐ง LLM Configuration: Support for multiple LLM providers (Anthropic Claude, OpenAI GPT, Custom APIs)
- ๐ฅ๏ธ MCP Server Management: Add, configure, test, and manage multiple MCP servers
- โก Tool Discovery: Automatically discover and manage tools from connected MCP servers
- ๐ฌ Chat Interface: Interactive chat with LLM using connected MCP tools
- ๐ Analytics Dashboard: Real-time token usage tracking and cost estimation
- ๐พ Persistent Storage: Local storage for configurations and chat history
- ๐ค Import/Export: Backup and restore configurations
Advanced Features
- Multiple Server Types: Support for both URL (SSE) and STDIO MCP servers
- System Prompts: Customizable system prompts to guide LLM behavior
- Tool Selection: Choose which MCP tools to enable
- Connection Testing: Test MCP server connectivity before use
- Token Analytics: Track input/output tokens and estimated costs
- Conversation History: Save and review past interactions
- Dark Mode: Beautiful dark mode support
- Responsive Design: Works on desktop, tablet, and mobile
๐ Quick Start
Prerequisites
- Node.js 18.x or higher
- npm or yarn
Installation
- Clone or download the project
cd mcp-dashboard
- Install dependencies
npm install
- Run the development server
npm run dev
- Open your browser Navigate to http://localhost:3000
๐ Usage Guide
Initial Setup
- Configure Your LLM
- On first launch, you'll see the setup screen
- Select your LLM provider (Anthropic, OpenAI, or Custom)
- Enter your API URL (e.g.,
https://api.anthropic.com/v1/messages) - Provide your API key
- Specify the model (e.g.,
claude-sonnet-4-20250514) - Click "Continue to Dashboard"
Adding MCP Servers
-
Navigate to MCP Servers tab
-
Fill in server details:
- Name: A friendly name for your server (e.g., "Gmail MCP")
- Type: Choose URL (SSE) or STDIO
- URL/Command: Server endpoint or command to run
- Arguments (for STDIO): Comma-separated args
-
Click "Add Server"
-
Test Connection: Click the refresh icon to test connectivity
Example MCP Server Configurations
URL-based Server (Gmail):
Name: Gmail MCP
Type: URL
URL: https://gmail.mcp.claude.com/mcp
STDIO-based Server:
Name: Local MCP Server
Type: STDIO
Command: npx
Arguments: -y, @modelcontextprotocol/server-filesystem, /path/to/directory
Using the Chat Interface
-
Navigate to Chat Interface tab
-
Configure System Prompt (right panel):
- Customize how the LLM behaves
- Default prompt guides tool usage
- Click "Save Prompt" to persist
-
Start Chatting:
- Type your message in the input box
- Press Enter or click Send
- LLM will use connected MCP tools automatically
- Tool usage is displayed with each response
Monitoring Analytics
- Navigate to Analytics tab
- View metrics:
- Total tokens used
- Input/Output token breakdown
- Estimated costs
- Server status
- Conversation statistics
Managing Configuration
Export Configuration:
- Click the Download icon in the header
- Saves your servers and settings (API key excluded)
Import Configuration:
- Click the Upload icon in the header
- Select a previously exported JSON file
- Configuration will be restored
๐๏ธ Architecture
Technology Stack
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Icons: Lucide React
- State Management: React Hooks
- Storage: Browser LocalStorage
Project Structure
mcp-dashboard/
โโโ app/
โ โโโ layout.tsx # Root layout
โ โโโ page.tsx # Main dashboard component
โ โโโ globals.css # Global styles
โโโ package.json
โโโ tsconfig.json
โโโ tailwind.config.js
โโโ next.config.js
State Management
The application uses React hooks for state management:
llmConfig: LLM provider configurationmcpServers: List of configured MCP serversmcpTools: Discovered tools from serversmessages: Chat conversation historytokenUsage: Token consumption analytics
Data Persistence
All data is stored in browser LocalStorage:
llmConfig: LLM configuration (API key is encrypted)mcpServers: Server configurationschatMessages: Conversation historytokenUsage: Token analyticssystemPrompt: Custom system prompt
๐ Security
- API Keys: Stored locally, never sent to third parties
- HTTPS Only: Always use HTTPS endpoints
- No Backend: All processing happens client-side
- Local Storage: Data stays in your browser
๐จ Customization
Changing Colors
Edit tailwind.config.js and globals.css to customize the color scheme:
/* globals.css */
:root {
--primary: 262 83% 58%; /* Purple */
--secondary: 210 40% 96.1%;
/* ... */
}
Adding New Features
The codebase is modular and easy to extend:
- Add new tabs by modifying the
activeTabstate - Create new server types by extending the
MCPServerinterface - Add analytics widgets in the Analytics tab
๐ Token Pricing
Current pricing estimates (configurable in code):
- Claude Sonnet: $3/M input tokens, $15/M output tokens
- Adjust in the
calculateCost()function
๐ Troubleshooting
Server Connection Fails
- Verify the server URL is correct
- Check server is running and accessible
- Ensure CORS is configured on the server
Chat Not Working
- Verify API key is correct
- Check API URL matches your provider
- Ensure connected servers are active
Tools Not Appearing
- Test server connection first
- Verify server implements MCP protocol correctly
- Check browser console for errors
๐ Deployment
Build for Production
npm run build
npm start
Deploy to Vercel
npm install -g vercel
vercel
Deploy to Netlify
npm run build
# Upload the .next folder to Netlify
๐ค Contributing
This is a complete, self-contained project. To modify:
- Fork or copy the code
- Make your changes
- Test thoroughly
- Deploy your version
๐ License
MIT License - feel free to use this in your projects!
๐ Acknowledgments
- Built with Next.js and React
- Designed with Tailwind CSS
- Icons by Lucide
- Model Context Protocol by Anthropic
๐ง Support
For issues or questions:
- Check the troubleshooting section
- Review the code comments
- Consult MCP documentation at Anthropic
Built with โค๏ธ for the MCP community