Best for
- Obsidian users already running the Local REST API plugin.
- MCP client users who need structured note search and surgical editing.
- Deployments that need vault access restricted by read and write folder allowlists.
The source describes a focused MCP server for Obsidian vault reading, writing, searching, and surgical editing, with folder policies and a read-only switch. The Local REST API plugin and API key are mandatory prerequisites. Public HTTP deployments should configure authentication and tightly limit write access.
Strongest · Documentation 16/20 Weakest · Reliability 10/20
Static review · not runListed 2026-07-29
Read the FMRS scoring method →Runtime:Bun 1.3.0+ · Node.js 24+ · Docker
OBSIDIAN_API_KEY
Required Bearer token, generated in Obsidian's Settings → Community Plugins → Local REST API settings.
MCP_AUTH_SECRET_KEY
Required when MCP_AUTH_MODE=jwt; a shared secret of at least 32 characters.
OBSIDIAN_BASE_URL
Base URL of the Local REST API plugin; defaults to http://127.0.0.1:27123, HTTPS port is https://127.0.0.1:27124.
OBSIDIAN_VERIFY_SSL
Whether to verify the TLS certificate; defaults to false since the plugin uses a self-signed cert.
OBSIDIAN_REQUEST_TIMEOUT_MS
Per-request timeout in milliseconds, default 30000.
OBSIDIAN_ENABLE_COMMANDS
Set to true to enable the obsidian_list_commands + obsidian_execute_command pair; off by default.
OBSIDIAN_READ_PATHS
Optional comma-separated vault-relative folder allowlist for reads, e.g. 'public/,projects/'; unset = full vault.
OBSIDIAN_WRITE_PATHS
Optional comma-separated write allowlist, same syntax as OBSIDIAN_READ_PATHS; unset = full vault.
OBSIDIAN_READ_ONLY
Set to true for a global read-only kill switch denying all writes and suppressing command-palette tools.
OBSIDIAN_OMNISEARCH_URL
Override URL for the Omnisearch plugin HTTP server; only needed if it is not on the default port 51361.
MCP_TRANSPORT_TYPE
Transport: stdio or http; default stdio.
MCP_HTTP_HOST
HTTP server hostname; default 127.0.0.1.
MCP_HTTP_PORT
HTTP server port; default 3010.
MCP_HTTP_ENDPOINT_PATH
JSON-RPC endpoint path; default /mcp.
MCP_AUTH_MODE
HTTP transport auth mode: none, jwt, or oauth; default none.
MCP_LOG_LEVEL
Minimum log level (RFC 5424); default info.
Install and enable the Obsidian Local REST API plugin v4.0.0 or later, then generate an API key in its settings. Use Bun v1.3.11 or later, or Node.js v24 or later. Put OBSIDIAN_API_KEY in the client configuration; the default endpoint is http://127.0.0.1:27123. Alternatively, use npx or clone the repository and run bun install. For Streamable HTTP, run start:http; the default endpoint is http://127.0.0.1:3010/mcp.
{"mcpServers":{"obsidian-mcp-server":{"type":"stdio","command":"bunx","args":["obsidian-mcp-server@latest"],"env":{"MCP_TRANSPORT_TYPE":"stdio","MCP_LOG_LEVEL":"info","OBSIDIAN_API_KEY":"your-local-rest-api-key"}}}}
Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.
{
"servers": {
"obsidian-mcp-server": {
"type": "stdio",
"command": "bunx",
"args": [
"obsidian-mcp-server@latest"
],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_LOG_LEVEL": "info",
"OBSIDIAN_API_KEY": "your-local-rest-api-key"
}
}
}
}
Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).
claude mcp add obsidian-mcp-server -e MCP_TRANSPORT_TYPE=stdio -e MCP_LOG_LEVEL=info -e OBSIDIAN_API_KEY=your-local-rest-api-key -- bunx obsidian-mcp-server@latest
Run it in a terminal; replace any <…> placeholders with your own values first.
After connecting, the client tool list should show obsidian_get_note, obsidian_list_notes and the other tools; call obsidian_get_note on a known note path — returning its content proves the Local REST API plugin connection works.
Once connected, you can ask your AI assistant things like:
No matching tools
Listed from the project's documentation, not tested by this site.
obsidian-mcp-server is an open-source MCP server maintained by cyanheads. It uses the Obsidian Local REST API to read, create, search, and surgically edit notes, tags, and frontmatter. It supports STDIO and Streamable HTTP, exposes 14 tools and 3 resources, is version 3.2.9, and is licensed under Apache-2.0.
Secure local file read/write access
Standalone MCP server for Obsidian vaults: hybrid search, notes & files, structured memory, tasks, OAuth 2.1.
Secure remote access to your Obsidian vault over HTTPS with OAuth 2.0 authentication.
AI-native surgical editing of Word and OpenDocument files with formatting preservation
Source revision 1f0b662214fc Data synced 2026-10-19 Read the FMRS scoring method