Deploy Graphiti MCP + Neo4j
Knowledge-graph memory MCP server for AI agents, with persistent Neo4j
Just deployed
Graphiti MCP
Just deployed
Deploy and Host Graphiti MCP with Neo4j on Railway
Graphiti is the open-source temporal knowledge graph engine from Zep. Its MCP server turns that graph into long-term memory for AI agents: add_memory ingests text, chat messages, or JSON and extracts entities and relationships with bi-temporal validity, and search_memory_facts and search_nodes retrieve them with hybrid semantic, keyword, and graph search. Any MCP client, including Claude Code, Cursor, VS Code, and Claude Desktop, can use it as persistent memory across sessions.
About Hosting Graphiti MCP
Hosting the Graphiti MCP server means running the official zepai/knowledge-graph-mcp:1.1.0-standalone image next to a Neo4j 5.26 Community database that keeps the graph on a persistent volume. This template pins both images, selects the Neo4j backend and an IPv6 dual-stack bind through the server's own configuration overrides (no custom start command or config file mount), wires the two services together over Railway private networking, generates the Neo4j password, and uses /health and Neo4j's HTTP discovery endpoint for health checks. The MCP endpoint is served over streamable HTTP at /mcp on a public domain so remote MCP clients can connect. Graphiti needs an LLM and an embedder to extract knowledge, so an OPENAI_API_KEY is required at deploy time.
Common Use Cases
- Agent memory: give a coding or chat agent a memory that survives sessions and keeps track of when facts became true or stale
- User preference and requirement tracking: Graphiti's default entity types include Preference, Requirement, Procedure, Organization, and Event
- Team knowledge graph: ingest meeting notes, tickets, and documents and query relationships instead of chunks
- Multi-agent shared context: several agents read and write the same graph, partitioned by
group_id - Graph-backed RAG: combine semantic retrieval with relationship traversal for better grounding
Dependencies for Graphiti MCP Hosting
- Neo4j 5.26 Community: graph storage (included, with a
/datavolume) - OpenAI API key: required at boot for the LLM, embeddings, and reranking
- Optional providers: Anthropic, Gemini, Groq, or Azure OpenAI for the LLM and Gemini or Voyage for embeddings, selected with
LLM__PROVIDERandEMBEDDER__PROVIDER
Deployment Dependencies
- Graphiti MCP server documentation
- Graphiti GitHub repository
- Neo4j Docker configuration reference
- Docker Hub image
Implementation Details
Key variables set by the template:
# Graphiti MCP
PORT=8000
SERVER__HOST=0.0.0.0
SERVER__TRANSPORT=http
DATABASE__PROVIDER=neo4j
NEO4J_URI=${{Neo4j.GRAPH_BOLT_URL}}
NEO4J_PASSWORD=${{Neo4j.GRAPH_DB_PASSWORD}}
OPENAI_API_KEY=
MODEL_NAME=gpt-4.1-mini
GRAPHITI_TELEMETRY_ENABLED=false
# Neo4j
NEO4J_AUTH=neo4j/${{secret(32)}}
NEO4J_server_default__listen__address=::
NEO4J_server_memory_heap_max__size=512m
First steps after deploy:
- Open the MCP service and copy its public URL; the endpoint is
https:///mcp(no trailing slash;/mcp/redirects to an http URL). - Register it in your client, for example
claude mcp add --transport http graphiti https:///mcp. - Ask your agent to remember something; it calls
add_memory, and a few seconds latersearch_memory_factsreturns the extracted facts.
Security note: the upstream MCP server has no authentication. Keep the URL private, or remove the public domain and connect from services inside the same Railway project through graphiti-mcp.railway.internal:8000, or front it with an authenticating proxy. Neo4j is never exposed publicly by this template; add a domain on port 7474 plus a TCP proxy on 7687 only if you want Neo4j Browser.
Why Deploy Graphiti MCP on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Graphiti MCP on Railway, you get the official MCP server and a persistent Neo4j graph pre-wired over private networking, with generated secrets, health checks, and managed SSL, ready to plug into any MCP-capable agent.
Template Content
Graphiti MCP
zepai/knowledge-graph-mcp:1.1.0-standaloneOPENAI_API_KEY
REQUIRED to boot. Graphiti needs an LLM plus an embedder to extract entities, and the server builds an OpenAI reranker client at startup that fails without a key. Used for MODEL_NAME (LLM), EMBEDDER_MODEL (embeddings) and reranking.
