MM

markuspfundstein/mcp-obsidian

Productivity workflow

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

4,5 тыс. stars 508 forks Качество 85 Тренд 41MIT

MCP-сервер, который взаимодействует с Obsidian через плагин сообщества Obsidian rest API

Обзор

MCP-сервер для взаимодействия с Obsidian через плагин сообщества Local REST API. Сервер реализует несколько инструментов для взаимодействия с Obsidian: - list_files_in_vault: Перечисляет все файлы и каталоги в корневом каталоге вашего хранилища Obsidian - list_files_in_dir: Перечисляет все файлы и каталоги в конкретной папке Obsidian - get_file_contents: Возвращает содержимое одного файла в вашем хранилище. - Поиск: Поиск документов, соответствующих заданному текстовому запросу, среди всех файлов хранилища - patch_content: Вставка содержимого в существующую заметку относительно заголовка, ссылки на блок или фронтматера. - append_content: Добавление содержимого к новому или существующему файлу в хранилище. - delete_file: Удаление файла или каталога из вашего хранилища. Полезно сначала попросить Клода использовать Obsidian. Тогда инструмент всегда будет вызываться.

Обзор (машинный перевод)

MCP-сервер для взаимодействия с Obsidian через плагин сообщества Local REST API.

Компоненты

Инструменты

Сервер реализует несколько инструментов для взаимодействия с Obsidian:

  • list_files_in_vault: Перечисляет все файлы и каталоги в корневой папке вашего хранилища Obsidian
  • list_files_in_dir: Перечисляет все файлы и каталоги в определённой директории Obsidian
  • get_file_contents: Вернуть содержимое одного файла в своё хранилище.
  • поиск: Поиск документов, соответствующих заданному текстовому запросу, во всех файлах хранилища
  • patch_content: Вставлять содержимое в существующую заметку относительно заголовка, блоковой ссылки или фронтматичного поля.
  • append_content: Добавление содержимого в новый или существующий файл в хранилище.
  • delete_file: Удалить файл или каталог из вашего хранилища.

Примеры запросов

Полезно сначала попросить Клода использовать Obsidian. Тогда инструмент всегда будет вызываться.

Подсказки по использованию такие:

  • Получить содержимое последней архитектурной заметки и резюмировать его
  • Ищите все файлы, где упоминается Azure CosmosDb, и быстро объясните мне контекст, в котором он упоминается
  • Подытожить конспекты последних встреч и поместить их в новую заметку «summary meeting.md».

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

MCP server for Obsidian

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

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.
  • delete_file: Delete a file or directory from your 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.

Requirements

  • Python >= 3.11
  • mcp Python SDK >=1.1.0,=2.0 will crash at import with AttributeError: 'Server' object has no attribute 'list_tools'.

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)
{
  "mcp-obsidian": {
    "command": "uvx",
    "args": [
      "mcp-obsidian"
    ],
    "env": {
      "OBSIDIAN_API_KEY": "",
      "OBSIDIAN_HOST": "",
      "OBSIDIAN_PORT": ""
    }
  }
}

Sometimes Claude has issues detecting the location of uv / uvx. You can use which uvx to find and paste the full path in above config in such cases.

  1. Create a .env file in the working directory with the following required variables:
OBSIDIAN_API_KEY=your_api_key_here
OBSIDIAN_HOST=your_obsidian_host
OBSIDIAN_PORT=your_obsidian_port

Note:

  • You can find the API key in the Obsidian plugin config
  • Default port is 27124 if not specified
  • Default host is 127.0.0.1 if not specified

Quickstart

Install

Obsidian REST API

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

Открыть полный README на GitHub

Установка

uvx mcp-obsidian
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "mcp-obsidian": { "command": "uv", "args": [ "--directory", "<dir_to>/mcp-obsidian", "run", "mcp-obsidian" ], "env": { "OBSIDIAN_API_KEY": "<your_api_key_here>", "OBSIDIAN_HOST": "<your_obsidian_host>", "OBSIDIAN_PORT": "<your_obsidian_port>" } } } }