多源集成工具服务器

一个提供45+工具的多源集成服务器,支持Neo4j图数据库、VictoriaLogs日志分析和Manifest API资源管理,具备AI驱动的智能工具选择和自然语言处理能力。

  • by durgapradeepch
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 durgapradeepch/mcp-demo-project

使用说明

🚀 项目结构

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

    
    
  1. 停止一切:
    ./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许可证

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 为新工具添加全面的测试
  4. 更新工具描述以提高LLM的清晰度
  5. 提交拉取请求

📚 其他文件

  • 工具参考: 所有45+MCP工具的完整文档
  • API示例: 全面的API使用示例
  • 配置指南: 详细的配置选项
  • 故障排除: 常见问题和解决方案
  • 性能调整: 优化指南

内置于❤️ 使用模型上下文协议进行下一代人工智能集成