Obsidian MCP Server
Enables external applications to interact with an Obsidian vault, providing tools for file operations (create, read, edit, delete), folder management, and semantic vector search.
Supports Ollama as a local embedding provider, allowing vector search without relying on external APIs.
Uses OpenAI-compatible embedding models to generate vector embeddings for semantic search across vault notes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Obsidian MCP Serversearch for notes about project planning"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Obsidian MCP Server
English | 中文文档(机翻)
This Obsidian plugin runs a local MCP (Model Context Protocol) server, allowing external applications (like AI assistants, scripts, or other tools) to interact with your Obsidian vault through a standardized interface.
Features
Local MCP Server: Runs an SSE-based MCP server on a configurable port.
Vault Indexing for Semantic Search:
Indexes the content of your Markdown notes into an Orama vector database.
Uses a configurable OpenAI-compatible embedding model (e.g., OpenAI, local Ollama models via compatible endpoints) to generate embeddings.
Allows configuration of text chunking parameters (size, overlap, separators).
Supports excluding specific files or patterns from indexing using
.gitignoresyntax.
Obsidian Integration:
Commands: Provides commands in the Obsidian command palette to:
Start/Stop the MCP Server.
Re-index the entire vault (can be time-consuming and potentially costly depending on the embedding provider).
Manually save the vector database index.
Settings Tab: Offers a dedicated settings panel to configure:
Server port and auto-start behavior.
Embedding provider details (API endpoint, model name, API key).
File exclusion patterns for indexing.
Chunking parameters.
Connection verification for the embedding provider.
Ribbon Icon: Adds a status icon to the Obsidian ribbon indicating whether the MCP server is running or stopped.
Internationalization: Supports English and Chinese interface languages based on Obsidian's language setting.
Related MCP server: obsidian-cli-rest
MCP Tools
simple_vector_search: Semantic search for notes using vector embeddings.count_entries: Counts indexed notes and chunks in the Orama database.list_files: Lists files and folders within a specified directory.read_file: Reads the content of a specific file.create_file: Creates a new file.edit_file: Edits a specific range of lines within an existing file.delete_file: Deletes a file.create_folder: Creates a folder.delete_folder: Deletes a folder.
TODO
Multi-language support (English, Chinese)
Provide basic file/folder manipulation tools (create, read, edit, delete)
Add a tool that can generate notes based on Obsidian templates
Implement search with filtering by metadata (frontmatter)
Implement live tracking and updating of new notes and edits
Configuration
Access the plugin settings within Obsidian to configure:
Server Settings: Port number and whether the server should start automatically with Obsidian.
Embedding Model: Provide the URL, model name, and API key for your chosen OpenAI-compatible embedding provider. Verify the connection using the provided button.
Vector Store:
Define file patterns (like
.gitignore) to exclude specific files or folders from indexing. You can copy patterns directly from your vault's.gitignorefile.Adjust chunking parameters (size, overlap, separators) if needed, though default values are generally suitable.
MCP Tools: Enable or disable individual tools (like
read_file,create_folder, etc.) provided by the server via toggles in the settings. A server restart (using the button in the settings) is required for changes to take effect.
Usage
Configure: Set up the plugin via the Obsidian settings panel, especially the Embedding Model details.
Index Vault: Run the "Re-index Vault (MCP Server)" command from the Obsidian command palette. This is necessary for the
simple_vector_searchtool to function. Wait for the indexing process to complete (a notification will appear).Start Server: Ensure the MCP server is running. Either enable "Auto Start MCP" in settings or use the "Start MCP Server" command.
Connect External Tool: Connect your MCP client (e.g., an AI assistant configured to use MCP) to the server endpoint displayed in the settings (e.g.,
http://localhost:8080/sse).Utilize Tools: Use the available MCP tools (
simple_vector_search,list_files,read_file, etc.) from your connected client to interact with your Obsidian vault.In your favorite MCP capable client, configure MCP to SSE mode and set the endpoint to
http://localhost:8080/sse(or the port you configured). Then you can use the tools exposed by this plugin.Stop Server: Use the "Stop MCP Server" command to stop the server when not in use.
Development
This project uses TypeScript. Ensure you have Node.js and npm installed.
Clone the repository.
Run
npm installto install dependencies.Run
npm run devto compile the plugin and watch for changes.Copy the
main.js,manifest.json, andstyles.cssfiles into your Obsidian vault's.obsidian/plugins/mcp-server/directory.Reload Obsidian and enable the plugin.
Status & Limitations
This is a work in progress. It is functional and in daily use, but expect rough edges.
Treat the security posture as unreviewed. The server exposes read and write access to your vault over a local port, so run it only on a machine you trust, and keep the port bound to localhost. Indexing sends note content to whichever embedding endpoint you configure, which is a third party unless you point it at a local model.
Issues and pull requests are welcome, and I try to respond quickly.
Known issues
File Size Limit: If your vault contains many notes, indexing may fail when the
orama.jsonfile exceeds 512MB. Currently there is no workaround except to reduce note/chunk count.Number Storage: OramaDB stores floating point numbers as raw strings, which can rapidly increase database size.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEmbeds an MCP server directly within Obsidian to provide applications with streamlined access to vault operations including file management, fuzzy search, and structured data creation with custom schemas.1813MIT
- AlicenseNot gradedqualityAmaintenanceEnables programmatic control of Obsidian vaults via REST API and MCP server for automation and AI assistant integration.16MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural language interaction with Obsidian vaults through an MCP server, providing hybrid search, file management, and AI-powered analysis.2-
- FlicenseAqualityCmaintenanceProvides local MCP access to registered Obsidian vaults, enabling Markdown note operations like reading, writing, searching, and managing notes via tools for Codex and ChatGPT Desktop.22-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Minhao-Zhang/obsidian-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server