MCP Memory Server with Qdrant Persistence
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Supports reverse proxy configurations with Apache for routing traffic to the MCP memory server in secure deployment scenarios.
Provides containerized deployment of the MCP memory server, enabling easy setup and management with Docker images and containers.
Supports HTTPS connections and reverse proxy configurations with Nginx for secure and flexible deployment architectures.
MCP Memory Server with Qdrant Persistence
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
- Install dependencies:
- Build the server:
Docker Setup
- Build the Docker image:
- Run the Docker container with required environment variables:
Add to MCP settings:
Tools
Entity Management
create_entities
: Create multiple new entitiescreate_relations
: Create relations between entitiesadd_observations
: Add observations to entitiesdelete_entities
: Delete entities and their relationsdelete_observations
: Delete specific observationsdelete_relations
: Delete specific relationsread_graph
: Get the full knowledge graph
Semantic Search
search_similar
: Search for semantically similar entities and relationsCopy
Implementation Details
The server maintains two forms of persistence:
- File-based (memory.json):
- Complete knowledge graph structure
- Fast access to full graph
- Used for graph operations
- Qdrant Vector DB:
- Semantic embeddings of entities and relations
- Enables similarity search
- Automatically synchronized with file storage
Synchronization
When entities or relations are modified:
- Changes are written to memory.json
- Embeddings are generated using OpenAI
- Vectors are stored in Qdrant
- Both storage systems remain consistent
Search Process
When searching:
- Query text is converted to embedding
- Qdrant performs similarity search
- Results include both entities and relations
- 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
- Configure your reverse proxy (example using Nginx):
- 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:
- Verify your certificates:
- Test direct connectivity:
- Check for any proxy settings:
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
MIT
This server cannot be installed
Facilitates knowledge graph representation with semantic search using Qdrant, supporting OpenAI embeddings for semantic similarity and robust HTTPS integration with file-based graph persistence.
- Features
- Environment Variables
- Setup
- Tools
- Implementation Details
- Example Usage
- HTTPS and Reverse Proxy Configuration
- Contributing
- License