Get the FREE Ultimate OpenClaw Setup Guide →

graph-rag

MCP server from ferparra/graph-rag-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio ferparra-graph-rag-mcp-server uvx --python 3.13 --from . graph-rag-mcp-stdio \
  --env GEMINI_API_KEY="your_api_key_here" \
  --env OBSIDIAN_RAG_VAULTS="/path/to/your/vault"

How to use

This MCP server provides a local-first Graph-RAG system that indexes your Obsidian vault using a unified ChromaDB store with metadata-based graph relationships. It enables RAG-powered Q&A, graph navigation, and PARA taxonomy enrichment, leveraging Gemini 2.5 Flash for intelligent insights. Tools exposed by the server include search_notes for vector search across notes, answer_question for multi-hop Q&A with citations, graph_neighbors and get_subgraph for exploring relationships, and note operations like create_note, read_note, and update_note_properties. You can also navigate backlinks, filter notes by tags, and manage vault indexing and PARA enrichment from a local setup. To use Claude Desktop (stdio) or HTTP clients like Cursor and Raycast, configure the MCP client to connect to the appropriate endpoint (stdio or HTTP) and provide your GEMINI_API_KEY and vault paths in environment configuration. After setup, you can index your vault, reindex the ChromaDB store, and perform real-time watching to keep the graph up to date.

How to install

Prerequisites:

  • Python or uv (as described in the project) and the uv-based installer
  • Access to Gemini API (GEMINI_API_KEY) and your Obsidian vault

Step-by-step:

  1. Install uv (if not installed):
curl -LsSf https://astral.sh/uv/install.sh | sh  # macOS/Linux
  1. Install and index the MCP server (as described in the project):
uv sync
  1. Configure environment and vault paths:
# Copy example env and edit
cp configs/.env.example .env
  1. Index your vault to create the unified ChromaDB store:
uv run scripts/reindex.py all
  1. Run the MCP server in your desired mode (stdio for Claude Desktop, HTTP for Cursor/Raycast):
# Claude Desktop (stdio mode)
uvx --python 3.13 --from . graph-rag-mcp-stdio

# Cursor/Raycast (HTTP mode)
uv run graph-rag-mcp-http
  1. If needed, start the real-time watcher and PARA enrichment tools:
uv run scripts/reindex_watch.py start
uv run scripts/enrich_para_taxonomy.py enrich-all --apply

Additional notes

Tips:

  • Ensure GEMINI_API_KEY is set in your environment for Gemini 2.5 Flash integration.
  • Set OBSIDIAN_RAG_VAULTS to the path(s) of your Obsidian vaults you want indexed.
  • The MCP supports multiple clients; use stdio for Claude Desktop and HTTP for Cursor/Raycast. You can adjust the port with graph-rag-mcp-http --port <port>.
  • Regularly run reindexing to keep the ChromaDB store in sync with vault changes; enable the file watcher for real-time indexing.
  • PARA taxonomy enrichment uses DSPy; configure batch sizes and limit parameters to balance performance with vault size.
  • If you encounter environment-variable or path issues, verify that the working directory (cwd) points to your graph-rag-mcp-server and that the vault paths exist and are accessible.

Related MCP Servers

Sponsor this space

Reach thousands of developers