使用说明
MCP仪表板-模型上下文协议管理器
一个全面的、可用于生产的Next.js仪表板,用于管理具有LLM集成的MCP(模型上下文协议)服务器和工具。
🌟 特性
核心功能
- 🔧 LLM配置:支持多个LLM提供商(Anthropic Claude、OpenAI GPT、自定义API)
- 🖥️ MCP服务器管理:添加、配置、测试和管理多个MCP服务器
- ⚡ 工具发现:从连接的MCP服务器自动发现和管理工具
- 💬 聊天界面:使用连接的MCP工具与LLM进行交互式聊天
- 📊 分析仪表板:实时令牌使用跟踪和成本估算
- 💾 持久化存储:用于配置和聊天历史记录的本地存储
- 📤 导入/导出:备份和还原配置
高级功能
- 多种服务器类型:支持URL(SSE)和STDIO MCP服务器
- 系统提示:可定制的系统提示,用于指导LLM行为
- 工具选择:选择要启用的MCP工具
- 连接测试:使用前测试MCP服务器连接
- 代币分析:跟踪输入/输出令牌和估计成本
- 对话历史:保存和查看过去的交互
- 深色模式:漂亮的暗模式支持
- 响应式设计:适用于台式机、平板电脑和移动设备
🚀 快速开始
先决条件
- Node.js 18.x或更高版本
- npm或纱线
安装
- 克隆或下载项目
cd mcp-dashboard
- 安装依赖项
npm install
- 运行开发服务器
npm run dev
- 打开浏览器 导航至 http://localhost:3000
📖 使用指南
初始设置
- 配置您的LLM
- 首次启动时,您将看到设置屏幕
- 选择您的法学硕士提供者(Anthropic、OpenAI或Custom)
- 输入您的API URL(例如。,
https://api.anthropic.com/v1/messages) - 提供您的API密钥
- 指定模型(例如。,
claude-sonnet-4-20250514) - 点击“继续到仪表板”
添加MCP服务器
-
导航到MCP服务器选项卡
-
填写服务器详细信息:
- 名字:您的服务器的友好名称(例如“Gmail MCP”)
- 类型:选择URL(SSE)或STDIO
- URL/命令:要运行的服务器终结点或命令
- 参数 (用于STDIO):逗号分隔的参数
-
点击“添加服务器”
-
测试连接:单击刷新图标以测试连接
MCP服务器配置示例
基于URL的服务器(Gmail):
Name: Gmail MCP
Type: URL
URL: https://gmail.mcp.claude.com/mcp
基于STDIO的服务器:
Name: Local MCP Server
Type: STDIO
Command: npx
Arguments: -y, @modelcontextprotocol/server-filesystem, /path/to/directory
使用聊天界面
-
导航到聊天界面选项卡
-
配置系统提示 (右面板):
- 自定义LLM的行为方式
- 默认提示指导工具使用
- 点击“保存提示”以保持
-
开始聊天:
- 在输入框中键入您的消息
- 按Enter键或单击发送
- LLM将自动使用连接的MCP工具
- 每次响应时都会显示工具使用情况
监控分析
- 导航到“分析”选项卡
- 查看指标:
- 使用的令牌总数
- 输入/输出令牌细分
- 预计成本
- 服务器状态
- 对话统计
管理配置
导出配置:
- 单击标题中的下载图标
- 保存服务器和设置(API密钥除外)
导入配置:
- 单击标题中的上传图标
- 选择以前导出的JSON文件
- 配置将被恢复
🏗️ 建筑
技术栈
- 框架:Next.js 14(应用路由器)
- 语言:TypeScript
- 样式:顺风CSS
- 图标:Lucide React
- 状态管理:反应挂钩
- 存储:浏览器本地存储
项目结构
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
状态管理
该应用程序使用React钩子进行状态管理:
llmConfig:LLM提供程序配置mcpServers:已配置的MCP服务器列表mcpTools:从服务器中发现的工具messages:聊天记录tokenUsage:代币消费分析
数据持久层
所有数据都存储在浏览器LocalStorage中:
llmConfig:LLM配置(API密钥已加密)mcpServers:服务器配置chatMessages:对话历史tokenUsage:令牌分析systemPrompt:自定义系统提示
🔐 安全
- API密钥:本地存储,从不发送给第三方
- 仅限HTTPS:始终使用HTTPS端点
- 无后端:所有处理都发生在客户端
- 本地存储:数据保留在浏览器中
🎨 定制
更改颜色
编辑 tailwind.config.js 和 globals.css 要自定义配色方案,请执行以下操作:
/* globals.css */
:root {
--primary: 262 83% 58%; /* Purple */
--secondary: 210 40% 96.1%;
/* ... */
}
添加新功能
代码库是模块化的,易于扩展:
- 通过修改来添加新选项卡
activeTab状态 - 通过扩展来创建新的服务器类型
MCPServer接口 - 在“分析”选项卡中添加分析小部件
📊 代币定价
当前定价估算(可在代码中配置):
- 克劳德·十四行诗:$3/M输入代币,$15/M输出代币
- 调整
calculateCost()功能
🐛 故障排除
服务器连接失败
- 验证服务器URL是否正确
- 检查服务器是否正在运行且可访问
- 确保服务器上配置了CORS
聊天不起作用
- 验证API密钥是否正确
- 检查API URL是否与您的提供商匹配
- 确保连接的服务器处于活动状态
工具未出现
- 首先测试服务器连接
- 验证服务器是否正确实现MCP协议
- 检查浏览器控制台是否有错误
🚀 部署
为生产而建
npm run build
npm start
部署到Vercel
npm install -g vercel
vercel
部署到Netlify
npm run build
# Upload the .next folder to Netlify
🤝 贡献
这是一个完整、独立的项目。要修改:
- 分叉或复制代码
- 进行更改
- 彻底测试
- 部署您的版本
📝 许可证
麻省理工学院许可证-请在您的项目中自由使用!
🙏 致谢
- 使用Next.js和React构建
- 采用Tailwind CSS设计
- Lucide的图标
- 基于Anthropic的模型上下文协议
📧 支持
对于问题或疑问:
- 检查故障排除部分
- 查看代码注释
- 查阅Anthropic的MCP文件
建于❤️ 对于MCP社区