一个功能强大的MCP(Model Context Protocol)服务管理面板,提供可视化的服务管理、工具调用、AI对话等功能。
- MCP服务管理: 启动、停止、监控MCP服务状态
- 工具同步: 自动同步和管理MCP服务提供的工具
- 服务配置: 灵活的服务配置和参数管理
- 状态监控: 实时监控服务运行状态和资源使用情况
- 多AI服务支持: 支持Ollama、OpenAI等多种AI服务
- 智能工具选择: 根据用户需求自动选择最合适的工具
- AI人格管理: 自定义AI助手的人格和行为模式
- 对话管理: 完整的AI对话功能和历史记录
- 计算器工具: 数学计算和表达式求解
- 天气查询: 实时天气信息查询
- 网页搜索: 智能网页搜索和信息检索
- 文件管理: 文件操作和管理功能
- 百度百科: 知识查询和信息检索
- QQ音乐: 音乐搜索和播放控制
- JWT认证: 安全的用户认证和授权
- 下游Token: 支持下游服务的Token管理
- 权限控制: 细粒度的权限管理系统
- 安全配置: 完善的安全配置和防护机制
- 资源监控: CPU、内存、磁盘、网络使用情况
- 服务状态: 实时服务运行状态和健康检查
- 日志管理: 完整的系统日志和错误追踪
- 性能统计: 详细的性能指标和统计数据
- Node.js 18+
- npm 或 yarn
- SQLite3
- 克隆项目
git clone <repository-url>
cd ChatWay- 安装依赖
npm install- 编译项目
npm run build- 启动服务
npm start- 访问面板 打开浏览器访问: http://localhost:27260
- 用户名:
yxpillow - 密码:
yxpillow
- 登录管理面板
- 配置AI服务器(Ollama、OpenAI等)
- 添加和配置MCP服务
- 启动所需的工具服务
- 在"MCP服务"页面添加新服务
- 配置服务的启动命令和参数
- 启动服务并等待工具同步
- 在"MCP工具"页面查看可用工具
- 配置AI人格和服务器
- 在对话界面输入问题
- 系统会自动选择合适的工具
- 查看AI回复和工具调用结果
ChatWay/
├── src/ # 源代码
│ ├── server.ts # 主服务器
│ ├── database.ts # 数据库管理
│ ├── auth.ts # 认证模块
│ ├── mcp-client.ts # MCP客户端
│ ├── service-manager.ts # 服务管理
│ └── types.ts # 类型定义
├── public/ # 前端文件
├── tools/ # MCP工具
├── dist/ # 编译输出
└── docs/ # 文档
# 开发模式(热重载)
npm run dev
# 监控模式
npm run dev:watch
# 编译项目
npm run build
# 生产运行
npm start
# 清理编译文件
npm run clean- 在
tools/目录创建新的工具文件 - 实现MCP协议的工具接口
- 在管理面板中添加工具服务
- 测试工具功能
参考现有工具实现:
calculator-tool.js- 计算器工具weather-tool.js- 天气查询工具browser-tool.js- 网页搜索工具
系统支持下游服务通过API获取配置和统计信息:
// 获取系统配置
const config = await fetch('/api/downstream/config', {
headers: { 'Authorization': 'Bearer <token>' }
});
// 获取系统统计
const stats = await fetch('/api/downstream/stats', {
headers: { 'Authorization': 'Bearer <token>' }
});支持多种AI服务:
- Ollama: 本地AI服务
- OpenAI: OpenAI API
- 自定义: 兼容OpenAI格式的API
系统使用SQLite数据库,自动创建和初始化。数据库文件:mcp-panel.db
默认端口:27260,可在管理面板中修改。
- JWT Token过期时间:24小时
- 密码加密:bcrypt
- CORS支持:可配置
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
yxpillow
- 邮箱: hi@yxpil.com
- GitHub: @yxpillow
感谢所有为这个项目做出贡献的开发者和用户。
如果您遇到问题或有建议,请:
- 查看 API文档
- 提交 Issue
- 发送邮件至 hi@yxpil.com
⭐ 如果这个项目对您有帮助,请给它一个星标!