FalkorDB-MCPServer
FalkorDB-MCPServer is an MCP (Model Context Protocol) server that connects LLMs to FalkorDB
Install / Use
claude mcp add FalkorDB -- npx -y github:FalkorDB/FalkorDB-MCPServerIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of FalkorDB-MCPServer
FalkorDB-MCPServer scores 84/100 on our quality scale, 623rd of 943 AI & Machine Learning skills we index.
Its MCP Server is 17 KB long, well organised into 49 sections with 22 code examples: a thorough specification that gives an agent plenty to work with.
It has 42 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so FalkorDB-MCPServer is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
FalkorDB-MCPServer compared with similar skills
All 4 of these similar skills score higher than FalkorDB-MCPServer; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| FalkorDB-MCPServer (this skill)by FalkorDB | 84 | 42 | today | MCP Server |
| claude-memby thedotmack | 100 | 102.5k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 101.3k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 87.9k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.6k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install FalkorDB-MCPServer?
- Run
claude mcp add FalkorDB -- npx -y github:FalkorDB/FalkorDB-MCPServer. The install tabs above show the steps for each supported agent. - Which AI agents does FalkorDB-MCPServer work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is FalkorDB-MCPServer safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is FalkorDB-MCPServer still maintained?
- The repository was last updated today, so FalkorDB-MCPServer is actively maintained.
Skill content
View source on GitHubFalkorDB MCP Server
A Model Context Protocol (MCP) server for FalkorDB, allowing AI models to query and interact with graph databases. FalkorDB MCP Server enables AI assistants like Claude to interact with FalkorDB graph databases using natural language. Query your graph data, create relationships, and manage your knowledge graph - all through conversational AI.
🎯 What is this?
This server implements the Model Context Protocol (MCP), allowing AI models to:
- Query graph databases using OpenCypher (with read-only mode support)
- Create and manage nodes and relationships
- List and explore multiple graphs
- Delete graphs when needed
- Read-only queries for replica instances or to prevent accidental writes
🚀 Quick Start
Prerequisites
- Node.js 18+
- FalkorDB instance (running locally or remotely)
- Claude Desktop app (for AI integration)
Running from npm
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"falkordb": {
"command": "npx",
"args": [
"-y",
"@falkordb/mcpserver@latest"
],
"env": {
"FALKORDB_HOST": "localhost",
"FALKORDB_PORT": "6379",
"FALKORDB_USERNAME": "",
"FALKORDB_PASSWORD": ""
}
}
}
}
Running with npx
You can run the server directly from the command line using npx:
Using inline environment variables:
# Run with stdio transport (default)
FALKORDB_HOST=localhost FALKORDB_PORT=6379 npx -y @falkordb/mcpserver
# Run with HTTP transport
MCP_TRANSPORT=http MCP_PORT=3005 FALKORDB_HOST=localhost FALKORDB_PORT=6379 npx -y @falkordb/mcpserver
Using a .env file:
# Using dotenv-cli to load environment variables from .env
npx dotenv-cli -e .env -- npx @falkordb/mcpserver
This is useful for:
- Quick testing and development
- Running the server standalone without Claude Desktop
- Custom integrations and scripting
Docker Compose
Run FalkorDB and the MCP server together:
cp .env.example .env # create env file; edit to set MCP_API_KEY, FALKORDB_PASSWORD, etc.
docker compose up -d
Note: Skipping the
.envfile leaves variables likeMCP_API_KEYandFALKORDB_PASSWORDempty, which disables API key authentication and uses no database password.
Tip: Set
REDIS_ARGSin.envto pass extra flags to the bundled FalkorDB'sredis-server, for exampleREDIS_ARGS=--appendonly yes. The value is split on whitespace, and the auth flags derived fromFALKORDB_PASSWORDare appended after it, so they win on conflict.Flags that write to disk do not yet survive a
docker compose down: the image runsredis-server --dir /var/lib/falkordb/data— appended afterREDIS_ARGS, so the directory cannot be overridden here — while thefalkordb-datavolume is mounted at/data. Until #174 moves the mount to the real data directory, RDB and AOF files are written to the container's writable layer.
This starts FalkorDB with health checks and persistent volumes, plus the MCP server pre-configured to connect to it.
The MCP server runs in HTTP transport mode and is exposed on localhost:8080 by default. To connect a client, configure it to use:
- Transport:
http - URL:
http://localhost:8080 - API Key: Set via the
MCP_API_KEYenvironment variable (optional)
See docker-compose.yml for the exact port and configuration values.
Installation
-
Clone and install:
git clone https://github.com/FalkorDB/FalkorDB-MCPServer.git cd FalkorDB-MCPServer npm install -
Configure environment:
cp .env.example .envEdit
.env:# Environment Configuration NODE_ENV=development # FalkorDB Configuration FALKORDB_HOST=localhost FALKORDB_PORT=6379 FALKORDB_USERNAME= # Optional FALKORDB_PASSWORD= # Optional FALKORDB_TLS=false # Set to 'true' when FalkorDB is behind TLS FALKORDB_DEFAULT_READONLY=false # Set to 'true' for read-only mode (useful for replicas) # Logging Configuration (optional) ENABLE_FILE_LOGGING=false -
Build the project:
npm run build
🤖 Claude Desktop Integration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"falkordb": {
"command": "node",
"args": [
"/absolute/path/to/falkordb-mcpserver/dist/index.js"
]
}
}
}
Restart Claude Desktop and you'll see the FalkorDB tools available!
📚 Available MCP Tools
Once connected, you can ask Claude to:
🔍 Query Graphs
"Show me all people who know each other"
"Find the shortest path between two nodes"
"What relationships does John have?"
"Run a read-only query on the replica instance"
Note: The query_graph tool now supports a readOnly parameter to execute queries in read-only mode using GRAPH.RO_QUERY. This is ideal for:
- Running queries on replica instances
- Preventing accidental write operations
- Ensuring data integrity in production environments
There's also a dedicated query_graph_readonly tool that always executes queries in read-only mode.
Parameterized queries: The query_graph and query_graph_readonly tools accept an optional params object so values can be passed separately from the query text (referenced as $name), instead of string-concatenating them into Cypher. This avoids query-injection risks and malformed queries. For example, a query of MATCH (p:Person {name: $name}) RETURN p with params: { "name": "Alice" }. Parameter names (including nested map keys) must be valid identifiers. Note: FalkorDB does not allow parameters in LIMIT/SKIP clauses.
📝 Manage Data
"Create a new person named Alice who knows Bob"
"Add a 'WORKS_AT' relationship between Alice and TechCorp"
📊 Explore Structure
"List all available graphs"
"Show me the schema of the movies graph"
"What properties do Person nodes usually have in the movies graph?"
"What properties are on ACTED_IN relationships in the movies graph?"
"Delete the old_test graph"
Schema discovery: FalkorDB is schemaless, so three tools help an agent orient itself before querying:
get_graph_schema— returns node labels, relationship types, and (optionally) the connection topology. Each connection is{ source, relationship, target }wheresourceandtargetare arrays of node labels (a node may have multiple labels) andrelationshipis the relationship type. Topology is derived from a bounded sample of relationships (connectionSampleSize, default10000) and can be turned off withincludeConnections: falseon very large graphs.get_node_schema/get_relationship_schema— sample up tosampleSize(default100) nodes/relationships of a given label/type and rank their property keys by frequency, returning the actualsampledCountalongsiderequestedSampleSize. Useful for spotting property naming drift.
All three schema tools always execute read-only (GRAPH.RO_QUERY), so they are safe to run against replica/read-only deployments.
A typical orientation workflow is: list_graphs → get_graph_schema → get_node_schema / get_relationship_schema → query_graph.
🛠️ Development
Commands
# Development with hot-reload
npm run dev
# Development with TypeScript execution (faster startup)
npm run dev:ts
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage report
npm run test:coverage
# Lint code
npm run lint
# Lint and auto-fix issues
npm run lint:fix
# Build for production
npm run build
# Start production server
npm start
# Inspect MCP server with debugging tools
npm run inspect
# Clean build artifacts
npm run clean
# Full CI pipeline (test, lint, build)
npm run prepublish
Project Structure
src/
├── index.ts # MCP server entry point
├── services/ # Core business logic
│ ├── falkordb.service.ts # FalkorDB operations
│ └── logger.service.ts # Logging and MCP notifications
├── mcp/ # MCP protocol implementations
│ ├── tools.ts # MCP tool definitions
│ ├── resources.ts # MCP resource definitions
│ └── prompts.ts # MCP prompt definitions
├── errors/ # Error handling framework
│ ├── AppError.ts # Custom error classes
│ └── ErrorHandler.ts # Global error handling
├── config/ # Configuration management
│ └── index.ts # Environment configuration
├── models/ # TypeScript type definitions
│ ├── mcp.types.ts # MCP protocol types
│ └── mcp-client-config.ts # Configuration models
└── utils/ # Utility functions
└── connection-parser.ts # Connection string parsing
🔧 Advanced Configuration
Transport Modes
The server supports two transport modes:
stdio (default)
Used for direct integration with AI clients like Claude Desktop. Communication happens via standard input/output.
MCP_TRANSPORT=stdio
Streamable HTTP
Exposes the MCP server over HTTP for remote or networked access. Supports multiple concurrent sessions via the MCP Streamable HTTP protocol.
MCP_TRANSPORT=http
MCP_PORT=8080
MCP_API_KEY=your-secret-api-key # Optional but recommended
When using HTTP transport, clients connect by sending a POST request with an initialize message. The server returns an Mcp-Session-Id header that must be included in subsequent requests. API key authentication is enforced via the Authorization: Bearer <key> header when MCP_API_KEY is set.
Testing HTTP transport:
-
Start the server:
MCP_TRANSPORT=http MCP_PORT=8080 npm start -
Use the MCP Inspector to connect:
npx @modelcontextprotocol/inspector --transport streamable-http --url http://localhost:8080
Note:
npm run inspectuses stdio transport. For HTTP, start the server and inspector separately as shown above.
API Key Authentication:
When MCP_API_KEY is set, all HTTP requests must include an Authorization header:
MCP_TRANSPORT=http MCP_API_KEY=my-secret-key npm start
Clients must then send:
Authorization: Bearer my-secret-key
Requests without a valid key receive a 401 Unauthorized response. Auth is only enforced in HTTP mode — stdio mode ignores MCP_API_KEY since only the parent process can communicate.
Using with Docker
**Using pre-bu
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
102.5kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
101.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
87.9kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
77.6kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
