MCP ExplorerExplorer

Markuspfundstein Mcp Obsidian

@MCP-Mirroron 10 months ago
1 MIT
FreeCommunity
AI Systems
Mirror of https://github.com/MarkusPfundstein/mcp-obsidian

Overview

What is Markuspfundstein Mcp Obsidian

MarkusPfundstein_mcp-obsidian is an MCP server designed to interact with the Obsidian note-taking application via its Local REST API community plugin. It allows users to perform various operations on their Obsidian vaults seamlessly.

Use cases

Use cases include summarizing meeting notes, searching for specific topics within a vault, and managing documentation efficiently. For example, users can quickly retrieve and summarize notes from past meetings or find all mentions of a specific term in their notes.

How to use

To use MarkusPfundstein_mcp-obsidian, configure the server with your Obsidian REST API Key either by adding it to the server config or creating a .env file. Once set up, you can use various commands to list files, get file contents, search documents, and modify notes within your Obsidian vault.

Key features

Key features include listing all files in the vault, retrieving file contents, searching for specific text across all files, patching existing notes, and appending new content to files. These tools enhance the interaction with Obsidian, making it more efficient.

Where to use

MarkusPfundstein_mcp-obsidian is primarily used in personal knowledge management, project management, and documentation tasks where Obsidian is employed as a note-taking tool. It is suitable for individuals and teams looking to streamline their workflow.

Content

MCP server for Obsidian

MCP server to interact with Obsidian via the Local REST API community plugin.

server for Obsidian MCP server

Components

Tools

The server implements multiple tools to interact with Obsidian:

  • list_files_in_vault: Lists all files and directories in the root directory of your Obsidian vault
  • list_files_in_dir: Lists all files and directories in a specific Obsidian directory
  • get_file_contents: Return the content of a single file in your vault.
  • search: Search for documents matching a specified text query across all files in the vault
  • patch_content: Insert content into an existing note relative to a heading, block reference, or frontmatter field.
  • append_content: Append content to a new or existing file in the vault.

Example prompts

Its good to first instruct Claude to use Obsidian. Then it will always call the tool.

The use prompts like this:

  • Get the contents of the last architecture call note and summarize them
  • Search for all files where Azure CosmosDb is mentioned and quickly explain to me the context in which it is mentioned
  • Summarize the last meeting notes and put them into a new note ‘summary meeting.md’. Add an introduction so that I can send it via email.

Configuration

Obsidian REST API Key

There are two ways to configure the environment with the Obsidian REST API Key.

  1. Add to server config (preferred)
  1. Create a .env file in the working directory with the following required variable:
OBSIDIAN_API_KEY=your_api_key_here

Note: You can find the key in the Obsidian plugin config.

Quickstart

Install

Obsidian REST API

You need the Obsidian REST API community plugin running: https://github.com/coddingtonbear/obsidian-local-rest-api

Install and enable it in the settings and copy the api key.

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-obsidian",
        "run",
        "mcp-obsidian"
      ]
    }
  }
}
Published Servers Configuration
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<YOUR_OBSIDIAN_API_KEY>"
      }
    }
  }
}

Development

Building

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging
experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

You can also watch the server logs with this command:

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian.log

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers