使用说明
🚀 项目结构
mcp-demo-project/
├── mcp-server/ # Advanced MCP Server with multi-source integration
│ ├── server.js # Main server with 45+ MCP tools and LLM-based routing
│ ├── config.js # Configuration for Neo4j, VictoriaLogs, and Manifest API
│ └── package.json # Dependencies including OpenAI integration
├── frontend/ # React frontend with Vite
│ ├── src/ # React components and UI
│ └── package.json # Frontend dependencies
├── neo4j-init/ # Neo4j initialization scripts
├── docker-compose.yml # Neo4j database container
└── README.md # This file
🛠️ MCP工具可用(45+工具)
服务器提供了一个按类别组织的MCP工具的广泛集合:
🗄️ Neo4j图形数据库工具(9个工具)
get_neo4j_schema-检索数据库架构信息get_all_nodes-使用可选类型筛选获取所有节点get_all_relationships-使用可选类型筛选获取所有关系get_node_by_id-按ID检索特定节点get_relationships_by_node-获取特定节点的关系create_node-在数据库中创建新节点create_relationship-在节点之间创建关系update_node-更新现有节点属性execute_cypher_query-执行自定义Cypher查询
📊 VictoriaLogs工具(4个工具)
query_victoria_logs-对日志数据执行LogSQL查询get_log_streams-检索可用日志流search_logs_by_time-使用过滤器进行基于时间的日志搜索aggregate_log_data-执行日志聚合和分析
🔧 清单API-资源(8个工具)
get_resource_list-列出具有过滤和分页功能的资源get_resource_by_id-检索特定资源详细信息search_resources-按各种条件搜索资源get_resource_hierarchy-获取资源父/子关系get_resource_metadata-检索资源元数据和标签get_resource_costs-获取资源成本信息get_resource_health-检查资源运行状况update_resource_tags-修改资源标签和标记
📝 清单API-变更日志(6个工具)
get_changelog_list-获取分页的更改日志条目get_changelog_by_id-检索特定的变更日志详细信息get_changelog_list_by_resource-获取特定资源的变更日志search_changelogs-按条件搜索变更日志get_changelog_timeline-获取按时间顺序排列的变更日志时间线analyze_changelog_trends-分析变更日志模式和趋势
🚨 清单API-事件(6个工具)
get_incident_list-列出带有过滤功能的事件get_incident_by_id-获取详细的事故信息get_incidents_by_resource-获取特定资源的事件search_incidents-按各种参数搜索事件get_incident_timeline-获取事件时间轴analyze_incident_patterns-分析事件趋势和模式
🎫 清单API-票据(6个工具)
get_ticket_list-列出支持票并进行过滤get_ticket_by_id-获取详细的门票信息get_tickets_by_resource-获取特定资源的门票search_tickets-按条件搜索门票get_ticket_timeline-获取票证生命周期时间表analyze_ticket_metrics-分析票证解决指标
🔔 清单API-通知(6个工具)
get_notification_list-列出带有过滤功能的通知get_notification_by_id-获取具体的通知详细信息get_notifications_by_resource-获取资源通知search_notifications-按参数搜索通知get_notification_timeline-获取通知时间顺序视图analyze_notification_trends-分析通知模式
🌐 清单API-图表和分析(2个工具)
get_resource_graph-生成资源依赖关系图analyze_system_metrics-执行跨系统分析
🔧 入门指南
先决条件
-
Docker和Docker Compose
- 停止一切:
./stop.sh
🌐 接入点
- 聊天盒界面: http://localhost:5173/
- MCP服务器API: http://localhost:3001/
- Neo4j浏览器: http://localhost:7474/
- 用户名:
neo4j - 密码:
testing@neo4j
- 用户名:
📡 API终点
MCP协议端点
- 工具发现:
GET /api/mcp/tools-列出所有可用的MCP工具 - 工具执行:
POST /api/mcp/execute-执行特定的MCP工具 - AI执行:
POST /api/ai-execute-自然语言AI驱动的工具选择
示例用法
发现可用工具:
curl http://localhost:3001/api/mcp/tools
执行特定工具:
curl -X POST http://localhost:3001/api/mcp/execute \
-H "Content-Type: application/json" \
-d '{"tool_name": "get_resource_list", "parameters": {"limit": 10}}'
人工智能驱动的自然语言查询:
curl -X POST http://localhost:3001/api/ai-execute \
-H "Content-Type: application/json" \
-d '{"prompt": "Get the changelog list for resource ID 5006081"}'
高级查询:
curl -X POST http://localhost:3001/api/ai-execute \
-H "Content-Type: application/json" \
-d '{"prompt": "Show me all incidents for Kubernetes workloads in the last 7 days"}'
🤖 AI集成功能
该服务器包括高级AI功能:
基于LLM的工具选择
- 纯LLM路由: 使用OpenAI GPT-4o智能选择工具
- 无图案匹配: 消除了脆性图案匹配路由器
- 上下文理解: 分析自然语言意图
- 工具说明: 45多种工具,具有详细、独特的描述
自然语言处理
- 对话界面: 自然语言输入输出
- 分析响应: LLM分析结果并提供见解
- 数据解释: 将技术数据转化为用户友好的摘要
- 错误处理: 智能错误解释和建议
响应格式
- 清洁输出: 删除技术JSON工件
- 情境分析: 从原始数据中提供有意义的见解
- 列表格式: 将数据(票据、变更日志等)整理成可读列表
- 无Markdown杂乱: 干净的段落回复,没有过多的格式
📊 数据源
Neo4j图形数据库
- 节点和关系: 复杂图形数据建模
- 密码查询: 高级图形查询功能
- 架构发现: 动态模式探索
- 实时更新: 实时数据修改工具
维多利亚原木
- LogSQL查询: 强大的日志查询语言
- 时间序列数据: 高效的日志数据分析
- 流处理: 实时日志聚合
- 全文搜索: 高级日志搜索功能
清单API
- 企业资源: 基础设施和工作量管理
- 变更跟踪: 全面的变更日志系统
- 事件管理: 全事件生命周期跟踪
- 支持票: 完整的票务系统集成
- 通知: 实时警报和通知处理
该系统已通过以下方式进行了广泛测试:
- 真实资源ID: 用实际系统数据验证(例如,资源ID 5006081)
- 刀具选择精度: LLM正确选择合适的工具
- 数据完整性: 经验证的API响应与请求的参数匹配
- 错误处理: 对丢失数据和无效请求的强大错误处理
- 演出 针对并发工具执行进行了优化
🏗️ 建筑
服务器架构
- Express.js后端: 具有全面路由的RESTful API
- 多数据库支持: Neo4j、VictoriaLogs和REST API
- 连接池: 高效的资源管理
- 配置管理: 基于环境的配置
工具组织
- 模块化设计: 按数据源和功能组织的工具
- 一致的接口: 标准化的输入/输出模式
- 错误传播: 跨所有工具的统一错误处理
- 登录中: 全面的请求/响应日志记录
AI集成
- OpenAI集成: GPT-4o用于工具选择和响应分析
- 回退机制: AI不可用时性能下降
- 上下文保护: 维护对话上下文
- 性能优化: 高效的API使用和缓存
🔐 安全与配置
- 环境变量: 安全的凭证管理
- API身份验证: 外部API的可配置身份验证
- 输入验证: 全面的参数验证
- 速率限制: 可配置的请求速率限制
- CORS支持: 跨源资源共享配置
🚀 生产部署
准备生产:
- Docker支持: 使用docker compose实现完全容器化
- 健康检查: 自动化服务健康监控
- 登录中: 用于监控和调试的结构化日志记录
- 配置: 基于环境的配置管理
- 缩放比例: 支持水平扩展以实现高可用性
📝 许可证
ISC许可证
🤝 贡献
- 分叉存储库
- 创建要素分支
- 为新工具添加全面的测试
- 更新工具描述以提高LLM的清晰度
- 提交拉取请求
📚 其他文件
- 工具参考: 所有45+MCP工具的完整文档
- API示例: 全面的API使用示例
- 配置指南: 详细的配置选项
- 故障排除: 常见问题和解决方案
- 性能调整: 优化指南
内置于❤️ 使用模型上下文协议进行下一代人工智能集成
