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
- Stars
- 13★
- Forks
- 4
- Language
- TypeScript
- License
- AGPL-3.0
- Created
- 2025-03-28
- Last push
- 2026-08-17