obsidian-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OBSIDIAN_CLI | No | Override the path to the Obsidian CLI binary if not on PATH. | |
| OBSIDIAN_MCP_AUTO_CONFIRM | No | Set to '1' to skip confirmation prompts for sensitive operations. | |
| OBSIDIAN_MCP_MAX_ARG_BYTES | No | Maximum bytes per command line argument chunk. Default 6000 on Windows, 100000 elsewhere. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| obsidian_list_filesA | Lists every note in the vault. Returns JSON by default. Useful as a first step to discover what exists. |
| obsidian_list_foldersA | Displays the vault folder structure as a tree. |
| obsidian_read_noteA | Returns the full markdown content of a note. |
| obsidian_get_metadataA | Returns metadata for a note (frontmatter, tags, links, file stats) as JSON. |
| obsidian_create_noteB | Creates a new note. |
| obsidian_append_noteA | Appends markdown content to the end of an existing note. |
| obsidian_prepend_noteA | Inserts content near the top of a note (after frontmatter, if present). |
| obsidian_move_noteA | Moves or renames a note. Wikilinks across the vault are updated automatically. |
| obsidian_delete_noteA | Moves a note to the system trash. Set |
| obsidian_get_propertiesA | Returns the YAML frontmatter properties of a note as JSON. |
| obsidian_set_propertyB | Sets a frontmatter property on a note. Creates the frontmatter block if missing. |
| obsidian_remove_propertyC | Removes a frontmatter property from a note. |
| obsidian_searchA | Full-text search across the vault. Returns matching files. |
| obsidian_search_contextA | Full-text search that returns surrounding lines of context for each hit. |
| obsidian_list_tagsA | Lists every tag used in the vault, with usage counts. |
| obsidian_files_with_tagA | Lists every note tagged with the given tag. |
| obsidian_rename_tagB | Renames a tag across every note in the vault. |
| obsidian_get_linksA | Returns the outgoing wikilinks from a note. |
| obsidian_get_backlinksA | Returns notes that link to the target note. |
| obsidian_list_unresolvedA | Finds wikilinks that point to non-existent notes. |
| obsidian_list_orphansA | Finds notes that have no incoming wikilinks. |
| obsidian_daily_readA | Returns the content of today's daily note. |
| obsidian_daily_appendA | Appends content to today's daily note (creates it if missing). |
| obsidian_daily_pathA | Returns the file path of today's daily note. |
| obsidian_list_pluginsA | Lists installed community + core plugins with enabled state. |
| obsidian_enable_pluginA | Enables a community plugin by id. |
| obsidian_disable_pluginB | Disables a community plugin by id. |
| obsidian_reload_pluginA | Reloads a plugin's code (useful during plugin development). |
| obsidian_evalA | Runs arbitrary JavaScript inside the running Obsidian instance with access to the |
| obsidian_dev_screenshotA | Returns a base64-encoded PNG screenshot of the running Obsidian window. |
| obsidian_dev_errorsA | Returns recent JS errors from the Obsidian DevTools console. |
| obsidian_dev_consoleA | Returns recent console messages from Obsidian DevTools. |
| obsidian_versionA | Returns the version of the Obsidian CLI binary in use. |
| obsidian_helpA | Shows the underlying |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yuchi-chang/obsidian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server