Obsidian MCP Server
Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
NODE_ENV | No | The Node.js environment setting | production |
MAX_TOKENS | No | Maximum tokens per response | 20000 |
TOOL_TIMEOUT_MS | No | Tool execution timeout in milliseconds | 60000 |
OBSIDIAN_API_KEY | Yes | Your API key for the Obsidian MCP Server | |
OBSIDIAN_VERIFY_SSL | No | Enable SSL verification | false |
RATE_LIMIT_WINDOW_MS | No | Rate limit window in milliseconds (default: 15 minutes) | 900000 |
RATE_LIMIT_MAX_REQUESTS | No | Max requests per rate limit window | 200 |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
obsidian_list_files_in_vault | Lists all files and directories in the root directory of your Obsidian vault. Returns a hierarchical structure of files and folders, including metadata like file type. |
obsidian_list_files_in_dir | Lists all files and directories that exist in a specific Obsidian directory. Returns a hierarchical structure showing files, folders, and their relationships. Useful for exploring vault organization and finding specific files. |
obsidian_get_file_contents | Return the content of a single file in your vault. Supports markdown files, text files, and other readable formats. Returns the raw content including any YAML frontmatter. |
obsidian_find_in_file | Full-text search across all files in the vault. Returns matching files with surrounding context for each match. Useful for finding specific content, references, or patterns across notes. |
obsidian_append_content | Append content to a new or existing file in the vault. |
obsidian_patch_content | Update the entire content of an existing note or create a new one. |
obsidian_complex_search | Advanced search functionality using JsonLogic queries. Enables complex file filtering based on paths, metadata, modification times, and content patterns. Supports logical operations, date comparisons, and pattern matching. |
obsidian_get_properties | Get properties (title, tags, status, etc.) from an Obsidian note's YAML frontmatter. Returns all available properties including custom fields. |
obsidian_update_properties | Update properties in an Obsidian note's YAML frontmatter. Intelligently merges arrays (tags, type, status), handles custom fields, and automatically manages timestamps (created by Obsidian, modified by MCP server). Existing properties not included in the update are preserved. |