Advanced Obsidian MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INCLUDE_TOOLS | No | Comma-separated list of tool names to include. If not specified, all tools are available. Example: 'obsidian_understand_vault,obsidian_simple_search' | |
| OBSIDIAN_HOST | No | The host for the Obsidian REST API. Can be changed in the plugin settings. | 127.0.0.1 |
| OBSIDIAN_PORT | No | The port for the Obsidian REST API. Can be changed in the plugin settings. | 27124 |
| OBSIDIAN_API_KEY | Yes | API key obtained from the Obsidian REST API plugin settings | |
| OBSIDIAN_VAULT_PATH | Yes | The absolute path to your Obsidian vault |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| obsidian_get_active_noteB | Get the content and metadata of the currently active note in Obsidian. Always returns the note that is most recently edited (edit with user). |
| obsidian_delete_fileC | Delete a file or directory from the vault. |
| obsidian_recent_changesB | Get recently modified files in the vault. |
| obsidian_open_filesB | Open one or more files in the vault in a new leaf. |
| obsidian_execute_commandsB | Execute one or more commands in obsidian interface, in order. For commands used on specific notes, make sure to open a note first. |
| obsidian_append_to_fileC | Append content to a new or existing file in the vault. |
| obsidian_patch_fileB | Insert content into an existing note relative to a heading, block reference, or frontmatter field. |
| obsidian_put_fileC | Create a new file in your vault or update the content of an existing one in your vault. |
| obsidian_recent_periodic_notesB | Get most recent periodic notes for the specified period type. When include_content=True, return notes' comprehensive metadata (tags, links, titles, etc.) and note content using the enhanced API approach. |
| obsidian_periodic_notesC | Get current periodic note for the specified period. Returns both comprehensive metadata (tags, links, titles, etc.) and note content using the enhanced API approach. |
| obsidian_understand_vaultA | Get a comprehensive understanding of the vault structure. Returns: 1. directory tree representation and 2. NetworkX graph of note connections used to understand how different notes (.md) and other files (e.g. images, PDFs, referenced/attached) are connected. Combines filesystem directory structure with note relationship graph between notes (.md files). |
| obsidian_list_commandsB | List all available commands you can run in obsidian interface. For commands used on specific notes, make sure to open a note first. |
| obsidian_batch_get_filesA | Return the contents and metadata of one or more notes (.md files) in your vault. |
| obsidian_complex_searchA | Complex search for documents using a JsonLogic query. Supports standard JsonLogic operators plus 'glob' and 'regexp' for pattern matching. Results must be non-falsy. |
| obsidian_list_files_in_dirA | Lists all files and directories that exist in a specific Obsidian directory. |
| obsidian_simple_searchB | Simple search for documents matching a specified text query across all files in the vault. Use this tool when you want to do a simple text search |
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 16 tools
Most tools have distinct purposes, but there is some overlap between obsidian_simple_search and obsidian_complex_search that could cause confusion. The descriptions help differentiate them, but both are search tools with similar naming, which might lead to misselection if an agent isn't careful. Other tools like obsidian_append_to_file and obsidian_patch_file are clearly distinct in their file modification roles.
All tool names follow a consistent snake_case pattern with the prefix 'obsidian_' followed by a descriptive verb_noun combination. This uniformity makes the tools predictable and easy to understand, such as obsidian_list_files_in_dir, obsidian_delete_file, and obsidian_get_active_note. There are no deviations in naming conventions across the set.
With 16 tools, the count is slightly high but reasonable for an advanced Obsidian server that aims to provide comprehensive vault management. It covers a wide range of operations from file CRUD to search and vault analysis, though it might feel a bit heavy compared to simpler servers. Each tool appears to have a specific role, justifying its inclusion without excessive redundancy.
The tool set provides complete coverage for managing an Obsidian vault, including CRUD operations (e.g., obsidian_put_file, obsidian_delete_file), search capabilities (simple and complex), file navigation (list, open), vault understanding, and specialized features like periodic notes and command execution. There are no obvious gaps; agents can perform all typical workflows without dead ends.