Obsidian MCP Server

by cyanheads
Verified

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NODE_ENVNoThe Node.js environment settingproduction
MAX_TOKENSNoMaximum tokens per response20000
TOOL_TIMEOUT_MSNoTool execution timeout in milliseconds60000
OBSIDIAN_API_KEYYesYour API key for the Obsidian MCP Server
OBSIDIAN_VERIFY_SSLNoEnable SSL verificationfalse
RATE_LIMIT_WINDOW_MSNoRate limit window in milliseconds (default: 15 minutes)900000
RATE_LIMIT_MAX_REQUESTSNoMax requests per rate limit window200

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
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.