Obsidian MCP Server

A vault as a tool for any LLM

MCP server that connects an Obsidian vault to Cursor, Claude Desktop and ChatGPT. The model can read, write, search and navigate notes.

Architecture · AI Systems · MCP

Problem

An Obsidian vault is a private knowledge base. LLMs could not operate on it without a local protocol, and a network path needed real auth rather than an open port.

Role

Author and maintainer

Approach

Built a Python MCP server with two transports. stdio in Docker for desktop clients. SSE plus OAuth 2.1 with PKCE for ChatGPT and remote access. Tools stay at the vault boundary: ls, read, write, glob, tree, search.

Outcome

Open-source MCP server that lets an LLM work with notes as files, not as a pasted context window.

An Obsidian vault is already a structured knowledge base. The missing piece was a protocol an LLM client can call without pasting notes into the prompt.

The server exposes vault operations as MCP tools. Desktop clients attach through stdio in Docker. ChatGPT and remote clients attach through SSE with OAuth 2.1 and PKCE. The model reads, writes and searches notes. The vault stays a filesystem the operator owns.

GitHub

Let's make the complex understandable.

Architecture, engineering leadership, and AI in development — when the system is too important to simplify, and too expensive not to own.

LinkedIn Telegram Email