Obsidian MCP Server logo

Obsidian MCP Server

by smith-and-web

Manage Obsidian notes, folders, tags, links, and searches through an HTTP/SSE MCP interface.

Install Obsidian MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "smith-and-web-obsidian-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smith-and-web/obsidian-mcp-server"
      ],
      "env": {
        "VAULT_PATH": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

smith-and-web/obsidian-mcp-server connects AI assistants to an Obsidian vault over HTTP and Server-Sent Events, providing tools for note and directory management, metadata, tags, links, and search. It supports both full-text retrieval and optional semantic search backed by local embeddings, PostgreSQL, and pgvector. Run it with Node.js or Docker and connect clients through the `/sse` endpoint, using `mcp-remote` where native SSE support is unavailable. Reach for it when an agent needs to read, organize, update, or inspect a locally hosted knowledge base.

Use cases

  • Read and update project notes from an AI assistant
  • Audit tags and locate notes missing required metadata
  • Find backlinks and unresolved wiki-links across a vault
  • Search notes by text or semantic similarity
  • Reorganize notes and directories through MCP tools

Key features

  • HTTP and SSE access to an Obsidian vault
  • Note, directory, frontmatter, and tag management
  • Full-text search with context and link analysis
  • Optional local-embedding semantic search
  • PostgreSQL and pgvector indexing
  • Docker and health-endpoint support

Tools38

What Obsidian MCP Server lets your agent do. Expand a tool for its parameters.

Self-reported~501 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

18/19 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · @smith-and-web/obsidian-mcp-server (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars19Stargazers on the source repository.
npm downloads305Package downloads in the last 30 days.
Last commit1d agoMost recent push to the default branch.
Tools exposed38Callable tools this server registers over MCP.
Directory activity5 viewsConfig copies, upvotes, and views on AllMCPs.

How Obsidian MCP Server works

What smith-and-web/obsidian-mcp-server does

smith-and-web/obsidian-mcp-server exposes an Obsidian vault as MCP tools for AI assistants. It can read, create, edit, append to, prepend to, move, duplicate, and delete notes. Destructive note deletion requires confirmation. Agents can also inspect file metadata without loading note contents, which is useful when working with large vaults.

The server covers vault structure as well as note content. Directory tools list, create, delete, and rename folders, while frontmatter tools parse YAML into JSON and update selected fields. Tag operations support frontmatter and inline tags, including tag counts, tag-based note discovery, missing-tag searches, and folder audits.

Search and relationship tools include contextual full-text search, backlinks, unresolved wiki-link detection, and bulk find-and-replace with regular expression support. Optional semantic tools add hybrid, vector, and text retrieval, similar-note discovery, indexing status, immediate single-note reindexing, and search feedback when learning logs are enabled.

How it works

The server speaks MCP over HTTP with Server-Sent Events rather than stdio. Clients connect to an endpoint such as http://localhost:3000/sse. Claude Desktop and Cursor can use mcp-remote as a bridge, while Claude Code can connect to the SSE transport directly. Clients with native SSE support can connect to the endpoint without the bridge.

The vault is selected with VAULT_PATH. The process listens on all network interfaces by default, so deployments should either bind or publish it only on loopback or configure API_KEY before exposing it to other machines. A /health endpoint is available for runtime checks.

Semantic search is disabled unless DATABASE_URL is configured. When enabled, heading-aware chunks are indexed in PostgreSQL with pgvector, and embeddings are produced locally through Ollama. A separate indexer polls the vault and re-embeds changed content, including setups using NFS or SMB where filesystem notifications may not work.

Setup and configuration

Node.js 20.19.0 or newer is required for the direct installation path. Start the package with npx after setting VAULT_PATH, or install dependencies from the source tree and use the provided start or development scripts. The default port is 3000; set PORT to choose another port. COMPACT_RESPONSES=true enables smaller tool responses.

Docker images are available from GitHub Container Registry. Mount the vault read-write, set the container's VAULT_PATH to the mounted directory, and publish the container port. A loopback-only mapping such as 127.0.0.1:3001:3000 keeps access local; remote access requires appropriate authentication and network controls.

For Claude Desktop or Cursor, configure mcp-remote with the server's /sse URL. Claude Code can be registered with its SSE transport and can send an authorization header when an API key is configured.

Tools and capabilities

  • Read one or several notes, including frontmatter-only reads.
  • Create, replace, append, prepend, move, duplicate, and delete notes.
  • Retrieve file metadata without reading full content.
  • Browse, create, delete, and rename directories.
  • Read and update YAML frontmatter while preserving untouched field text and rejecting invalid YAML.
  • Add, remove, count, audit, and search tags.
  • Search note text with context, inspect backlinks, detect broken wiki-links, and perform bulk replacement.
  • Run filtered semantic searches using directory, tag, type, or status criteria.
  • Inspect index state, reindex an individual note, and find similar notes.

Limitations and notes

Only HTTP/SSE transport is available; the server cannot be launched directly by clients that require a stdio server. Those clients need mcp-remote. Semantic search requires the additional database and embedding services and remains off without DATABASE_URL. Because the service provides read/write access to the vault and listens on all interfaces by default, avoid exposing it broadly without authentication or network restrictions.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Obsidian MCP Server

smith-and-web/obsidian-mcp-server is an MCP server that connects AI assistants to an Obsidian vault over HTTP and SSE. Its main tools read, create, edit, move, duplicate, and delete notes; manage directories, frontmatter, and tags; search content; and inspect backlinks or broken wiki-links.

Install it with Node.js 20.19.0 or newer using `npx`, or run the published Docker image. Set `VAULT_PATH` to the vault directory, then connect an MCP client to the server's `/sse` endpoint. Docker deployments should mount the vault read-write and publish the container port.

Yes, Cursor can use it through `mcp-remote`. Add an MCP server entry in Cursor's MCP settings with a command of `npx`, arguments for `mcp-remote`, and the local or remote `/sse` URL.

Set `DATABASE_URL` to enable semantic search. The feature uses PostgreSQL with pgvector and local embeddings from Ollama, and then exposes hybrid, vector, and text search along with similar-note and indexing tools.

Yes, Claude Desktop connects through `mcp-remote` because the server provides SSE rather than stdio. Configure the bridge with the local or HTTPS `/sse` URL, then start the server separately before Claude Desktop uses it.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewObsidian MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/smith-and-web-obsidian-mcp-server?style=directory)](https://allmcps.com/mcp/smith-and-web-obsidian-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/smith-and-web-obsidian-mcp-server"><img src="https://allmcps.com/api/badge/smith-and-web-obsidian-mcp-server?style=directory" alt="Obsidian MCP Server on AllMCPs" /></a>