home / mcp / obsidian memory mcp server

Obsidian Memory MCP Server

Stores AI memories as Markdown files with Obsidian links for graph visualization and memory management.

Installation
Add the following to your MCP client configuration file.

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.

How to use

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:

How to install

Prerequisites you need installed on your system:

  • Node.js and npm (for running the MCP server)
  • Git (for cloning the repository)
  • A local Obsidian vault to store Markdown memories

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 build

Configure 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.

Additional configuration and notes

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.

Troubleshooting

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.

Security and maintenance

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.

Available tools

create_entities

Create new memory entities in the knowledge graph.

create_relations

Establish relationships between existing entities to form a network.

add_observations

Append observations to an existing entity to enrich its memory.

delete_entities

Remove entities and all their associated data from the store.

delete_observations

Remove specific observations from an entity.

delete_relations

Remove relations between entities.

read_graph

Retrieve the full knowledge graph with entities, relations, and observations.

search_nodes

Query entities by text or attributes to locate memory nodes.

open_nodes

Fetch specific entities by name for inspection.