Get the FREE Ultimate OpenClaw Setup Guide →

obsidian

MCP server from marcelmarais/obsidian-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 marcelmarais-obsidian-mcp-server node obsidian-mcp-server/build/index.js /path/to/your/vault

How to use

This Obsidian MCP Server exposes a lightweight MCP (Model Context Protocol) service that lets AI assistants read from and write to your Obsidian vault. It provides a small set of read tools (getAllFilenames, readMultipleFiles, getOpenTodos) to discover files, fetch their contents, and extract open TODO items, as well as a write tool (updateFileContent) to modify or create markdown files within the vault. After starting the server, you can connect an MCP-enabled assistant (like Claude or Cursor) and issue natural language requests that map to these tools, enabling dynamic interaction with your notes and tasks. The server runs as a Node.js process and is designed to operate directly against the vault on disk, without requiring Obsidian to be open.

To use Claude Desktop or Cursor, configure the MCP server in your respective app to point at the Node.js entry point with the path to your vault. The server accepts commands via standard MCP routes, returning structured results that your assistant can present or further act upon. Tools include: getAllFilenames (list all note filenames), readMultipleFiles (fetch contents with filename matching), getOpenTodos (return open checklists from markdown), and updateFileContent (update or create files with new markdown content).

How to install

Prerequisites:

  • Node.js (LTS version) installed on your machine
  • Access to the Obsidian vault you want to interface with

Installation steps:

  1. Install the MCP server package (as a library) and install dependencies:

    npm install obsidian-mcp-server

  2. Build the server (if the project provides a build step):

    npm run build

  3. Run the server directly (example):

    node obsidian-mcp-server/build/index.js /path/to/your/vault

  4. Optional: integrate with MCP clients by configuring the client with the server’s command and vault path, as shown in the integration examples.

Notes:

  • Ensure the vault path is accessible to the running process and that you have read/write permissions.
  • If you clone or install from a package manager, follow any project-specific post-install or build steps described in the repository README.

Additional notes

Tips and common considerations:

  • The server operates directly on the filesystem, so ensure you have proper backups of your vault before performing write operations.
  • When using updateFileContent, the server will create missing directories as needed and will create the file if it does not exist.
  • Confirm the vault path is absolute or correctly resolved by your MCP client to avoid path resolution issues.
  • If you update the server code, re-run the build step to ensure the index.js path is current.
  • For large vaults, be mindful of performance; fetching all filenames or reading many files can be I/O intensive.
  • Tools exposed: getAllFilenames, readMultipleFiles (supports exact, partial, and case-insensitive matches), getOpenTodos (extracts unchecked TODOs), updateFileContent (write/overwrite markdown content).

Related MCP Servers

Sponsor this space

Reach thousands of developers