Obsidian MCP logo

Obsidian MCP

by maxkuminov

Connects AI agents to an Obsidian vault with semantic and full-text search, wikilink traversal, and structured note editing.

Install Obsidian MCP

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

Streamable HTTP (Remote)
Server URL
https://api.openai.com/v1

Remote servers are added in the app, not the config file: Customize → Connectors → Add custom connector, then paste this URL.

Overview

maxkuminov/obsidian-mcp connects MCP clients to an Obsidian vault whose notes remain visible and editable as plain Markdown files. It combines PostgreSQL with pgvector for keyword and semantic retrieval, while exposing wikilink graph operations and structured note changes such as atomic CRUD and frontmatter updates. The vault guide lets agents discover folder layouts, schemas, and tagging conventions before working. Reach for it when agents need shared, human-auditable memory over an Obsidian knowledge base rather than an opaque memory store.

Use cases

  • Search an Obsidian vault by meaning or exact terms
  • Traverse related notes through wikilinks
  • Read and update agent memory as Markdown files
  • Apply structured frontmatter and tag changes
  • Share vault context across connected agents

Key features

  • Semantic search with pgvector
  • Full-text note search
  • Wikilink neighborhood traversal
  • Atomic note CRUD
  • Structured frontmatter updates
  • OAuth 2.0 or bearer-key access

Security & health

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

ActiveLast checked 3d ago

Recent health check succeeded.

18/18 checks healthy over the last 77d

Adoption & maintenance

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

GitHub stars18Stargazers on the source repository.
Last commit4d agoMost recent push to the default branch.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Obsidian MCP works

What maxkuminov/obsidian-mcp does

maxkuminov/obsidian-mcp gives AI agents MCP access to an Obsidian vault while keeping the underlying memory in ordinary Markdown files. People can open, inspect, edit, search, move, or delete those notes directly in Obsidian. Agents use the same vault as a shared context layer, so notes created during one session can be found by later sessions or by other connected agents.

The server combines three kinds of access: retrieval over note content, traversal of relationships expressed with Obsidian wikilinks, and controlled mutations to notes. A self-describing vault guide helps an agent understand the vault's folder conventions, frontmatter fields, and tags before it reads or writes content.

How it works

A FastAPI application provides the MCP server, with PostgreSQL 16 and pgvector supporting indexed retrieval. Full-text search handles keyword-oriented queries, while semantic search uses configurable embeddings. The supported embedding choices are Ollama's bge-m3 and OpenAI's text-embedding-3-small or text-embedding-3-large.

Wikilinks supply the connections used by graph operations, including neighborhood traversal around a note. Agents decide when to read, search, link, or write; the system does not independently infer memories or maintain them on a schedule.

The deployment can be reached remotely and protected with OAuth 2.0 or a bearer key. This makes the same vault available to clients in different environments, including Claude Code sessions and other MCP-connected agents.

Setup and configuration

The project uses Python 3.12, FastAPI, PostgreSQL 16, and pgvector. A deployment therefore needs a Python 3.12 runtime, a PostgreSQL instance with pgvector, and access to the Obsidian vault that will hold the Markdown notes. Embeddings can be supplied through Ollama with bge-m3 or through OpenAI with one of the supported text-embedding-3 models.

Authentication is part of the deployment model: configure OAuth 2.0 or a bearer key before exposing the service to clients or the wider network. The vault's own layout, frontmatter schema, and tag conventions are discovered through its self-describing guide rather than hard-coded into each agent prompt.

Tools and capabilities

Examples of the exposed operations include:

  • semantic_search for concept-based retrieval across notes.
  • Full-text search for keyword-oriented lookup.
  • read_note to retrieve a note by path.
  • Atomic note create, read, update, and delete operations.
  • set_frontmatter for structured YAML metadata changes, such as updating tags.
  • get_neighborhood to follow wikilink relationships around a note.
  • Vault-guide access so agents can learn local organization and metadata conventions.

The structured frontmatter operation changes YAML metadata separately from the note body, which supports clean round-tripping of note content and metadata.

Limitations and notes

The server supplies storage access, search, and graph operations; agents remain responsible for deciding what to remember and when to write it. There is no background extraction, consolidation, or memory-decay process. A fact becomes part of the vault when an agent or person writes a note, and it is removed when someone deletes one.

The design is self-hosted and keeps the human-readable notes in the vault, but the service still needs its PostgreSQL/pgvector backend for indexing and retrieval. Remote access should use the available OAuth 2.0 or bearer-key protections.

Reviews

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

Frequently Asked Questions about Obsidian MCP

maxkuminov/obsidian-mcp is an MCP server that connects AI agents to an Obsidian vault stored as Markdown notes. Its main tools support semantic and full-text search, note reading and atomic CRUD, wikilink neighborhood traversal, structured frontmatter updates, and discovery of the vault's organization and metadata conventions.

Run it in a Python 3.12 environment with FastAPI, PostgreSQL 16, and pgvector available. Connect it to the Obsidian vault and configure an embedding provider using Ollama bge-m3 or a supported OpenAI text-embedding-3 model, then protect access with OAuth 2.0 or a bearer key.

It uses PostgreSQL 16 with pgvector for indexing and retrieval. Markdown files in the Obsidian vault remain the human-readable note storage, while PostgreSQL supports full-text and semantic search over that material.

Yes. It provides semantic search through pgvector and configurable embeddings. Supported embedding options include Ollama bge-m3 and OpenAI text-embedding-3-small or text-embedding-3-large.

Yes. The set_frontmatter operation changes YAML metadata independently from the note body, including updates such as adding or changing tags. The server also supports note reads and atomic create, update, and delete operations.

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 AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/maxkuminov-obsidian-mcp?style=directory)](https://allmcps.com/mcp/maxkuminov-obsidian-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/maxkuminov-obsidian-mcp"><img src="https://allmcps.com/api/badge/maxkuminov-obsidian-mcp?style=directory" alt="Obsidian MCP on AllMCPs" /></a>