home / mcp / org-roam mcp server
Provides MCP access to your org-roam data, enabling read and write operations for notes and links.
Configuration
View docs{
"mcpServers": {
"aserranoni-org-roam-mcp": {
"command": "uvx",
"args": [
"org-roam-mcp"
],
"env": {
"ORG_ROAM_DIR": "YOUR_PATH",
"ORG_ROAM_DB_PATH": "YOUR_PATH",
"ORG_ROAM_MAX_SEARCH_RESULTS": "50"
}
}
}
}You can run an MCP server that lets Claude Code and other MCP clients read and write to your org-roam knowledge base. It automatically finds your org-roam database, supports fast search, and keeps data in sync after edits, so you can build powerful AI-assisted note workflows without leaving your org-roam setup.
Install and run the server, then connect your MCP client to it using the provided commands. You can perform read operations like searching notes and backlinks, and write operations such as creating notes, updating content, and adding links between nodes. The server respects your org-roam structure and keeps the in-memory view synchronized after changes.
Prerequisites: Python 3.8+ and a working org-roam setup with a SQLite database. You may also install via the uvx runtime for MCPs.
# Using uvx (recommended)
uvx org-roam-mcp
# Or with pip in a virtual environment
pip install org-roam-mcpAuto-detection finds common org-roam database locations and directories. If you need to override paths, set environment variables before starting the server:
export ORG_ROAM_DB_PATH="/path/to/your/org-roam.db"
export ORG_ROAM_DIR="/path/to/your/org-roam"
export ORG_ROAM_MAX_SEARCH_RESULTS=100 # Default is 50If the server cannot locate your database, verify the paths, ensure read/write access to the org-roam directory and database file, and optionally set ORG_ROAM_DB_PATH and ORG_ROAM_DIR to explicit values.
Examples of typical operations include creating notes, updating content, and linking nodes. Use your MCP client to issue these actions against the running server.
Run from source by installing dependencies, then starting the server with Python in development mode.
Search for nodes by title, tags, or aliases.
Retrieve detailed information about a specific node.
Find all nodes that link to a given node.
List all org-roam files in the configured directory.
Create a new org-roam node with a title, content, and tags.
Update the content of an existing node.
Create a link from one node to another.