返回市场
向量数据库-图数据库-爬虫4AI-MCP

向量数据库-图数据库-爬虫4AI-MCP

作者:BjornMelin6 星标更新:2025-06-28

项目介绍

Qdrant Neo4j Crawl4AI MCP 服务器

生产就绪 FastMCP 2.0 Python 3.11+ License: MIT

生产就绪的代理RAG MCP服务器,结合了Qdrant向量搜索、Neo4j知识图谱和Crawl4AI网络智能,并具有自主编排能力

🎯 这是什么?

这是一个代理RAG(检索增强生成)MCP服务器,通过单一模型上下文协议接口提供多个AI服务的智能自主协调。它结合了:

  • 向量智能:通过Qdrant进行语义搜索和嵌入存储
  • 图谱智能:通过Neo4j进行知识图谱和记忆系统
  • 网络智能:通过Crawl4AI进行智能网络爬取和内容提取
  • 代理编排:自主查询路由和结果融合
  • 生产就绪:企业级安全、监控和部署模式

🏗️ 架构

graph TB
    客户端[AI助手客户端] --> 网关[FastMCP网关]
    
    subgraph "Qdrant Neo4j Crawl4AI MCP服务器"
        网关 --> 路由器[请求路由器]
        路由器 --> 向量[向量服务]
        路由器 --> 图谱[图谱服务] 
        路由器 --> 网络[网络智能服务]
        
        向量 --> |挂载: /vector| QdrantMCP[Qdrant MCP服务器]
        图谱 --> |挂载: /graph| Neo4jMCP[Neo4j记忆MCP]
        网络 --> |挂载: /web| Crawl4AIMCP[Crawl4AI MCP服务器]
    end
    
    subgraph "数据层"
        QdrantMCP --> QdrantDB[(Qdrant向量数据库)]
        Neo4jMCP --> Neo4jDB[(Neo4j图谱数据库)]
        Crawl4AIMCP --> WebSources[网络数据源]
    end

⚡ 技术栈

  • FastMCP 2.0:服务器组合和MCP协议处理
  • Python 3.11+:现代异步模式和类型安全性
  • Qdrant:用于语义搜索的向量数据库
  • Neo4j:用于知识表示的图数据库
  • Crawl4AI:网络智能和内容提取
  • Docker:带有健康检查的容器化部署

🚀 快速开始

先决条件

  • Python 3.11+
  • uv(推荐)或pip
  • Docker & Docker Compose

安装

# 克隆仓库
git clone https://github.com/BjornMelin/qdrant-neo4j-crawl4ai-mcp.git
cd qdrant-neo4j-crawl4ai-mcp

# 安装依赖
uv sync

# 设置环境
cp .env.example .env
# 编辑.env以配置您的设置

# 使用Docker运行
docker-compose up -d

# 或本地运行
uv run python -m qdrant_neo4j_crawl4ai_mcp

配置

关键环境变量:

# 服务器配置
MCP_SERVER_HOST=localhost
MCP_SERVER_PORT=8000
JWT_SECRET_KEY=your-secure-secret-key

# 数据库配置  
QDRANT_URL=http://localhost:6333
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password

# 安全
RATE_LIMIT_PER_MINUTE=1
CORS_ORIGINS=https://your-domain.com

💻 开发

测试

# 运行所有测试
uv run pytest

# 带覆盖率运行
uv run pytest --cov=qdrant_neo4j_crawl4ai_mcp --cov-report=html

# 运行特定测试套件
uv run pytest tests/integration/

代码质量

# 格式化代码
uv run ruff format .

# 检查代码
uv run ruff check . --fix

# 类型检查
uv run mypy .

📚 API 文档

一旦运行,访问交互式API文档:

示例用法

import asyncio
from qdrant_neo4j_crawl4ai_mcp.client import QdrantNeo4jCrawl4AIMCPClient

async def main():
    client = QdrantNeo4jCrawl4AIMCPClient("http://localhost:8000")
    
    # 向量搜索
    results = await client.vector_search("人工智能")
    
    # 图谱查询
    memories = await client.graph_query("MATCH (n:Memory) RETURN n LIMIT 10")
    
    # 网络爬取
    content = await client.web_crawl("https://example.com")

asyncio.run(main())

📦 部署

Docker 部署

# 生产构建
docker build -t qdrant-neo4j-crawl4ai-mcp .
docker run -p 8000:8000 qdrant-neo4j-crawl4ai-mcp

云部署

  • Railway:通过railway.app一键部署
  • Fly.io:全球边缘部署
  • AWS:ECS/Lambda部署与CDK

📚 完整文档

🚀 快速入门

📖 用户指南

🔧 技术参考

🚢 部署与操作

💻 开发与贡献

📝 示例与教程

详细的部署指南,请参见**🚢 部署操作**。

🔒 安全与合规

  • JWT认证:基于令牌的安全认证,带有刷新令牌
  • 速率限制:基于Redis的分布式请求节流
  • OWASP合规:遵循API安全最佳实践和安全头
  • 输入验证:全面的Pydantic请求净化
  • 审计日志:结构化日志中的安全事件跟踪
  • 企业级安全完整的安全强化指南

📊 监控与可观测性

  • 健康检查:多层/health端点,带有依赖验证
  • 结构化日志:带相关ID和上下文的JSON日志
  • Prometheus指标:自定义业务和基础设施指标
  • Grafana仪表盘:预建仪表盘用于监控
  • 错误追踪:Sentry集成用于错误报告
  • 分布式追踪:跨服务的服务流程可视化

设置指南📊 监控与可观测性

🤝 贡献

我们欢迎贡献!请参阅我们的贡献指南了解详情。

贡献者的快速开始

# 1. 分叉并克隆仓库
git clone https://github.com/BjornMelin/qdrant-neo4j-crawl4ai-mcp.git
cd qdrant-neo4j-crawl4ai-mcp

# 2. 设置开发环境
uv sync --dev
uv run pre-commit install

# 3. 运行测试以验证设置
uv run pytest

# 4. 启动开发服务器
docker-compose up -d
uv run python -m qdrant_neo4j_crawl4ai_mcp

详细设置💻 开发者指南

📄 许可证

该项目采用MIT许可证 - 详情请参见LICENSE文件。

🎯 项目目标

此项目展示了:

  • 现代Python模式:异步编程、类型安全和当前生态系统工具
  • AI/ML集成:向量数据库、知识图谱和网络智能
  • 生产工程:安全、监控、测试和部署自动化
  • 清晰架构:具有清晰抽象的可组合服务
  • DevOps卓越:容器编排、CI/CD和基础设施即代码

📧 联系方式

  • 作者:[您的名字]
  • 邮箱:[your.email@example.com]
  • LinkedIn:[linkedin.com/in/yourprofile]
  • 作品集:[yourportfolio.com]

使用 ☕ FastMCP 2.0、Qdrant、Neo4j 和网络智能构建