Facilitates secure remote connectivity through Cloudflare Zero Trust Access, offering specialized support for tunneling BOLT protocol connections and automated management for various TCP services.
Includes automated tunnel management scripts to enable secure remote connections to MongoDB instances through Cloudflare Access.
Provides automated configuration and management of Cloudflare Access tunnels to facilitate secure remote connections to MySQL databases.
Provides tools for managing a persistent graph-based memory system, enabling assistants to store, search, and connect memories as nodes and relationships with semantic vector search.
Includes automated tunnel management scripts to enable secure remote connections to PostgreSQL databases through Cloudflare Access.
Includes automated tunnel management scripts to enable secure remote connections to Redis servers through Cloudflare Access.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Personal Neo4j Memory ServerSearch for memories about 'Cloudflare Access' and show their relationships."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Personal Neo4j Memory Server - Enhanced Cloudflare Access Support
A Model Context Protocol (MCP) server that provides AI assistants with persistent, intelligent memory capabilities using Neo4j's graph database with enhanced Cloudflare Access tunneling support.
🎯 What it does
This server enables AI assistants to:
Remember - Store memories as interconnected knowledge nodes with observations and metadata
Search - Find relevant memories using semantic vector search, exact matching, and graph traversal
Connect - Create meaningful relationships between memories with batch operations and cross-references
Organize - Separate memories by project using different databases
Evolve - Track how knowledge develops over time with temporal metadata and relationship networks
🚀 NEW: Reliable Remote Access - Connect through Cloudflare Zero Trust Access from anywhere
✨ Key Features
Core Capabilities
🧠 Graph Memory - Memories as nodes, relationships as edges, observations as content
🔍 Unified Search - Semantic vectors, exact matching, wildcards, and graph traversal in one tool
🔗 Smart Relations - Typed connections with strength, source tracking, and temporal metadata
📊 Multi-Database - Isolated project contexts with instant switching
☁️ Cloudflare Access Ready - Zero Trust tunneling for secure remote connections
Advanced Operations
⚡ Batch Operations - Create multiple memories with relationships in single request using localId
🎯 Context Control - Response detail levels: minimal (lists), full (complete data), relations-only
📅 Time Queries - Filter by relative ("7d", "30d") or absolute dates on any temporal field
🌐 Graph Traversal - Navigate networks in any direction with depth control
🛡️ Zero Trust Security - mTLS encryption through Cloudflare Access
Architecture
🚀 MCP Native - Seamless integration with Claude Desktop and MCP clients
💾 Persistent Storage - Neo4j graph database with GDS plugin for vector operations
☁️ Cloudflare Optimized - Solved BOLT protocol tunneling issues
⚠️ Zero-Fallback - Explicit errors for reliable debugging, no silent failures
🚀 Quick Start - NPM Installation
Option 1: Install from NPM (Recommended)
Option 2: Install from GitHub (Available Now)
📝 Claude Code Configuration
Add to Claude Desktop/Claude Code config:
For NPM Package (when published):
For GitHub Installation (Current):
☁️ Cloudflare Access Setup (CRITICAL FOR REMOTE SETUP)
🎯 The Problem Solved
Traditional Cloudflare Tunnel with TCP (cloudflared tunnel --url tcp://localhost:7687) fails for Neo4j BOLT protocol, causing HTTP 400 errors.
✅ The Solution: Cloudflare Access
Use cloudflared access tcp instead of cloudflared tunnel for reliable BOLT protocol connections.
1. Cloudflare Dashboard Configuration
Navigate to: Zero Trust → Networks → Tunnels → Public Hostnames
Add Public Hostname:
Type: TCP
Hostname:
neo4j-bolt.jeelidev.uk(or your domain)Service:
tcp://localhost:7687
2. Local Cloudflare Access Command
3. SSH Configuration (Optional but Recommended)
Add to ~/.ssh/config:
🛠️ Automated TCP Tunnels Service
📁 Included Scripts
This package includes automated tunnel management for any TCP service:
cloudflare-tcp-tunnels.sh - Main Script
Pre-configured Services:
Neo4j BOLT:
neo4j-bolt.jeelidev.uk:7687Neo4j Routing:
neo4j-routing.jeelidev.uk:7688MySQL:
mysql-server.jeelidev.uk:3306PostgreSQL:
postgres-server.jeelidev.uk:5432SSH:
ssh-server.jeelidev.uk:22Redis:
redis-server.jeelidev.uk:6379MongoDB:
mongodb-server.jeelidev.uk:27017Custom Services: Easily add more with
addcommand
cloudflare-tcp-tunnels.service - Systemd Service
🗄️ Neo4j Setup
Working setup: DozerDB with GDS Plugin
For the database, use DozerDB with the Graph Data Science plug-in, GDS is not only recommended but necessary:
For current installation instructions, see: https://dozerdb.org/
Example setup:
Remote Neo4j with Cloudflare Access
For remote Neo4j servers, use Cloudflare Access instead of traditional tunneling:
🛠️ Unified Tools
The server provides 4 unified MCP tools that integrate automatically with Claude:
memory_store- Create memories with observations and immediate relations in ONE operationmemory_find- Unified search/retrieval with semantic search, direct ID lookup, date filtering, and graph traversalmemory_modify- Comprehensive modification operations (update, delete, observations, relations)database_switch- Switch database context for isolated environments
📊 Memory Structure
🎯 System Prompt
The simplest use of the memory tool, the following usually is more than enough.
🔧 Troubleshooting
Cloudflare Access Issues
❌ HTTP 400 Error with Traditional Tunneling:
✅ Connection Verification:
Vector Search Issues:
Check logs for
[VectorSearch] GDS Plugin detectedGDS Plugin requires DozerDB setup (see Neo4j Setup section)
Connection Issues:
Verify Neo4j is running:
docker psTest connection:
curl http://localhost:7474Check credentials in environment variables
Ensure Cloudflare Access tunnels are running
📚 Cloudflare Access Commands Reference
Supported Protocols:
🚀 Production Deployment
For Production Use:
Install systemd service for automatic tunnel startup
Configure proper SSL certificates in Cloudflare Zero Trust
Set up access policies for additional security
Monitor tunnel health with the provided status command
Use environment variables for sensitive configuration
📄 License
MIT
🤝 Contributing
This is a personal fork enhanced for Cloudflare Access compatibility. Original project by sylweriusz.
Key Enhancements in This Fork:
✅ Cloudflare Access TCP compatibility
✅ Enhanced error logging for tunneling issues
✅ Automated tunnel management scripts
✅ Production-ready systemd service
✅ Comprehensive documentation