Obsidian CLI MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OBSIDIAN_CLI_PATH | No | Path to the Obsidian CLI binary | obsidian |
| OBSIDIAN_RELAY_PORT | No | Relay server port | 27182 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| obsidian_execA | Execute any official Obsidian CLI command and return its output. This tool wraps the Blocked commands (configurable): eval, restart, devtools, dev:cdp, dev:css, dev:debug, dev:dom, dev:mobile Common examples: command="search query="meeting notes" limit=10" command="read file=MyNote" command="tasks todo" command="tags counts sort=count" command="create name=NewNote content="Hello world"" command="properties file=MyNote" command="backlinks file=MyNote" command="files folder=Projects ext=md" command="bookmarks" command="help search" For a full list of commands, use: command="help" Args:
Returns: The raw stdout from the CLI. If the command fails, stderr and exit code are included. |
| obsidian_blocked_commandsA | Returns the list of Obsidian CLI commands that are blocked by this MCP server for safety reasons. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
Only two tools with clearly distinct purposes: one executes CLI commands, the other lists blocked commands. There is no ambiguity between them.
Both tools follow the 'obsidian_' prefix pattern and use descriptive names ('exec' and 'blocked_commands'), maintaining consistent naming conventions.
With only two tools, the server feels minimal. While a single generic execution tool can cover many operations, having only one functional tool may be insufficient for complex agent workflows, though it is acceptable for a thin CLI wrapper.
The main tool can execute any allowed Obsidian CLI command, providing broad coverage. However, it lacks structured tools for common operations (e.g., read, search, create), requiring agents to parse string outputs, which introduces minor gaps.