Server data from the Official MCP Registry
MCP server wrapping the Obsidian CLI — full native API access over the Model Context Protocol.
MCP server wrapping the Obsidian CLI — full native API access over the Model Context Protocol.
This MCP server wraps the Obsidian CLI with well-structured code, appropriate input handling, and reasonable permission scoping. The server correctly delegates operations to the Obsidian CLI binary rather than implementing dangerous operations itself. Minor quality concerns around error handling and argument parsing do not materially impact security, and permissions align well with the stated purpose of providing Obsidian integration. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.
6 files analyzed · 10 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: OBSIDIAN_VAULT
Environment variable: OBSIDIAN_CLI_PATH
Environment variable: OBSIDIAN_TIMEOUT_MS
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-stonematt-mcp-obsidian-cli": {
"env": {
"OBSIDIAN_VAULT": "your-obsidian-vault-here",
"OBSIDIAN_CLI_PATH": "your-obsidian-cli-path-here",
"OBSIDIAN_TIMEOUT_MS": "your-obsidian-timeout-ms-here"
},
"args": [
"-y",
"mcp-obsidian-cli"
],
"command": "npx"
}
}
}From the project's GitHub README.
Trademark Notice: "Obsidian" is a trademark of Obsidian Publishing, Inc. This project is not affiliated with or endorsed by Obsidian Publishing.
MCP server that wraps the Obsidian CLI, giving AI assistants full access to Obsidian's native API — search index, wikilink resolution, tasks, properties, daily notes, backlinks, and 80+ commands — through the Model Context Protocol.
Every existing Obsidian MCP server takes one of two approaches: the Local REST API plugin (requires API keys, HTTP overhead, limited command surface) or raw filesystem access (no Obsidian awareness — no search index, no wikilink resolution, no task queries). Both miss the point.
mcp-obsidian-cli wraps the Obsidian CLI plugin, which talks directly to the running Obsidian instance via IPC. This means full access to Obsidian's internal APIs with zero configuration — no API keys, no REST plugins, no token management.
npx mcp-obsidian-cli
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "mcp-obsidian-cli"],
"env": {
"OBSIDIAN_VAULT": "my-vault"
}
}
}
}
obsidian-cli on your PATH (typically /Applications/Obsidian.app/Contents/MacOS/obsidian-cli on macOS)The server exposes Obsidian CLI commands as MCP tools. A generic pass-through tool handles the full CLI surface (80+ commands), plus typed convenience tools for common operations:
| Tool | Description |
|---|---|
obsidian | Generic pass-through — run any CLI command |
obsidian_daily_read | Read today's daily note |
obsidian_daily_append | Append to daily note |
obsidian_read | Read a note by name or path |
obsidian_search | Full-text search with context |
obsidian_tags | List tags with counts |
obsidian_tasks | Query tasks (daily, todo, done) |
obsidian_properties | Read frontmatter properties |
obsidian_create | Create a new note |
obsidian_property_set | Set a frontmatter property |
obsidian_backlinks | List backlinks to a note |
obsidian_files | List vault files |
obsidian_recents | Recently opened files |
The generic obsidian tool means the MCP server never falls behind the CLI — new CLI commands work immediately without a server update.
| Variable | Default | Description |
|---|---|---|
OBSIDIAN_VAULT | (none) | Target vault by name |
OBSIDIAN_CLI_PATH | obsidian-cli | Path to CLI binary |
OBSIDIAN_TIMEOUT_MS | 15000 | Command timeout |
XDG_CONFIG_HOME | ~/.config | Base path for config file |
The server can read settings from a YAML config file:
~/.config/mcp-obsidian-cli/config.yamlXDG_CONFIG_HOME: $XDG_CONFIG_HOME/mcp-obsidian-cli/config.yamlConfig file format:
vault: "my-vault"
cliPath: "obsidian-cli"
timeoutMs: 15000
Config precedence: env vars > config file > hardcoded defaults
| mcp-obsidian-cli | REST API servers | Filesystem servers | |
|---|---|---|---|
| Search index | Yes | Yes | No |
| Wikilink resolution | Yes | Partial | No |
| Task queries | Yes | No | No |
| Property types | Yes | Partial | No |
| Daily notes | Yes | No | No |
| Backlinks | Yes | Yes | No |
| API keys | None | Required | None |
| Obsidian plugins | CLI plugin | REST API plugin | None |
| Commands | 80+ | ~10 | ~6 |
File an issue: https://github.com/stonematt/mcp-obsidian-cli/issues/new/choose. Bug template asks for version, MCP client, tool call, and response — quick to fill, fast to act on.
MIT
Maintained by @stonematt Licensed under the MIT License
Be the first to review this server!
by Modelcontextprotocol · Productivity
Knowledge graph-based persistent memory across sessions
by Modelcontextprotocol · Productivity
Time and timezone conversion capabilities for your AI assistant
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.