qdrant-neo4j-crawl4ai-mcp

qdrant-neo4j-crawl4ai-mcp

3.2

If you are the rightful owner of qdrant-neo4j-crawl4ai-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Qdrant Neo4j Crawl4AI MCP Server is a production-ready agentic RAG MCP server that integrates vector search, knowledge graphs, and web intelligence for autonomous orchestration.

Qdrant Neo4j Crawl4AI MCP Server

Production-ready agentic RAG MCP server combining Qdrant vector search, Neo4j knowledge graphs, and Crawl4AI web intelligence with autonomous orchestration capabilities

🎯 What is This?

This is an Agentic RAG (Retrieval-Augmented Generation) MCP Server that provides intelligent, autonomous coordination of multiple AI services through a single Model Context Protocol interface. It combines:

  • Vector Intelligence: Semantic search and embedding storage via Qdrant
  • Graph Intelligence: Knowledge graphs and memory systems via Neo4j
  • Web Intelligence: Smart web crawling and content extraction via Crawl4AI
  • Agentic Orchestration: Autonomous query routing and result fusion
  • Production-Ready: Enterprise security, monitoring, and deployment patterns

🏗️ Architecture

graph TB
    Client[AI Assistant Client] --> Gateway[FastMCP Gateway]
    
    subgraph "Qdrant Neo4j Crawl4AI MCP Server"
        Gateway --> Router[Request Router]
        Router --> Vector[Vector Service]
        Router --> Graph[Graph Service] 
        Router --> Web[Web Intelligence Service]
        
        Vector --> |mount: /vector| QdrantMCP[Qdrant MCP Server]
        Graph --> |mount: /graph| Neo4jMCP[Neo4j Memory MCP]
        Web --> |mount: /web| Crawl4AIMCP[Crawl4AI MCP Server]
    end
    
    subgraph "Data Layer"
        QdrantMCP --> QdrantDB[(Qdrant Vector DB)]
        Neo4jMCP --> Neo4jDB[(Neo4j Graph DB)]
        Crawl4AIMCP --> WebSources[Web Data Sources]
    end

⚡ Technology Stack

  • FastMCP 2.0: Server composition and MCP protocol handling
  • Python 3.11+: Modern async patterns and type safety
  • Qdrant: Vector database for semantic search
  • Neo4j: Graph database for knowledge representation
  • Crawl4AI: Web intelligence and content extraction
  • Docker: Containerized deployment with health checks

🚀 Quick Start

Prerequisites

  • Python 3.11+
  • uv (recommended) or pip
  • Docker & Docker Compose

Installation

# Clone the repository
git clone https://github.com/BjornMelin/qdrant-neo4j-crawl4ai-mcp.git
cd qdrant-neo4j-crawl4ai-mcp

# Install dependencies
uv sync

# Set up environment
cp .env.example .env
# Edit .env with your configuration

# Run with Docker
docker-compose up -d

# Or run locally
uv run python -m qdrant_neo4j_crawl4ai_mcp

Configuration

Key environment variables:

# Server Configuration
MCP_SERVER_HOST=localhost
MCP_SERVER_PORT=8000
JWT_SECRET_KEY=your-secure-secret-key

# Database Configuration  
QDRANT_URL=http://localhost:6333
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password

# Security
RATE_LIMIT_PER_MINUTE=100
CORS_ORIGINS=https://your-domain.com

💻 Development

Testing

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=qdrant_neo4j_crawl4ai_mcp --cov-report=html

# Run specific test suite
uv run pytest tests/integration/

Code Quality

# Format code
uv run ruff format .

# Lint code
uv run ruff check . --fix

# Type checking
uv run mypy .

📚 API Documentation

Once running, access the interactive API documentation at:

Example Usage

import asyncio
from qdrant_neo4j_crawl4ai_mcp.client import QdrantNeo4jCrawl4AIMCPClient

async def main():
    client = QdrantNeo4jCrawl4AIMCPClient("http://localhost:8000")
    
    # Vector search
    results = await client.vector_search("artificial intelligence")
    
    # Graph query
    memories = await client.graph_query("MATCH (n:Memory) RETURN n LIMIT 10")
    
    # Web crawling
    content = await client.web_crawl("https://example.com")

asyncio.run(main())

📦 Deployment

Docker Deployment

# Production build
docker build -t qdrant-neo4j-crawl4ai-mcp .
docker run -p 8000:8000 qdrant-neo4j-crawl4ai-mcp

Cloud Deployment

  • Railway: One-click deployment via railway.app
  • Fly.io: Global edge deployment
  • AWS: ECS/Lambda deployment with CDK

📚 Complete Documentation

🚀 Getting Started

  • - Complete navigation guide
  • - 5-minute setup
  • - Detailed setup
  • - Environment setup
  • - Learn the system

📖 User Guides

  • - Semantic similarity search
  • - Graph reasoning
  • - Real-time web data
  • - Multi-modal intelligence

🔧 Technical Reference

  • - Complete REST API docs
  • - System design overview
  • - Enterprise security
  • - Production monitoring

🚢 Deployment & Operations

  • - Production deployment
  • - Container orchestration
  • - Containerized deployment
  • - Railway, Fly.io, etc.

💻 Development & Contributing

  • - Complete dev workflow
  • - Unit & integration tests
  • - How to contribute
  • - Dev environment setup

📝 Examples & Tutorials

  • - Code examples & tutorials
  • - Simple queries
  • - Complex patterns
  • - Multiple languages

For detailed deployment guides, see .

🔒 Security & Compliance

  • JWT Authentication: Secure token-based authentication with refresh tokens
  • Rate Limiting: Redis-backed distributed request throttling
  • OWASP Compliance: Following API security best practices and security headers
  • Input Validation: Comprehensive Pydantic-based request sanitization
  • Audit Logging: Security event tracking with structured logging
  • Enterprise Security:

📊 Monitoring & Observability

  • Health Checks: Multi-layer /health endpoints with dependency validation
  • Structured Logging: JSON logs with correlation IDs and context
  • Prometheus Metrics: Custom business and infrastructure metrics
  • Grafana Dashboards: Pre-built dashboards for monitoring
  • Error Tracking: Sentry integration for error reporting
  • Distributed Tracing: Request flow visualization across services

Setup Guide:

🤝 Contributing

We welcome contributions! Please see our for details.

Quick Start for Contributors

# 1. Fork and clone the repository
git clone https://github.com/BjornMelin/qdrant-neo4j-crawl4ai-mcp.git
cd qdrant-neo4j-crawl4ai-mcp

# 2. Set up development environment
uv sync --dev
uv run pre-commit install

# 3. Run tests to verify setup
uv run pytest

# 4. Start development server
docker-compose up -d
uv run python -m qdrant_neo4j_crawl4ai_mcp

Detailed Setup:

📄 License

This project is licensed under the MIT License - see the file for details.

🎯 Project Goals

This project demonstrates:

  • Modern Python Patterns: Async programming, type safety, and current ecosystem tools
  • AI/ML Integration: Vector databases, knowledge graphs, and web intelligence
  • Production Engineering: Security, monitoring, testing, and deployment automation
  • Clean Architecture: Composable services with clear abstractions
  • DevOps Excellence: Container orchestration, CI/CD, and infrastructure as code

📧 Contact

  • Author: [Your Name]
  • Email: []
  • LinkedIn: [linkedin.com/in/yourprofile]
  • Portfolio: [yourportfolio.com]

Built with ☕ using FastMCP 2.0, Qdrant, Neo4j, and Web Intelligence