LabStore
← All labs

Obsidian

by docker ✓ verified ✓ Packaged by Docker

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

MCP server installable needs setup network: on runtime: sysbox

Project Management MCP Servers

Obsidian MCP Server

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

What is an MCP Server?

MCP Info

Attribute Details
Docker Image mcp/obsidian
Author MarkusPfundstein
Repository https://github.com/MarkusPfundstein/mcp-obsidian

Image Building Info

Attribute Details
Dockerfile https://github.com/docker/mcp-obsidian/blob/b20ad46eea43988a4c1a6f8ec7947ef4c6cbf9a9/Dockerfile
Commit b20ad46eea43988a4c1a6f8ec7947ef4c6cbf9a9
Docker Image built by Docker Inc.
Docker Scout Health Score Docker Scout Health Score
Verify Signature COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/obsidian --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
Licence MIT License

Available Tools (12)

Tools provided by this Server Short Description
obsidian_append_content Append content to a new or existing file in the vault.
obsidian_batch_get_file_contents Return the contents of multiple files in your vault, concatenated with headers.
obsidian_complex_search Complex search for documents using a JsonLogic query.
obsidian_delete_file Delete a file or directory from the vault.
obsidian_get_file_contents Return the content of a single file in your vault.
obsidian_get_periodic_note Get current periodic note for the specified period.
obsidian_get_recent_changes Get recently modified files in the vault.
obsidian_get_recent_periodic_notes Get most recent periodic notes for the specified period type.
obsidian_list_files_in_dir Lists all files and directories that exist in a specific Obsidian directory.
obsidian_list_files_in_vault Lists all files and directories in the root directory of your Obsidian vault.
obsidian_patch_content Insert content into an existing note relative to a heading, block reference, or frontmatter field.
obsidian_simple_search Simple 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.

Parameters Type Description
content string Content to append to the file
filepath string Path 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.

Parameters Type Description
filepaths array List of file paths to read

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.
Parameters Type Description
query object JsonLogic query object. Example: {"glob": ["*.md", {"var": "path"}]} matches all markdown files

Tool: obsidian_delete_file

Delete a file or directory from the vault.

Parameters Type Description
confirm boolean Confirmation to delete the file (must be true)
filepath string Path 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.

Parameters Type Description
filepath string Path to the relevant file (relative to your vault root).

Tool: obsidian_get_periodic_note

Get current periodic note for the specified period.

Parameters Type Description
period string The period type (daily, weekly, monthly, quarterly, yearly)

Tool: obsidian_get_recent_changes

Get recently modified files in the vault.

Parameters Type Description
days integer optional Only include files modified within this many days (default: 90)
limit integer optional Maximum number of files to return (default: 10)

Tool: obsidian_get_recent_periodic_notes

Get most recent periodic notes for the specified period type.

Parameters Type Description
period string The period type (daily, weekly, monthly, quarterly, yearly)
include_content boolean optional Whether to include note content (default: false)
limit integer optional Maximum 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.

Parameters Type Description
dirpath string Path 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.

Parameters Type Description
content string Content to insert
filepath string Path to the file (relative to vault root)
operation string Operation to perform (append, prepend, or replace)
target string Target identifier (heading path, block reference, or frontmatter field)
target_type string Type of target to patch

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

Parameters Type Description
query string Text to a simple search for in the vault.
context_length integer optional How 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?