Minhao-Zhang/obsidian-mcp-server

View on GitHub ↗

Obsidian plugin that runs a local MCP server, exposing vault semantic search and file operations to AI assistants.

13 ★4 forksTypeScriptUpdated 18d ago

What you need to know

Obsidian plugin that runs a local SSE-based MCP server so external tools can interact with your vault — semantic search over an Orama vector index (OpenAI-compatible embeddings), plus file/folder read/write tools, with an Obsidian-native settings tab, commands, and ribbon status icon.

Install

git clone the repo; npm install; npm run dev to compile.
Copy main.js, manifest.json, and styles.css into your vault's .obsidian/plugins/mcp-server/, reload Obsidian, and enable the plugin.
Requires Node.js and npm (TypeScript project).

Usage

  • Configure the Embedding Model (URL, model name, API key for an OpenAI-compatible endpoint) in plugin settings and verify the connection.
  • Run the Re-index Vault (MCP Server) command so simple_vector_search works; wait for the completion notification.
  • Start the server (Auto Start MCP toggle or the Start command), then connect an MCP client in SSE mode to http://localhost:8080/sse (or your configured port).
  • Exclude folders with .gitignore-style patterns copied from your vault's .gitignore; adjust chunking (size/overlap/separators) as needed.
  • Toggle individual tools (read_file, create_folder, …) in the MCP Tools settings; a server restart applies changes.

Key features

  • SSE-based local MCP server on a configurable port with optional auto-start.
  • Semantic search via Orama vector database with configurable chunking and .gitignore-style exclusions.
  • Nine tools: simple_vector_search, count_entries, list_files, read_file, create_file, edit_file, delete_file, create_folder, delete_folder.
  • Command palette actions (start/stop server, re-index, save index), settings tab, and a ribbon status icon.
  • English and Chinese interface languages, following Obsidian's language setting.

Best for

Obsidian users who want an AI assistant to search their notes semantically and manage vault files through a local, SSE-exposed MCP server.

Caveats

  • Work in progress — functional and in daily use, but rough edges; security posture is declared unreviewed.
  • Indexing sends note content to whichever embedding endpoint you configure — a third party unless you point it at a local model.
  • Known issues: indexing can fail when orama.json exceeds 512MB; OramaDB stores floats as raw strings, inflating the database size.
  • Bind the port to localhost; the README warns to run only on a machine you trust.
Platforms: LocalClients: Claude Code · Claude Desktop

Reviewed 2026-08-18

Topics

mcpmodel-context-protocolobsidianobsidian-pluginragvector-search
Stars
13★
Forks
4
Language
TypeScript
License
AGPL-3.0
Created
2025-03-28
Last push
2026-08-17