统一 MCP 服务器:Qdrant/Neo4j/Crawl4AI 集成

使用说明(Markdown 格式)

  • 项目简介
    • 该仓库实现了一个面向 LLM 的 MCP 服务器后端,整合了向量数据库(Qdrant)、知识图谱(Neo4j)以及网页智能(Crawl4AI)等服务,通过 MCP 协议向客户端提供 Resources、Tools、Prompts 等资源化能力,支持 JSON-RPC 形式的请求/响应,以及会话与能力声明等 MCP 基本特性。
  • 主要功能点
    • MCP 核心能力:实现对 MCP 请求的处理、响应,以及工具调用、资源读取、提示模板等能力的暴露,遵循 MCP 2.0 风格的 JSON-RPC 交互。
    • 服务组合与对接:将向量数据库、图数据库和网页智能服务组合成统一后端,提供统一入口访问不同服务的能力。
    • 资源、工具与 prompts 管理:通过 MCP 提供的工具集(如向量检索、存储向量、图查询、网页抓取等),以及可能的资源/提示模板管理能力。
    • 安全与观测:内置鉴权(JWT、API Key)、速率限制、日志记录和 Prometheus 指标,提供健康检查和系统监控入口。
    • 会话与服务状态:会话生命周期管理、服务健康状态、跨服务数据流协同,以及对 MCP 应用的生命周期管理。
    • 容器化/部署友好:提供适用于多种部署场景的后端实现,包含启动、停止与健康端点,便于集成到实际生产环境。
  • 安装与运行步骤
    • 先决条件:需要 Python 环境,及可用的 Qdrant、Neo4j、Crawl4AI 服务(或其模拟/替代实现)。
    • 步骤概览:
      • 获取代码并安装依赖(通常通过项目的依赖配置进行安装)。
      • 配置环境变量(JWT 秘钥、Neo4j/Qdrant 地址、OpenAI/OpenAI Embedding 模型、爬虫设置等)。
      • 启动 MCP 服务器:在终端执行启动命令以运行服务器。
      • 验证服务健康:通过健康端点和 MCP 客户端进行初始化与功能调用测试。
    • 服务器启动命令(示意,实际以仓库实现的入口为准):
      • 启动命令: python -m qdrant_neo4j_crawl4ai_mcp.main
      • 运行时参数与环境变量可用来调整环境、端口、并发等,具体请参考仓库内的环境变量说明。
  • 服务器配置(示例,供 MCP 客户端读取并建立连接)
    • server name: Unified MCP Intelligence Server
    • command: ["python3", "-m", "qdrant_neo4j_crawl4ai_mcp.main"]
    • args: []
    • 说明:MCP 客户端需要至少知道服务器的名称与启动命令,并在启动后通过网络/API 路径与 MCP 服务器建立连接。实际连接通常通过环境变量与启动时的配置来实现,请在部署前确保 Qdrant、Neo4j 与 Crawl4AI 等服务可用,并设置正确的环境参数。
  • 基本使用方法
    • 注册与认证:使用 /auth/token 获取访问令牌,随后在 MCP 请求中通过 Bearer 认证头提交请求(或按实现要求使用 API Key 方式进行授权)。
    • MCP 请求流程(简要)
      • 初始化会话:发送提供协议版本、能力等信息的 initialize 请求,建立能力声明。
      • 调用工具/读取资源:通过 tools/list、tools/call、resources/list 等请求,访问向量/图/网页等能力。
      • 结果处理:服务器返回符合 MCP 2.0 结构的 JSON-RPC 响应,包含 result 或 error,以及对话上下文信息。
    • 典型用例场景
      • 向量检索:通过工具调用进行语义搜索、向量相似性匹配、嵌入向量的获取与存储。
      • 知识图谱查询:执行 Cypher/Cypher-like 查询、图结构分析、知识提取等。
      • 网页智能:通过 Crawl4AI 服务抓取网页、提取结构化信息、监控网页变化等。
    • 注意事项
      • MCP 服务器的配置与部署应确保各底层服务(Qdrant、Neo4j、Crawl4AI 等)可用,并正确暴露网络访问。
      • 为生产环境配置合适的鉴权、速率限制与监控,以保证系统稳定性与安全性。

服务器信息