obsidian-mcp-server
local MCP serverobsidian-mcp-server is a local MCP server: Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP. Install it from npm as obsidian-mcp-server.
Installation
Terminal
claude mcp add obsidian-mcp-server -e OBSIDIAN_API_KEY=... -e OBSIDIAN_BASE_URL=... -e OBSIDIAN_VERIFY_SSL=... -e OBSIDIAN_REQUEST_TIMEOUT_MS=... -e OBSIDIAN_ENABLE_COMMANDS=... -e OBSIDIAN_READ_PATHS=... -e OBSIDIAN_WRITE_PATHS=... -e OBSIDIAN_READ_ONLY=... -e OBSIDIAN_OMNISEARCH_URL=... -e MCP_LOG_LEVEL=... -- npx -y obsidian-mcp-server
Run in your project folder. Add --scope user to use it everywhere.
Claude Desktop, Cursor & other clients
Add to claude_desktop_config.json or .cursor/mcp.json.
{
"mcpServers": {
"obsidian-mcp-server": {
"command": "npx",
"args": [
"-y",
"obsidian-mcp-server"
],
"env": {
"OBSIDIAN_API_KEY": "...",
"OBSIDIAN_BASE_URL": "...",
"OBSIDIAN_VERIFY_SSL": "...",
"OBSIDIAN_REQUEST_TIMEOUT_MS": "...",
"OBSIDIAN_ENABLE_COMMANDS": "...",
"OBSIDIAN_READ_PATHS": "...",
"OBSIDIAN_WRITE_PATHS": "...",
"OBSIDIAN_READ_ONLY": "...",
"OBSIDIAN_OMNISEARCH_URL": "...",
"MCP_LOG_LEVEL": "..."
}
}
}
}Fill in the environment variables with your own credentials.
What you need
- Runtime: Node.js 18+ (runs with npx) or Node.js 18+ (runs with npx).
- MCP client: Claude Code, Codex, Antigravity, Claude Desktop, Cursor or any other client that speaks MCP over stdio.
- Environment variables:
OBSIDIAN_API_KEY,OBSIDIAN_BASE_URL,OBSIDIAN_VERIFY_SSL,OBSIDIAN_REQUEST_TIMEOUT_MS,OBSIDIAN_ENABLE_COMMANDS,OBSIDIAN_READ_PATHS,OBSIDIAN_WRITE_PATHS,OBSIDIAN_READ_ONLY,OBSIDIAN_OMNISEARCH_URL,MCP_LOG_LEVEL,MCP_HTTP_HOST,MCP_HTTP_PORT,MCP_HTTP_ENDPOINT_PATH,MCP_AUTH_MODE
Summary
Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP.
obsidian-mcp-server vs similar servers
| Server | Stars | Type | API key | Runtime |
|---|---|---|---|---|
| obsidian-mcp-server | 687 | Local | Yes | npm |
| SoloMD | 1,130 | Local | No | mcpb |
| adam-framework | 45 | Local | Yes | pypi |
| Vault Cortex | 21 | Local | Yes | oci |
| OpenMetadata | 15K | Hosted | No | None |
Questions
It reads 14 environment variables: OBSIDIAN_API_KEY, OBSIDIAN_BASE_URL, OBSIDIAN_VERIFY_SSL, OBSIDIAN_REQUEST_TIMEOUT_MS, OBSIDIAN_ENABLE_COMMANDS, OBSIDIAN_READ_PATHS, OBSIDIAN_WRITE_PATHS, OBSIDIAN_READ_ONLY, OBSIDIAN_OMNISEARCH_URL, MCP_LOG_LEVEL, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_AUTH_MODE. Set them in your MCP config before starting the server.
Node.js 18+ (runs with npx) or Node.js 18+ (runs with npx), plus an MCP client such as Claude Code, Codex, Claude Desktop or Cursor.
obsidian-mcp-server is a local MCP server distributed as the npm package obsidian-mcp-server.
Run: claude mcp add obsidian-mcp-server -e OBSIDIAN_API_KEY=... -e OBSIDIAN_BASE_URL=... -e OBSIDIAN_VERIFY_SSL=... -e OBSIDIAN_REQUEST_TIMEOUT_MS=... -e OBSIDIAN_ENABLE_COMMANDS=... -e OBSIDIAN_READ_PATHS=... -e OBSIDIAN_WRITE_PATHS=... -e OBSIDIAN_READ_ONLY=... -e OBSIDIAN_OMNISEARCH_URL=... -e MCP_LOG_LEVEL=... -- npx -y obsidian-mcp-server
Run: codex mcp add obsidian-mcp-server --env OBSIDIAN_API_KEY=... --env OBSIDIAN_BASE_URL=... --env OBSIDIAN_VERIFY_SSL=... --env OBSIDIAN_REQUEST_TIMEOUT_MS=... --env OBSIDIAN_ENABLE_COMMANDS=... --env OBSIDIAN_READ_PATHS=... --env OBSIDIAN_WRITE_PATHS=... --env OBSIDIAN_READ_ONLY=... --env OBSIDIAN_OMNISEARCH_URL=... --env MCP_LOG_LEVEL=... -- npx -y obsidian-mcp-server
Similar MCP servers
NameStars
- SoloMDio.github.zhitongblog/solomd1,130
- adam-frameworkio.github.strangeadvancedmarketing/adam-framework45
- Vault Cortexio.github.aliasunder/vault-cortex21
- OpenMetadataio.github.open-metadata/openmetadata-mcp15K
- Firecrawl MCP Serverio.github.firecrawl/firecrawl-mcp-server7,526
- arxiv-mcp-serverio.github.blazickjp/arxiv-mcp-server3,177
- braveai.smithery/brave1,477
- fastCRWio.github.us/fastcrw1,079