Obsidian MCP Server runs on your own machine — the client starts it, so there is no endpoint to ping. 10 513 installs a week from npm. Last commit 31 Oct 2026.
Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP.
Today is the operative word: we check Obsidian MCP Server every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add obsidian-mcp-server -e 'OBSIDIAN_API_KEY=<OBSIDIAN_API_KEY>' -- npx -y obsidian-mcp-server
{
"mcpServers": {
"obsidian-mcp-server": {
"command": "npx",
"args": [
"-y",
"obsidian-mcp-server"
],
"env": {
"OBSIDIAN_API_KEY": "<OBSIDIAN_API_KEY>"
}
}
}
}
[mcp_servers.obsidian-mcp-server]
command = "npx"
args = ["-y", "obsidian-mcp-server"]
env = { OBSIDIAN_API_KEY = "<OBSIDIAN_API_KEY>" }
{
"mcpServers": {
"obsidian-mcp-server": {
"command": "npx",
"args": [
"-y",
"obsidian-mcp-server"
],
"env": {
"OBSIDIAN_API_KEY": "<OBSIDIAN_API_KEY>"
}
}
}
}
{
"servers": {
"obsidian-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"obsidian-mcp-server"
],
"env": {
"OBSIDIAN_API_KEY": "<OBSIDIAN_API_KEY>"
}
}
}
}
Put your own value in place of
<OBSIDIAN_API_KEY> (Bearer token for the Obsidian Local REST API plugin (Settings → Community Plugins → Local REST API)).
The author’s registry entry marks it as required.
Optional settings from the registry entry, left out of the block above:
MCP_TRANSPORT_TYPE (Selects the HTTP transport), OBSIDIAN_BASE_URL (Base URL of the Obsidian Local REST API. Default: http://127.0.0.1:27123 (enable "Non-encrypted (HTTP) Server" in plugin settings). Use https://127.0.0.1:27124 for the always-on HTTPS port (self-signed cert; pair with OBSIDIAN_VERIFY_SSL=false)), OBSIDIAN_VERIFY_SSL (Whether to verify the TLS certificate on the Obsidian endpoint. Default false because the plugin uses a self-signed cert), OBSIDIAN_REQUEST_TIMEOUT_MS (Per-request timeout in milliseconds), OBSIDIAN_ENABLE_COMMANDS (Opt-in flag for the command-palette pair (obsidian_list_commands + obsidian_execute_command). Off by default — Obsidian commands are opaque and can be destructive), OBSIDIAN_READ_PATHS (Optional comma-separated vault-relative folder allowlist for reads. Prefix-based with implicit recursion; case-insensitive; backslashes read as slashes, repeated and trailing slashes and '.' segments dropped, and names normalized to Unicode NFC; an entry naming the vault root ('.') is rejected at startup. Unset = full vault. Write paths are implicitly readable. Example: 'public/,projects/'), OBSIDIAN_WRITE_PATHS (Optional comma-separated vault-relative folder allowlist for writes. Same syntax as OBSIDIAN_READ_PATHS. Unset = full vault, or the read scope when reads are restricted; paths in OBSIDIAN_DENY_PATHS stay denied. Example: 'projects/,scratch/'), OBSIDIAN_DENY_PATHS (Optional comma-separated vault-relative paths withheld from reads and writes. Same syntax as OBSIDIAN_READ_PATHS. Wins over both allowlists; denied paths are left out of listings, search results, and tag counts. Unset = nothing denied. Example: 'private/,journal/therapy/'), OBSIDIAN_READ_ONLY (Global read-only kill switch. When true, every write is denied regardless of OBSIDIAN_WRITE_PATHS, and the command-palette pair is suppressed (commands can mutate). Useful for shared or public-facing deployments), OBSIDIAN_DELETE_ELICITATION (Opt-in delete confirmation. When true, obsidian_delete_note asks the user to confirm each delete through an elicitation round (the client must support elicitation), and HTTP startup requires a stateful session unless OBSIDIAN_READ_ONLY=true disables the tool. Off by default — the delete runs on the first call, bounded by OBSIDIAN_WRITE_PATHS and OBSIDIAN_READ_ONLY), OBSIDIAN_OMNISEARCH_URL (Override URL for the Omnisearch plugin HTTP server. Unset derives from OBSIDIAN_BASE_URL host with port 51361. Required only if the Omnisearch plugin is not on the default port), MCP_HTTP_HOST (The hostname for the HTTP server), MCP_HTTP_PORT (The port to run the HTTP server on), MCP_HTTP_ENDPOINT_PATH (The endpoint path for the MCP server), MCP_AUTH_MODE (Authentication mode to use: 'none', 'jwt', or 'oauth'), MCP_LOG_LEVEL (Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')).
Filesystem-based MCP server for Obsidian vaults — read, search, and edit notes, no app required.
Access Obsidian vaults via Local REST API - read, search, and interact with notes
Search an Obsidian vault by tag, term and wikilink graph. Read-only, deterministic, no embeddings.
MCP server for AI agent read/write access to Obsidian vaults via EVC Team Relay.
Complete Obsidian vault MCP server. 35 tools: notes, search, graph, tags, canvas.
Filesystem-direct Obsidian MCP server — search and edit your vault with low context-tax.
Read-only semantic search MCP server for Obsidian vaults using local Ollama embeddings.
Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required.
Answers built from our own checks of this server.