Obsidian

Obsidian

MCP server that interacts with Obsidian via the Obsidian rest API community plugin.

5.1K

11

12 Tools

Signed
Built by Docker
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

About

Obsidian MCP Server

MCP server that interacts with Obsidian via the Obsidian rest API community plugin.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/obsidian
AuthorMarkusPfundstein
Repositoryhttps://github.com/MarkusPfundstein/mcp-obsidian
Dockerfilehttps://github.com/docker/mcp-obsidian/blob/docker-support/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/obsidian --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (12)

Tools provided by this ServerShort Description
obsidian_append_contentAppend content to a new or existing file in the vault.
obsidian_batch_get_file_contentsReturn the contents of multiple files in your vault, concatenated with headers.
obsidian_complex_searchComplex search for documents using a JsonLogic query.
obsidian_delete_fileDelete a file or directory from the vault.
obsidian_get_file_contentsReturn the content of a single file in your vault.
obsidian_get_periodic_noteGet current periodic note for the specified period.
obsidian_get_recent_changesGet recently modified files in the vault.
obsidian_get_recent_periodic_notesGet most recent periodic notes for the specified period type.
obsidian_list_files_in_dirLists all files and directories that exist in a specific Obsidian directory.
obsidian_list_files_in_vaultLists all files and directories in the root directory of your Obsidian vault.
obsidian_patch_contentInsert content into an existing note relative to a heading, block reference, or frontmatter field.
obsidian_simple_searchSimple search for documents matching a specified text query across all files in the vault.

Tools Details

Tool: obsidian_append_content

Append content to a new or existing file in the vault.

ParametersTypeDescription
contentstringContent to append to the file
filepathstringPath to the file (relative to vault root)

Tool: obsidian_batch_get_file_contents

Return the contents of multiple files in your vault, concatenated with headers.

ParametersTypeDescription
filepathsarrayList of file paths to read

Tool: obsidian_complex_search

Complex search for documents using a JsonLogic query. Supports standard JsonLogic operators plus 'glob' and 'regexp' for pattern matching. Results must be non-falsy.

       Use this tool when you want to do a complex search, e.g. for all documents with certain tags etc.
ParametersTypeDescription
queryobjectJsonLogic query object. Example: {"glob": ["*.md", {"var": "path"}]} matches all markdown files

Tool: obsidian_delete_file

Delete a file or directory from the vault.

ParametersTypeDescription
confirmbooleanConfirmation to delete the file (must be true)
filepathstringPath to the file or directory to delete (relative to vault root)

Tool: obsidian_get_file_contents

Return the content of a single file in your vault.

ParametersTypeDescription
filepathstringPath to the relevant file (relative to your vault root).

Tool: obsidian_get_periodic_note

Get current periodic note for the specified period.

ParametersTypeDescription
periodstringThe period type (daily, weekly, monthly, quarterly, yearly)

Tool: obsidian_get_recent_changes

Get recently modified files in the vault.

ParametersTypeDescription
daysintegeroptionalOnly include files modified within this many days (default: 90)
limitintegeroptionalMaximum number of files to return (default: 10)

Tool: obsidian_get_recent_periodic_notes

Get most recent periodic notes for the specified period type.

ParametersTypeDescription
periodstringThe period type (daily, weekly, monthly, quarterly, yearly)
include_contentbooleanoptionalWhether to include note content (default: false)
limitintegeroptionalMaximum number of notes to return (default: 5)

Tool: obsidian_list_files_in_dir

Lists all files and directories that exist in a specific Obsidian directory.

ParametersTypeDescription
dirpathstringPath to list files from (relative to your vault root). Note that empty directories will not be returned.

Tool: obsidian_list_files_in_vault

Lists all files and directories in the root directory of your Obsidian vault.

Tool: obsidian_patch_content

Insert content into an existing note relative to a heading, block reference, or frontmatter field.

ParametersTypeDescription
contentstringContent to insert
filepathstringPath to the file (relative to vault root)
operationstringOperation to perform (append, prepend, or replace)
targetstringTarget identifier (heading path, block reference, or frontmatter field)
target_typestringType of target to patch

Tool: obsidian_simple_search

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

ParametersTypeDescription
querystringText to a simple search for in the vault.
context_lengthintegeroptionalHow much context to return around the matching string (default: 100)

Use this MCP Server

{
  "mcpServers": {
    "obsidian": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OBSIDIAN_HOST",
        "-e",
        "OBSIDIAN_API_KEY",
        "mcp/obsidian"
      ],
      "env": {
        "OBSIDIAN_HOST": "host.docker.internal",
        "OBSIDIAN_API_KEY": "YOUR_OBSIDIAN_API_KEY"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Manual installation

You can install the MCP server using:

Installation for

Related servers