MCP server that interacts with Obsidian via the Obsidian rest API community plugin.
5.1K
11
12 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
MCP server that interacts with Obsidian via the Obsidian rest API community plugin.
Attribute | Details |
---|---|
Docker Image | mcp/obsidian |
Author | MarkusPfundstein |
Repository | https://github.com/MarkusPfundstein/mcp-obsidian |
Dockerfile | https://github.com/docker/mcp-obsidian/blob/docker-support/Dockerfile |
Docker Image built by | Docker Inc. |
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 |
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. |
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 |
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.
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 |
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
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) |
{
"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"
}
}
}
}
Manual installation
You can install the MCP server using:
Installation for