qdrant knowledge graph.com
qdrant knowledge graph.com logo

Qdrant Knowledge Graph

Integrates a knowledge graph with semantic search capabilities, enabling efficient storage, retrieval, and querying of s...

Created byApr 23, 2025

MCP Memory Server with Qdrant Persistence

[![smithery badge](https://smithery.ai/badge/@delorenj/mcp-qdrant-memory)](https://smithery.ai/server/@delorenj/mcp-qdrant-memory)
This MCP server provides a knowledge graph implementation with semantic search capabilities powered by Qdrant vector database.

Features

  • Graph-based knowledge representation with entities and relations
  • File-based persistence (memory.json)
  • Semantic search using Qdrant vector database
  • OpenAI embeddings for semantic similarity
  • HTTPS support with reverse proxy compatibility
  • Docker support for easy deployment

Environment Variables

The following environment variables are required:

Setup

Local Setup

  1. Install dependencies:
  1. Build the server:

Docker Setup

  1. Build the Docker image:
  1. Run the Docker container with required environment variables:

Add to MCP settings:

Tools

Entity Management

  • `create_entities`: Create multiple new entities
  • `create_relations`: Create relations between entities
  • `add_observations`: Add observations to entities
  • `delete_entities`: Delete entities and their relations
  • `delete_observations`: Delete specific observations
  • `delete_relations`: Delete specific relations
  • `read_graph`: Get the full knowledge graph

Semantic Search

  • `search_similar`: Search for semantically similar entities and relations ```typescript interface SearchParams { query: string; // Search query text limit?: number; // Max results (default: 10) } ```

Implementation Details

The server maintains two forms of persistence:
  1. File-based (memory.json): - Complete knowledge graph structure - Fast access to full graph - Used for graph operations
  1. Qdrant Vector DB: - Semantic embeddings of entities and relations - Enables similarity search - Automatically synchronized with file storage

Synchronization

When entities or relations are modified:
  1. Changes are written to memory.json
  1. Embeddings are generated using OpenAI
  1. Vectors are stored in Qdrant
  1. Both storage systems remain consistent

Search Process

When searching:
  1. Query text is converted to embedding
  1. Qdrant performs similarity search
  1. Results include both entities and relations
  1. Results are ranked by semantic similarity

Example Usage

HTTPS and Reverse Proxy Configuration

The server supports connecting to Qdrant through HTTPS and reverse proxies. This is particularly useful when:
  • Running Qdrant behind a reverse proxy like Nginx or Apache
  • Using self-signed certificates
  • Requiring custom SSL/TLS configurations

Setting up with a Reverse Proxy

  1. Configure your reverse proxy (example using Nginx):
  1. Update your environment variables:

Security Considerations

The server implements robust HTTPS handling with:
  • Custom SSL/TLS configuration
  • Proper certificate verification options
  • Connection pooling and keepalive
  • Automatic retry with exponential backoff
  • Configurable timeouts

Troubleshooting HTTPS Connections

If you experience connection issues:
  1. Verify your certificates:
  1. Test direct connectivity:
  1. Check for any proxy settings:

Contributing

  1. Fork the repository
  1. Create a feature branch
  1. Make your changes
  1. Submit a pull request

License

MIT