home / mcp / obsidian memory mcp server
Stores AI memories as Markdown files with Obsidian links for graph visualization and memory management.
Configuration
View docs{
"mcpServers": {
"yunaga224-obsidian-memory-mcp": {
"command": "node",
"args": [
"/full/path/to/obsidian-memory-mcp/dist/index.js"
],
"env": {
"MEMORY_DIR": "/path/to/your/obsidian/vault"
}
}
}
}You run a memory-centric MCP server that stores AI memories as Markdown files for visualization in Obsidian. It lets you build a local knowledge graph where each memory becomes a Markdown file and relationships are expressed with Obsidian links, enabling seamless graph views and powerful search across memories.
You use an MCP client to interact with the Obsidian Memory MCP to create entities, add observations, and define relations. The server runs locally and writes memories as Markdown files in your Obsidian vault. Start the server, point your client at it, and then perform actions like creating entities, linking them with relations, and extending memories with observations. The resulting graph is rendered in Obsidian using the [[link]] syntax for relations and the Markdown content for each entity.
Typical workflows you can perform include:
Prerequisites you need installed on your system:
Install and build the Obsidian Memory MCP from source:
git clone https://github.com/YuNaga224/obsidian-memory-mcp.git
cd obsidian-memory-mcp
npm install
npm run buildConfigure the MCP client to start the local server. Use the stdio (local) command shown here to run the server and point it at your Obsidian vault. Replace the placeholder path with the actual path to your Obsidian vault.
{
"mcpServers": {
"obsidian_memory": {
"command": "node",
"args": ["/full/path/to/obsidian-memory-mcp/dist/index.js"],
"env": {
"MEMORY_DIR": "/path/to/your/obsidian/vault"
}
}
}
}Start the server using the exact command and environment shown in the configuration above. The server will monitor the specified MEMORY_DIR and expose endpoints for MCP clients to manage memories.
The server stores each memory as an individual Markdown file with YAML frontmatter for metadata and Obsidian-friendly links for relations. Ensure your Obsidian vault has enough space for growing memories and that you maintain a consistent file naming scheme for easy retrieval.
If memory files aren’t appearing in Obsidian or graph view isn’t updating, verify that the server process is running, the MEMORY_DIR path is correct, and there are no file permission issues in the vault directory.
Run the MCP server locally with a trusted Obsidian vault. Do not expose the server to untrusted networks. Regularly back up your vault and the generated Markdown memories to prevent data loss.
Create new memory entities in the knowledge graph.
Establish relationships between existing entities to form a network.
Append observations to an existing entity to enrich its memory.
Remove entities and all their associated data from the store.
Remove specific observations from an entity.
Remove relations between entities.
Retrieve the full knowledge graph with entities, relations, and observations.
Query entities by text or attributes to locate memory nodes.
Fetch specific entities by name for inspection.