Zero TLS Config
Verbinden ohne Zertifikate
Lightweight Proxy für Browser-Zugriff auf selbst-gehostete Neo4j Datenbanken. Löst das TLS-Problem bei Railway, Render, Fly.io und anderen Plattformen.
Zero TLS Config
Verbinden ohne Zertifikate
Überall nutzbar
Railway, Render, Fly.io, Docker
REST API
Für LLMs und Automatisierung
Open Source
MIT Lizenz, selbst hosten
Browser erzwingen HTTPS. Neo4j Bolt ist standardmäßig unverschlüsselt (bolt://). Cloud-Plattformen terminieren TLS nur für HTTP, nicht für TCP-Ports wie Bolt 7687.
Ergebnis: Neo4j Browser kann sich nicht verbinden.
Browser (HTTPS) → Neo4j Web Bridge → Neo4j (bolt://) ↑ Handles TLSDie Bridge nimmt HTTPS-Requests entgegen und kommuniziert intern via Bolt mit Neo4j.
Sicher wenn:
Unsicher wenn:
bolt:// Traffic geht über das öffentliche InternetEmpfehlung: Immer zusammen mit Neo4j Railway im gleichen Projekt deployen.
MacStenk/neo4j-web-bridgebolt://neo4j.railway.internal:7687docker run -p 3000:3000 \ -e NEO4J_URI=bolt://your-neo4j:7687 \ -e NEO4J_USER=neo4j \ -e NEO4J_PASSWORD=your-password \ neo4j-web-bridgeDann http://localhost:3000 öffnen.
git clone https://github.com/MacStenk/neo4j-web-bridge.gitcd neo4j-web-bridgenpm installnpm startFür API-Nutzung und Gateway-Integration kann die Bridge automatisch beim Start verbinden.
NEO4J_URI=bolt://yamanote.proxy.rlwy.net:36570NEO4J_USER=neo4jNEO4J_PASSWORD=your-passwordNEO4J_DATABASE=neo4j # optional, default: neo4j╔═══════════════════════════════════════════╗║ Neo4j Web Bridge v1.0.0 ║╠═══════════════════════════════════════════╣║ Server: http://localhost:3000 ║║ API: http://localhost:3000/api ║╚═══════════════════════════════════════════╝
Auto-connect enabled. Connecting to Neo4j...✅ Auto-connected to Neo4j: bolt://yamanote.proxy.rlwy.net:36570Die Bridge ist sofort einsatzbereit - kein manuelles Verbinden nötig.
Die Bridge funktioniert als Backend für den MCP Gateway - damit kannst du via Chat (Gemini AI) mit deiner Neo4j Datenbank sprechen.
{ "name": "neo4j", "type": "neo4j", "url": "https://your-neo4j-bridge.railway.app"}Im MCP Gateway Chat:
“Zeig mir alle Nodes in der Datenbank”
Der Gateway erkennt, dass er das neo4j_query Tool braucht, ruft die Bridge auf, und gibt dir die Ergebnisse zurück.
Die Bridge bietet eine REST API - ideal für LLM-Integration und Automatisierung.
GET /api/health{ "status": "ok", "version": "1.0.0", "connected": true, "autoConnect": true}Nur nötig wenn kein Auto-Connect konfiguriert ist.
POST /api/connectContent-Type: application/json
{ "uri": "bolt://neo4j.railway.internal:7687", "username": "neo4j", "password": "xxx", "database": "neo4j"}POST /api/queryContent-Type: application/json
{ "cypher": "MATCH (n) RETURN n LIMIT 10", "params": {}}Response:
{ "success": true, "records": [...], "summary": { "resultConsumedAfter": 12 }}POST /api/disconnectDie API ermöglicht direkten Neo4j-Zugriff für LLMs:
import requests
# Bei Auto-Connect: Direkt Query ausführenresponse = requests.post("https://bridge.railway.app/api/query", json={ "cypher": "MATCH (n:Person) RETURN n.name LIMIT 5"})
print(response.json()["records"])Anwendungsfälle:
| Variable | Default | Beschreibung |
|---|---|---|
PORT | 3000 | Server Port |
NEO4J_URI | — | Neo4j URL für Auto-Connect |
NEO4J_USER | — | Username für Auto-Connect |
NEO4J_PASSWORD | — | Passwort für Auto-Connect |
NEO4J_DATABASE | neo4j | Database Name |
CORS_ORIGIN | * | Erlaubte Origins |
┌─────────────────────────────────────────────────┐│ Railway Private Network ││ ││ ┌─────────────┐ ┌─────────────────┐ ││ │ Neo4j Web │ bolt │ Neo4j │ ││ │ Bridge │────────▶│ Database │ ││ │ (Node.js) │ │ (neo4j-railway)│ ││ └─────────────┘ └─────────────────┘ ││ ▲ │└─────────│────────────────────────────────────────┘ │ HTTPS (verschlüsselt) │ ┌─────┴─────┐ │ Browser │ │ LLM/API │ │ Gateway │ └───────────┘Der kritische Punkt: Die bolt:// Verbindung ist unverschlüsselt, aber sie verlässt nie Railway’s privates Netzwerk.