rps321321/obsidian-mcp-pro

rps321321/obsidian-mcp-pro

от rps321321
Полнофункциональный MCP сервер для Obsidian с 41 инструментом: чтение, запись, поиск, теги, ссылки, canvas, семантический поиск и анализ графов. Дает AI-ассистентам глубокий доступ к хранилищу заметок через протокол MCP.

obsidian-mcp-pro: AI agents for your Obsidian vault

obsidian-mcp-pro

The most feature-complete MCP server for Obsidian vaults.

Please star us on GitHub, it helps us reach more users!

Patreon Ko-fi

💙 Support this project. obsidian-mcp-pro is free and open-source. If it saves you time, consider becoming a patron for ongoing support, or tipping on Ko-fi for a one-time thanks. Patrons get release notes early, priority on bug reports, and (optionally) their name in the README.

obsidian-mcp-pro MCP server

npm version npm downloads GitHub stars License: MIT Node >= 24 Tests Tool Quality

Give AI assistants deep, structured access to your Obsidian knowledge base. Read, write, search, tag, analyze links, traverse graphs, manipulate canvases, query Bases, edit by heading or block reference, run semantic search, and pull binary attachments. All through the Model Context Protocol.

41 tools, 5 prompts, 3 resources. Every tool ships with rich descriptions, typed schemas, human-readable titles, and safety annotations (readOnlyHint, destructiveHint, idempotentHint) so your agent picks the right tool, passes the right arguments, and handles results correctly. The original 23 tools earned an average 4.40/5 score and all-A grades on Glama's quality index; the 18 newer ones follow the same authoring conventions documented in docs/TOOL_AUTHORING.md.

add_canvas_edge

Создает направленное ребро, соединяющее два существующих узла на холсте. Оба узла — fromNode и toNode — уже должны быть на холсте (используй read_canvas, чтобы получить список ID узлов, или запомни ID, который вернул add_canvas_node). Опциональные fromSide/toSide задают, к какой стороне каждого узла привязывается ребро. Возвращает сгенерированный UUID ребра.

Add Canvas Edge

Создает направленное ребро, соединяющее два существующих узла на холсте. Оба узла — fromNode и toNode — уже должны быть на холсте (используй read_canvas, чтобы получить список ID узлов, или запомни ID, который вернул add_canvas_node). Опциональные fromSide/toSide задают, к какой стороне каждого узла привязывается ребро. Возвращает сгенерированный UUID ребра.

Параметры

  • canvasPathstringобязательный

    Relative path from vault root to the target .canvas file

  • fromNodestringобязательный

    UUID of the source (origin) node - must already exist on the canvas

  • toNodestringобязательный

    UUID of the target (destination) node - must already exist on the canvas

  • labelstring

    Optional text label rendered on the edge

  • fromSideenum

    Face of the source node the edge leaves from (default: auto-chosen by Obsidian)

    toprightbottomleft
  • toSideenum

    Face of the target node the edge arrives at (default: auto-chosen by Obsidian)

    toprightbottomleft
add_canvas_node

Добавляет новый узел в холст Obsidian и сохраняет обновлённый файл. Поддерживает четыре типа узлов: 'text' (блок Markdown), 'file' (встроенная ссылка на заметку в хранилище), 'link' (внешняя ссылка) и 'group' (контейнер с подписью). Возвращает сгенерированный UUID узла, необходимый для соединения узлов через add_canvas_edge. Если не указаны ни x, ни y, новый узел автоматически размещается в позиции (50 * количество_существующих, 50 * количество_существующих), чтобы избежать наложения узлов с позицией по умолчанию в начале координат. Явное указание x или y всегда отменяет это смещение.

Add Canvas Node

Добавляет новый узел в холст Obsidian и сохраняет обновлённый файл. Поддерживает четыре типа узлов: 'text' (блок Markdown), 'file' (встроенная ссылка на заметку в хранилище), 'link' (внешняя ссылка) и 'group' (контейнер с подписью). Возвращает сгенерированный UUID узла, необходимый для соединения узлов через add_canvas_edge. Если не указаны ни x, ни y, новый узел автоматически размещается в позиции (50 * количество_существующих, 50 * количество_существующих), чтобы избежать наложения узлов с позицией по умолчанию в начале координат. Явное указание x или y всегда отменяет это смещение.

Параметры

  • canvasPathstringобязательный

    Relative path from vault root to the target .canvas file

  • typeenumобязательный

    Node kind: 'text' = markdown block, 'file' = vault note reference, 'link' = external URL, 'group' = labeled container

    textfilelinkgroup
  • contentstringобязательный

    Interpretation depends on type: text body for 'text', relative note path for 'file', URL for 'link', display label for 'group'

  • xnumber

    X coordinate on the canvas. When omitted (and y is also omitted) the node is auto-staggered to avoid origin pile-up; an explicit value always wins.

  • ynumber

    Y coordinate on the canvas. When omitted (and x is also omitted) the node is auto-staggered to avoid origin pile-up; an explicit value always wins.

  • widthinteger

    Node width in pixels (default: 250, max: 10000)

  • heightinteger

    Node height in pixels (default: 60, max: 10000)

  • colorstring

    Color: '1'-'6' for Obsidian's preset palette (red/orange/yellow/green/cyan/purple), or a hex code like '#ff5555'

append_to_note

Добавляет текст в конец существующей заметки, не меняя предыдущее содержимое. По умолчанию вставляет перенос строки в начале, если файл ещё не заканчивается на него, чтобы добавляемый контент шёл с новой строки. Используйте для логов, текущих списков или добавления новых разделов. Завершается ошибкой, если заметка не существует — сначала создайте новую заметку через create_note.

Append to Note

Добавляет текст в конец существующей заметки, не меняя предыдущее содержимое. По умолчанию вставляет перенос строки в начале, если файл ещё не заканчивается на него, чтобы добавляемый контент шёл с новой строки. Используйте для логов, текущих списков или добавления новых разделов. Завершается ошибкой, если заметка не существует — сначала создайте новую заметку через create_note.

Параметры

  • pathstringобязательный

    Relative path from vault root to the target note (e.g., 'journal/2026-04-15.md'). Extension optional.

  • contentstringобязательный

    Markdown text to append to the end of the note. A leading newline is auto-inserted when the file does not already end in one.

create_daily_note

Создаёт ежедневную заметку для сегодняшнего дня (или указанной даты) в настроенной папке для ежедневных заметок хранилища, используя настроенный формат имени файла. При необходимости можно заполнить заметку из файла шаблона с подстановкой плейсхолдеров в стиле Obsidian: {{date}} и {{title}} → отформатированная дата; {{time}} → местное время в формате HH:mm; {{date:FORMAT}} / {{time:FORMAT}} → пользовательский формат в стиле moment. Завершается ошибкой, если ежедневная заметка уже существует.

Create Daily Note

Создаёт ежедневную заметку для сегодняшнего дня (или указанной даты) в настроенной папке для ежедневных заметок хранилища, используя настроенный формат имени файла. При необходимости можно заполнить заметку из файла шаблона с подстановкой плейсхолдеров в стиле Obsidian: {{date}} и {{title}} → отформатированная дата; {{time}} → местное время в формате HH:mm; {{date:FORMAT}} / {{time:FORMAT}} → пользовательский формат в стиле moment. Завершается ошибкой, если ежедневная заметка уже существует.

Параметры

  • datestring

    Target date in YYYY-MM-DD format (defaults to today). Determines filename and {{date}} substitution.

  • contentstring

    Initial markdown body for the daily note. Ignored if templatePath is provided.

  • templatePathstring

    Relative path to a template note. Its content is copied into the new daily note with Obsidian-style placeholders substituted: {{date}}/{{title}} → formatted date, {{time}} → local HH:mm, and {{date:FORMAT}}/{{time:FORMAT}} → custom moment-style format.

create_note

Создаёт новую заметку в формате Markdown по указанному пути с содержимым тела и опциональным YAML-заголовком. Завершается ошибкой (не перезаписывает), если заметка уже существует по этому пути — для существующих заметок используйте append_to_note, prepend_to_note или update_frontmatter. Отсутствующие директории создаются автоматически, а расширение .md добавляется, если опущено.

Create Note

Создаёт новую заметку в формате Markdown по указанному пути с содержимым тела и опциональным YAML-заголовком. Завершается ошибкой (не перезаписывает), если заметка уже существует по этому пути — для существующих заметок используйте append_to_note, prepend_to_note или update_frontmatter. Отсутствующие директории создаются автоматически, а расширение .md добавляется, если опущено.

Параметры

  • pathstringобязательный

    Relative path from vault root, e.g., 'folder/note.md' or 'note' (.md added automatically)

  • contentstringобязательный

    Markdown body content for the note (rendered below the frontmatter block if any)

  • frontmatterstring

    JSON object string of frontmatter key-value pairs (e.g., '{"status":"draft","tags":["idea"]}'). Rendered as YAML at the top of the note.

delete_note

Удаляет заметку. По умолчанию файл перемещается в папку .trash хранилища (можно восстановить внутри Obsidian); передайте permanent=true, чтобы сразу удалить его с диска. Если permanent=true, вы также можете передать removeReferences=true, чтобы удалить вики-ссылки и markdown-ссылки на удалённый файл по всему хранилищу (вставки удаляются полностью; обычные ссылки заменяются на их видимый текст). Ссылки никогда не перезаписываются при перемещении файла в .trash, так как удалённые файлы можно восстановить.

Delete Note

Удаляет заметку. По умолчанию файл перемещается в папку .trash хранилища (можно восстановить внутри Obsidian); передайте permanent=true, чтобы сразу удалить его с диска. Если permanent=true, вы также можете передать removeReferences=true, чтобы удалить вики-ссылки и markdown-ссылки на удалённый файл по всему хранилищу (вставки удаляются полностью; обычные ссылки заменяются на их видимый текст). Ссылки никогда не перезаписываются при перемещении файла в .trash, так как удалённые файлы можно восстановить.

Параметры

  • pathstringобязательный

    Relative path from vault root to the note to delete (e.g., 'archive/old.md'). Extension optional.

  • permanentboolean

    If true, delete the file permanently from disk; if false (default), move it to the vault's .trash folder so it can be recovered.

  • confirmboolean

    Safety latch: must be set to true when permanent=true to confirm the caller intends irreversible deletion. Ignored when permanent=false (trash deletes are recoverable). If permanent=true and confirm is not true, the tool returns an error without deleting.

  • removeReferencesboolean

    If true (and permanent=true), strip wikilinks and markdown links pointing at the deleted file across the vault. Embeds are removed entirely; plain links fall back to their visible text (alias if present, else the deleted file's basename). Ignored when permanent=false. Default false — opt in explicitly because the rewrite is irreversible.

edit_blockидемпотентный

Заменяет содержимое блока, помеченного `^id`. Конечная метка `^id` сохраняется в последней строке нового содержимого, чтобы существующие включения (`![[note#^id]]`) продолжали работать. Используйте для обновления одного абзаца или элемента списка, на которые ссылаются другие заметки.

Edit Block

Заменяет содержимое блока, помеченного `^id`. Конечная метка `^id` сохраняется в последней строке нового содержимого, чтобы существующие включения (`![[note#^id]]`) продолжали работать. Используйте для обновления одного абзаца или элемента списка, на которые ссылаются другие заметки.

Параметры

  • pathstringобязательный

    Vault-relative path to the note.

  • blockstringобязательный

    Block id with or without the leading `^` (e.g. `myid` or `^myid`).

  • newContentstringобязательный

    Replacement content. The `^id` anchor is appended automatically.

find_broken_linksтолько чтениеидемпотентный

Проверяет заметки на наличие вики-ссылок ([[цель]]), цель которых не ведёт к существующей заметке в хранилище. Показывает отчёт с группировкой по источнику: для каждой заметки указан текст битой ссылки и номера строк, а также общее количество. Используйте после переименования, перемещения или удаления заметок, чтобы выявить оборванные ссылки. При разрешении ссылок проверяется всё хранилище, даже если анализ ограничен одной папкой, поэтому сообщается только о ссылках, которые действительно не удаётся разрешить.

Find Broken Links

Проверяет заметки на наличие вики-ссылок ([[цель]]), цель которых не ведёт к существующей заметке в хранилище. Показывает отчёт с группировкой по источнику: для каждой заметки указан текст битой ссылки и номера строк, а также общее количество. Используйте после переименования, перемещения или удаления заметок, чтобы выявить оборванные ссылки. При разрешении ссылок проверяется всё хранилище, даже если анализ ограничен одной папкой, поэтому сообщается только о ссылках, которые действительно не удаётся разрешить.

Параметры

  • folderstring

    Restrict the scan to notes within this folder (resolution still uses the entire vault). Omit to scan every note.

  • maxResultsinteger

    Maximum broken link entries to show (1-1000, default: 200). Grouped by source note. Remaining matches are summarized.

find_orphansтолько чтениеидемпотентный

Определяет изолированные заметки в графе связей хранилища, разделённые на три группы: полностью изолированные (нет ни входящих, ни исходящих ссылок), без обратных ссылок (на них никто не ссылается) и без исходящих ссылок (они ни на кого не ссылаются). Возвращает количество заметок по каждой категории и примеры для каждой, ограничиваясь параметром maxResults. Помогает выявить заброшенные заметки, недостающие страницы-хабы или кандидаты на архивирование.

Find Orphan Notes

Определяет изолированные заметки в графе связей хранилища, разделённые на три группы: полностью изолированные (нет ни входящих, ни исходящих ссылок), без обратных ссылок (на них никто не ссылается) и без исходящих ссылок (они ни на кого не ссылаются). Возвращает количество заметок по каждой категории и примеры для каждой, ограничиваясь параметром maxResults. Помогает выявить заброшенные заметки, недостающие страницы-хабы или кандидаты на архивирование.

Параметры

  • includeOutlinksCheckboolean

    If true (default), also report notes with no outgoing links; if false, only report fully-isolated notes and notes with no backlinks.

  • maxResultsinteger

    Maximum total note paths to list across all categories (1-1000, default: 200). Full counts are always reported regardless.

find_similar_notesтолько чтениеидемпотентный

По заданному пути заметки верните K наиболее семантически похожих заметок из индекса (исключая исходную заметку). Использует существующие эмбеддинги чанков исходной заметки и привязывает исходный запрос к чанкам, соответствующим начальной теме заметки, без вызова API к провайдеру эмбеддингов, поэтому это быстро и бесплатно. Сначала запустите `index_vault`, чтобы заполнить эмбеддинги для исходной заметки и кандидатов.

Find Similar Notes

По заданному пути заметки верните K наиболее семантически похожих заметок из индекса (исключая исходную заметку). Использует существующие эмбеддинги чанков исходной заметки и привязывает исходный запрос к чанкам, соответствующим начальной теме заметки, без вызова API к провайдеру эмбеддингов, поэтому это быстро и бесплатно. Сначала запустите `index_vault`, чтобы заполнить эмбеддинги для исходной заметки и кандидатов.

Параметры

  • pathstringобязательный

    Vault-relative path to the source note, e.g. 'projects/atlas.md'.

  • limitinteger

    Maximum number of similar notes to return (1-100, default: 10).

find_unused_attachmentsтолько чтениеидемпотентный

Находит вложения, на которые не ссылается ни одна заметка — ни через вставки `![[file]]`, ни через markdown-ссылки `[text](file)`. Полезно для гигиены хранилища перед архивацией или синхронизацией. Объединяйте вывод с операциями `delete` из вашей оболочки, так как этот инструмент намеренно не удаляет файлы.

Find Unused Attachments

Находит вложения, на которые не ссылается ни одна заметка — ни через вставки `![[file]]`, ни через markdown-ссылки `[text](file)`. Полезно для гигиены хранилища перед архивацией или синхронизацией. Объединяйте вывод с операциями `delete` из вашей оболочки, так как этот инструмент намеренно не удаляет файлы.

Параметры

  • limitinteger

    Maximum number of unused-attachment paths to return (1-10000, default: 200). Total counts are still reported.

  • includeBytesboolean

    If true, also stat each unused attachment and report total reclaimable bytes.

get_attachmentтолько чтениеидемпотентный

Читает файл вложения и возвращает его байты клиенту. Изображения возвращаются как блоки содержимого `image` (отображаются внутри строки Claude / Cursor), аудио — как блоки `audio`, всё остальное — как блок `resource` в base64 с URI vault://. По умолчанию ограничение 5 МБ, чтобы не тратить токены впустую; можно увеличить через `maxBytes` до 50 МБ. Вложение должно находиться внутри хранилища: заметки markdown (.md), канвасы (.canvas) и Bases (.base) намеренно отклоняются, чтобы вызывающие случайно не вытянули текстовые файлы через этот бинарный путь; используйте get_note / read_canvas / read_base.

Get Attachment

Читает файл вложения и возвращает его байты клиенту. Изображения возвращаются как блоки содержимого `image` (отображаются внутри строки Claude / Cursor), аудио — как блоки `audio`, всё остальное — как блок `resource` в base64 с URI vault://. По умолчанию ограничение 5 МБ, чтобы не тратить токены впустую; можно увеличить через `maxBytes` до 50 МБ. Вложение должно находиться внутри хранилища: заметки markdown (.md), канвасы (.canvas) и Bases (.base) намеренно отклоняются, чтобы вызывающие случайно не вытянули текстовые файлы через этот бинарный путь; используйте get_note / read_canvas / read_base.

Параметры

  • pathstringобязательный

    Vault-relative path to the attachment, e.g. 'assets/diagram.png'.

  • maxBytesinteger

    Maximum file size to fetch in bytes (default: 5,242,880, hard cap: 52,428,800).

get_backlinksтолько чтениеидемпотентный

Выводит список всех заметок, содержащих вики-ссылку на указанную заметку. Каждый результат включает путь к исходной заметке, номер строки и окружающий текст строки для контекста. Используйте, чтобы понять, какие заметки ссылаются на тему, или оценить последствия переименования или удаления заметки. Принимает пути с расширением .md и без него; если точное совпадение не найдено, выполняет поиск по базовому имени.

Get Backlinks

Выводит список всех заметок, содержащих вики-ссылку на указанную заметку. Каждый результат включает путь к исходной заметке, номер строки и окружающий текст строки для контекста. Используйте, чтобы понять, какие заметки ссылаются на тему, или оценить последствия переименования или удаления заметки. Принимает пути с расширением .md и без него; если точное совпадение не найдено, выполняет поиск по базовому имени.

Параметры

  • pathstringобязательный

    Target note path relative to vault root (e.g., 'folder/note.md' or 'note'). Extension optional.

get_daily_noteтолько чтениеидемпотентный

Читает ежедневную заметку за сегодня или за указанную дату, определяя её по настроенным в хранилище папке и формату имени файла. Возвращает путь к заметке, разобранный frontmatter (как блок с заголовками) и тело. Выдаёт ошибку, если ежедневной заметки на эту дату нет — используй create_daily_note, чтобы её создать.

Get Daily Note

Читает ежедневную заметку за сегодня или за указанную дату, определяя её по настроенным в хранилище папке и формату имени файла. Возвращает путь к заметке, разобранный frontmatter (как блок с заголовками) и тело. Выдаёт ошибку, если ежедневной заметки на эту дату нет — используй create_daily_note, чтобы её создать.

Параметры

  • datestring

    Target date in YYYY-MM-DD format (defaults to today's local date)

get_graph_neighborsтолько чтениеидемпотентный

Обходит граф вики-ссылок наружу от начальной заметки и возвращает все заметки, достижимые в пределах N переходов, сгруппированные по уровню глубины, с визуализацией в виде вложенного дерева. Каждый сосед помечается расстоянием в переходах и направлением (inbound — достигнут через обратную ссылку, outbound — достигнут через прямую ссылку). Используется для исследования тематического кластера, построения карты локального окружения заметки или поиска связанных заметок за пределами прямых ссылок. Принимает пути с расширением .md и без него.

Get Graph Neighbors

Обходит граф вики-ссылок наружу от начальной заметки и возвращает все заметки, достижимые в пределах N переходов, сгруппированные по уровню глубины, с визуализацией в виде вложенного дерева. Каждый сосед помечается расстоянием в переходах и направлением (inbound — достигнут через обратную ссылку, outbound — достигнут через прямую ссылку). Используется для исследования тематического кластера, построения карты локального окружения заметки или поиска связанных заметок за пределами прямых ссылок. Принимает пути с расширением .md и без него.

Параметры

  • pathstringобязательный

    Starting note path relative to vault root (e.g., 'projects/alpha.md'). Extension optional; falls back to basename match.

  • depthinteger

    Maximum link-hops to traverse from the start note (1-3, default: 1). Higher values explore exponentially more notes.

  • directionenum

    Traversal direction: 'outbound' follows outlinks the start note points to, 'inbound' follows backlinks pointing at the start note, 'both' follows either (default)

    bothinboundoutbound
  • maxResultsinteger

    Maximum neighbor notes to return (1-1000, default: 200). Traversal stops early when this cap is reached and a truncation notice is appended.

get_noteтолько чтениеидемпотентный

Читает заметку целиком или фрагментом. Без опций фрагмента возвращает разобранный frontmatter (в виде помеченного заголовка), плоский список inline-тегов # и тело заметки. С опцией `section` возвращает только тело под этим заголовком (поддерживается путь вида 'Tasks/Today'). С опцией `block` возвращает абзац или блок с тегом `^id`. С опцией `lines` возвращает диапазон строк включительно с индексацией от 1. Режимы фрагмента пропускают заголовок frontmatter/тегов и возвращают сырой текст - используйте их, чтобы экономить токены на длинных заметках.

Get Note

Читает заметку целиком или фрагментом. Без опций фрагмента возвращает разобранный frontmatter (в виде помеченного заголовка), плоский список inline-тегов # и тело заметки. С опцией `section` возвращает только тело под этим заголовком (поддерживается путь вида 'Tasks/Today'). С опцией `block` возвращает абзац или блок с тегом `^id`. С опцией `lines` возвращает диапазон строк включительно с индексацией от 1. Режимы фрагмента пропускают заголовок frontmatter/тегов и возвращают сырой текст - используйте их, чтобы экономить токены на длинных заметках.

Параметры

  • pathstringобязательный

    Relative path from vault root to the note (e.g., 'folder/note.md'). Extension required.

  • sectionstring

    Heading path (e.g., 'Tasks' or 'Project A/Status'). Returns just that section's body.

  • blockstring

    Block id (without the leading `^`). Returns just the paragraph or block tagged with that id.

  • linesstring

    Line range, 1-indexed and inclusive (e.g., '10-25' or '42'). Returns just those lines.

get_outlinksтолько чтениеидемпотентный

Выводит список всех исходящих wikilink из заметки, разбивая их на валидные ссылки (ведут на существующую заметку), битые ссылки (цель не найдена) и файловые вставки (![[...]]). Возвращает исходный текст ссылки и разрешённые пути. Используйте, чтобы проверить ссылки заметки, найти битые ссылки или отследить downstream-зависимости.

Get Outlinks

Выводит список всех исходящих wikilink из заметки, разбивая их на валидные ссылки (ведут на существующую заметку), битые ссылки (цель не найдена) и файловые вставки (![[...]]). Возвращает исходный текст ссылки и разрешённые пути. Используйте, чтобы проверить ссылки заметки, найти битые ссылки или отследить downstream-зависимости.

Параметры

  • pathstringобязательный

    Source note path relative to vault root (e.g., 'folder/note.md'). Extension optional.

get_recent_notesтолько чтениеидемпотентный

Выводит заметки, отсортированные по дате последнего изменения — сначала новые. Опциональный фильтр `since` принимает дату в формате ISO (например, '2026-04-01') или относительный промежуток ('7d', '24h', '2w'); возвращаются только заметки, изменённые в указанное время или позже. Используйте, чтобы посмотреть, над чем вы работали, собрать дайджест «что изменилось на этой неделе» или выбрать заметки для повторения.

Get Recent Notes

Выводит заметки, отсортированные по дате последнего изменения — сначала новые. Опциональный фильтр `since` принимает дату в формате ISO (например, '2026-04-01') или относительный промежуток ('7d', '24h', '2w'); возвращаются только заметки, изменённые в указанное время или позже. Используйте, чтобы посмотреть, над чем вы работали, собрать дайджест «что изменилось на этой неделе» или выбрать заметки для повторения.

Параметры

  • limitinteger

    Maximum number of notes to return (1-1000, default: 20).

  • sincestring

    Filter to notes modified at or after this point. Accepts ISO 8601 (YYYY-MM-DD or full timestamp) or a relative span like '7d', '24h', '2w'.

  • folderstring

    Restrict to notes within this folder (relative to vault root). Omit to scan the entire vault.

get_vault_statsтолько чтениеидемпотентный

Возвращает быстрый снимок состояния хранилища: количество заметок, общее количество байт, общее количество слов, количество уникальных тегов, количество заметок без тегов и самую недавно изменённую заметку. Полезно для дашбордов и проверок 'здорово ли это хранилище?'. Читает через кеш mtime, поэтому повторные вызовы дёшевы.

Get Vault Stats

Возвращает быстрый снимок состояния хранилища: количество заметок, общее количество байт, общее количество слов, количество уникальных тегов, количество заметок без тегов и самую недавно изменённую заметку. Полезно для дашбордов и проверок 'здорово ли это хранилище?'. Читает через кеш mtime, поэтому повторные вызовы дёшевы.

Параметры

  • folderstring

    Restrict stats to this folder (relative to vault root). Omit for whole-vault stats.

index_vaultидемпотентныйвнешний мир

Строит или обновляет индекс эмбеддингов, используемый `search_semantic` и `find_similar_notes`. Разбивает читаемые заметки на фрагменты с учётом заголовков, отправляет эти фрагменты настроенному провайдеру эмбеддингов (по умолчанию Ollama, OpenAI опционально) и сохраняет индекс в `<хранилище>/.obsidian/cache/mcp-pro-embeddings.json`. Требует `confirm: "send-vault-text-to-embedding-provider"`, чтобы вызывающие явно подтверждали, что текст из хранилища покинет границы этого инструмента. Инкрементально: заметки, чей хеш содержимого совпадает с предыдущим проходом, пропускаются. Используйте `force: true`, чтобы перестроить все эмбеддинги (например, после смены моделей). Отправляет уведомления о прогрессе, если клиент подписался.

Index Vault for Semantic Search

Строит или обновляет индекс эмбеддингов, используемый `search_semantic` и `find_similar_notes`. Разбивает читаемые заметки на фрагменты с учётом заголовков, отправляет эти фрагменты настроенному провайдеру эмбеддингов (по умолчанию Ollama, OpenAI опционально) и сохраняет индекс в `<хранилище>/.obsidian/cache/mcp-pro-embeddings.json`. Требует `confirm: "send-vault-text-to-embedding-provider"`, чтобы вызывающие явно подтверждали, что текст из хранилища покинет границы этого инструмента. Инкрементально: заметки, чей хеш содержимого совпадает с предыдущим проходом, пропускаются. Используйте `force: true`, чтобы перестроить все эмбеддинги (например, после смены моделей). Отправляет уведомления о прогрессе, если клиент подписался.

Параметры

  • forceboolean

    If true, re-embed every note even if its content hash matches the cached one.

  • folderstring

    Restrict the indexing pass to this folder. Notes outside the folder are left untouched.

  • confirmstring

    Required safety latch. Set exactly to "send-vault-text-to-embedding-provider" to acknowledge that readable note chunks will be sent to the configured embedding provider.

insert_at_section

Вставляет содержимое в конкретный раздел, не заменяя его. `position` определяет, куда вставлять: 'before' - перед заголовком, 'after-heading' - сразу под строкой заголовка (в начало тела раздела), 'append' - в конец тела раздела, перед следующим заголовком. Используйте, чтобы добавить новый пункт или абзац без переписывания раздела.

Insert at Section

Вставляет содержимое в конкретный раздел, не заменяя его. `position` определяет, куда вставлять: 'before' - перед заголовком, 'after-heading' - сразу под строкой заголовка (в начало тела раздела), 'append' - в конец тела раздела, перед следующим заголовком. Используйте, чтобы добавить новый пункт или абзац без переписывания раздела.

Параметры

  • pathstringобязательный

    Vault-relative path to the note.

  • sectionstringобязательный

    Heading path identifying the section.

  • contentstringобязательный

    Content to insert. A trailing newline is normalized.

  • positionenum

    Insert before the heading line, immediately after the heading, or at the end of the section body.

    beforeafter-headingappend
list_attachmentsтолько чтениеидемпотентный

Перечислить все файлы в хранилище, не являющиеся markdown: изображения, PDF, аудио/видеоклипы, любые вставленные файлы помимо заметок/канвасов/Bases. Возвращает отсортированный список относительных путей и сводку количества по расширениям. Используйте для аудита активов, поиска дубликатов по имени или выбора целей для find_unused_attachments.

List Attachments

Перечислить все файлы в хранилище, не являющиеся markdown: изображения, PDF, аудио/видеоклипы, любые вставленные файлы помимо заметок/канвасов/Bases. Возвращает отсортированный список относительных путей и сводку количества по расширениям. Используйте для аудита активов, поиска дубликатов по имени или выбора целей для find_unused_attachments.

Параметры

  • extensionstring

    Restrict to one extension (e.g., 'png' or '.png'). Omit for every attachment.

  • limitinteger

    Maximum number of attachment paths to return (1-10000, default: 200). Total counts are still reported.

list_basesтолько чтениеидемпотентный

Перечисляет все файлы Obsidian Bases (.base) в хранилище. Bases: YAML-определённые представления базы данных над заметками (фильтры, свойства, табличные/календарные/канбан-представления). Возвращает отсортированный список относительных путей и общее количество. Используется вместе с read_base или query_base.

List Bases

Перечисляет все файлы Obsidian Bases (.base) в хранилище. Bases: YAML-определённые представления базы данных над заметками (фильтры, свойства, табличные/календарные/канбан-представления). Возвращает отсортированный список относительных путей и общее количество. Используется вместе с read_base или query_base.

Параметры

Без параметров.

list_canvasesтолько чтениеидемпотентный

Перечисляет все файлы холстов Obsidian (.canvas) в любом месте хранилища, возвращая нумерованный список относительных путей и общее количество. Не принимает параметров — сканирует всё хранилище. Используйте для обнаружения доступных холстов перед вызовом read_canvas, add_canvas_node или add_canvas_edge.

List Canvases

Перечисляет все файлы холстов Obsidian (.canvas) в любом месте хранилища, возвращая нумерованный список относительных путей и общее количество. Не принимает параметров — сканирует всё хранилище. Используйте для обнаружения доступных холстов перед вызовом read_canvas, add_canvas_node или add_canvas_edge.

Параметры

Без параметров.

list_notesтолько чтениеидемпотентный

Перечисляет все заметки Markdown в хранилище (или отдельной папке), возвращая отсортированный список относительных путей вместе с общим количеством. Урезает вывод до `limit` записей, но всё равно сообщает общее число. Используйте для просмотра структуры хранилища, создания файлового пикера или перечисления целей для пакетной обработки.

List Notes

Перечисляет все заметки Markdown в хранилище (или отдельной папке), возвращая отсортированный список относительных путей вместе с общим количеством. Урезает вывод до `limit` записей, но всё равно сообщает общее число. Используйте для просмотра структуры хранилища, создания файлового пикера или перечисления целей для пакетной обработки.

Параметры

  • folderstring

    Folder relative to vault root to restrict the listing (omit to list the entire vault)

  • limitinteger

    Maximum number of note paths to return (1-10000, default: 50). The full total count is still reported separately.

list_sectionsтолько чтениеидемпотентный

Выводит все заголовки в заметке в виде дерева путей (с указанием глубины). Полезно для поиска допустимых значений аргумента `section` перед вызовом get_note, update_section или insert_at_section.

List Sections

Выводит все заголовки в заметке в виде дерева путей (с указанием глубины). Полезно для поиска допустимых значений аргумента `section` перед вызовом get_note, update_section или insert_at_section.

Параметры

  • pathstringобязательный

    Vault-relative path to the note.

list_tagsтолько чтениеидемпотентный

Перечисляет все уникальные теги, используемые в хранилище, и количество заметок, в которых встречается каждый тег. Распознаёт теги как из инлайн #хэштегов, так и из YAML фронтматера, нормализует их без учёта регистра, возвращает отсортированный список и общее количество уникальных тегов. Используйте для построения облака тегов, выбора категорий, аудита таксономии или обнаружения доступных тегов перед вызовом search_by_tag.

List All Tags

Перечисляет все уникальные теги, используемые в хранилище, и количество заметок, в которых встречается каждый тег. Распознаёт теги как из инлайн #хэштегов, так и из YAML фронтматера, нормализует их без учёта регистра, возвращает отсортированный список и общее количество уникальных тегов. Используйте для построения облака тегов, выбора категорий, аудита таксономии или обнаружения доступных тегов перед вызовом search_by_tag.

Параметры

  • sortByenum

    Sort order: 'count' = by usage count descending (most-used first, default), 'name' = alphabetical by tag name

    countname
move_note

Перемещает или переименовывает заметку в хранилище, полностью сохраняя её содержимое. Родительские папки по пути назначения создаются при необходимости. По умолчанию обновляет вики-ссылки и ссылки на файлы — так же, как в Obsidian при включённой опции «Автоматически обновлять внутренние ссылки»; для этой перезаписи требуется, чтобы `confirmPath` совпадал с путём назначения после нормализации .md. Укажите `updateLinks: false`, чтобы пропустить перезапись (быстрее в больших хранилищах; если нужно потом проверить — используйте `find_broken_links`). Расширение .md добавляется автоматически, если его нет ни в одном из путей.

Move/Rename Note

Перемещает или переименовывает заметку в хранилище, полностью сохраняя её содержимое. Родительские папки по пути назначения создаются при необходимости. По умолчанию обновляет вики-ссылки и ссылки на файлы — так же, как в Obsidian при включённой опции «Автоматически обновлять внутренние ссылки»; для этой перезаписи требуется, чтобы `confirmPath` совпадал с путём назначения после нормализации .md. Укажите `updateLinks: false`, чтобы пропустить перезапись (быстрее в больших хранилищах; если нужно потом проверить — используйте `find_broken_links`). Расширение .md добавляется автоматически, если его нет ни в одном из путей.

Параметры

  • oldPathstringобязательный

    Current relative path of the note from vault root (e.g., 'inbox/idea.md')

  • newPathstringобязательный

    Destination relative path from vault root (e.g., 'projects/idea.md'). Creates intermediate folders as needed.

  • updateLinksboolean

    If true (default), update every wikilink, markdown link, and canvas node reference across the vault to point at the new path. Set false to skip the rewrite pass.

  • confirmPathstring

    Required when updateLinks is true: re-type the destination path after .md normalization to confirm vault-wide reference rewriting.

prepend_to_note

Вставляет содержимое в начало тела существующей заметки, сразу после блока YAML frontmatter, если он есть (чтобы метаданные оставались в начале файла). Используйте для добавления новых элементов в начало списка, закрепления контекста или вставки разделов TL;DR. Завершается ошибкой, если заметка не существует.

Prepend to Note

Вставляет содержимое в начало тела существующей заметки, сразу после блока YAML frontmatter, если он есть (чтобы метаданные оставались в начале файла). Используйте для добавления новых элементов в начало списка, закрепления контекста или вставки разделов TL;DR. Завершается ошибкой, если заметка не существует.

Параметры

  • pathstringобязательный

    Relative path from vault root to the target note (e.g., 'notes/log.md'). Extension optional.

  • contentstringобязательный

    Markdown text to insert at the top of the body, after any frontmatter

query_baseтолько чтениеидемпотентный

Запускает фильтры Base-файла по хранилищу и возвращает пути совпадающих заметок. Опционально можно выбрать именованное представление, чтобы применить фильтры и порядок этого представления поверх фильтров базового уровня. Поддерживаемый синтаксис фильтров (подмножество полного DSL Obsidian): цепочки методов `file.hasTag("tag")`, `file.hasProperty("key")`, `file.inFolder("path")`, `file.linksTo("target")`, `file.name.contains("x")`/`.startsWith`/`.endsWith`/`.equals`, плюс `.isEmpty`/`.isNotEmpty` для любого значения; устаревшая форма функции `taggedWith(file, "tag")`; сравнения `key == "val"`, `key != x`, `key contains x`, `>=`, `<=`, `>`, `<`; комбинаторы `and:`, `or:`, `not:`. Распознаваемые свойства файла: file.name, file.basename, file.folder, file.ext, file.path, file.size, file.ctime, file.mtime, file.tags, file.properties, file.links, file.embeds, file.backlinks. Неподдерживаемые условия выводятся как предупреждения и считаются несовпадением.

Query Base

Запускает фильтры Base-файла по хранилищу и возвращает пути совпадающих заметок. Опционально можно выбрать именованное представление, чтобы применить фильтры и порядок этого представления поверх фильтров базового уровня. Поддерживаемый синтаксис фильтров (подмножество полного DSL Obsidian): цепочки методов `file.hasTag("tag")`, `file.hasProperty("key")`, `file.inFolder("path")`, `file.linksTo("target")`, `file.name.contains("x")`/`.startsWith`/`.endsWith`/`.equals`, плюс `.isEmpty`/`.isNotEmpty` для любого значения; устаревшая форма функции `taggedWith(file, "tag")`; сравнения `key == "val"`, `key != x`, `key contains x`, `>=`, `<=`, `>`, `<`; комбинаторы `and:`, `or:`, `not:`. Распознаваемые свойства файла: file.name, file.basename, file.folder, file.ext, file.path, file.size, file.ctime, file.mtime, file.tags, file.properties, file.links, file.embeds, file.backlinks. Неподдерживаемые условия выводятся как предупреждения и считаются несовпадением.

Параметры

  • pathstringобязательный

    Vault-relative path to the .base file.

  • viewstring

    Optional view name (or view type) to apply on top of the base-level filters.

  • limitinteger

    Maximum number of matching notes to return (1-1000, default: 100).

  • includeFrontmatterboolean

    If true, include each row's frontmatter in the output.

read_baseтолько чтениеидемпотентный

Возвращает разобранное содержимое файла Base: фильтры, свойства, определения представлений и любые нераспознанные поля. Используется для выяснения того, какие запросы поддерживает Base, перед вызовом query_base.

Read Base

Возвращает разобранное содержимое файла Base: фильтры, свойства, определения представлений и любые нераспознанные поля. Используется для выяснения того, какие запросы поддерживает Base, перед вызовом query_base.

Параметры

  • pathstringобязательный

    Vault-relative path to the .base file.

read_canvasтолько чтениеидемпотентный

Читает файл Obsidian canvas (.canvas, формат JSON) и возвращает краткое человекочитаемое описание его структуры: общее количество узлов и связей, до 200 узлов с id/типом/позицией/размером/превью содержимого и до 200 связей с id исходного и целевого узлов, плюс необязательная метка. Используйте для просмотра или навигации по canvas перед вызовом add_canvas_node или add_canvas_edge.

Read Canvas

Читает файл Obsidian canvas (.canvas, формат JSON) и возвращает краткое человекочитаемое описание его структуры: общее количество узлов и связей, до 200 узлов с id/типом/позицией/размером/превью содержимого и до 200 связей с id исходного и целевого узлов, плюс необязательная метка. Используйте для просмотра или навигации по canvas перед вызовом add_canvas_node или add_canvas_edge.

Параметры

  • pathstringобязательный

    Relative path from vault root to the .canvas file (e.g., 'boards/roadmap.canvas')

rename_tag

Переименовывает тег везде, где он встречается в хранилище — и в инлайн-тегах `#тег`, и в полях `tags:` в frontmatter. Для записи (не сухой прогон) требуется, чтобы `confirmTag` совпадал с новым именем тега. Если `hierarchical: true` (по умолчанию), вложенные теги тоже перебазируются: переименование `project` в `client` также переименует `project/alpha` → `client/alpha`. Если `dryRun: true`, возвращает планируемое количество изменений без записи. Отбрасывайте ведущий `#` у oldName/newName — это имена тегов, а не токены тегов.

Rename Tag

Переименовывает тег везде, где он встречается в хранилище — и в инлайн-тегах `#тег`, и в полях `tags:` в frontmatter. Для записи (не сухой прогон) требуется, чтобы `confirmTag` совпадал с новым именем тега. Если `hierarchical: true` (по умолчанию), вложенные теги тоже перебазируются: переименование `project` в `client` также переименует `project/alpha` → `client/alpha`. Если `dryRun: true`, возвращает планируемое количество изменений без записи. Отбрасывайте ведущий `#` у oldName/newName — это имена тегов, а не токены тегов.

Параметры

  • oldNamestringобязательный

    Existing tag name (without leading #), e.g. 'project'.

  • newNamestringобязательный

    New tag name (without leading #), e.g. 'client'.

  • hierarchicalboolean

    Also rename nested sub-tags (default: true).

  • dryRunboolean

    If true, count matches without modifying any notes.

  • confirmTagstring

    Required when dryRun is false: re-type the new tag name to confirm vault-wide tag rewriting.

replace_in_note

Поиск и замена в пределах одной заметки. Поддерживает буквальные строки или регулярные выражения. С параметром `expectedCount` операция отказывается выполняться, пока не найдено указанное количество совпадений — это защищает от случайной перезамены, когда LLM составляет слишком широкий шаблон. Возвращает количество сделанных замен.

Replace in Note

Поиск и замена в пределах одной заметки. Поддерживает буквальные строки или регулярные выражения. С параметром `expectedCount` операция отказывается выполняться, пока не найдено указанное количество совпадений — это защищает от случайной перезамены, когда LLM составляет слишком широкий шаблон. Возвращает количество сделанных замен.

Параметры

  • pathstringобязательный

    Vault-relative path to the note.

  • findstringобязательный

    Literal string (default) or regex pattern to match.

  • replacestringобязательный

    Replacement text. With `regex: true`, supports $1, $2 backreferences.

  • regexboolean

    Treat `find` as a JavaScript regex (multi-line, case-sensitive by default).

  • flagsstring

    Regex flags (e.g., 'gi'). Defaults to 'g' so all matches are replaced.

  • expectedCountinteger

    If set, abort unless exactly this many matches are found.

resolve_aliasтолько чтениеидемпотентный

Ищет все заметки, у которых в frontmatter поле `aliases:` содержит указанное имя (без учёта регистра). При `includeBasename: true` также находит заметки, чьё имя файла (без `.md`) совпадает с именем: это запасной вариант разрешения в Obsidian, когда ни один псевдоним не совпадает. Используйте, чтобы преобразовать человекочитаемый заголовок, например 'My Project', в реальный путь к заметке перед вызовом get_note.

Resolve Alias

Ищет все заметки, у которых в frontmatter поле `aliases:` содержит указанное имя (без учёта регистра). При `includeBasename: true` также находит заметки, чьё имя файла (без `.md`) совпадает с именем: это запасной вариант разрешения в Obsidian, когда ни один псевдоним не совпадает. Используйте, чтобы преобразовать человекочитаемый заголовок, например 'My Project', в реальный путь к заметке перед вызовом get_note.

Параметры

  • namestringобязательный

    Alias or display name to resolve, e.g. 'My Project'.

  • includeBasenameboolean

    If true (default), also match notes whose filename (without extension) equals `name`.

search_by_frontmatterтолько чтениеидемпотентный

Находит заметки, в YAML frontmatter которых содержится заданная пара свойство/значение. Имена свойств и значения сравниваются без учёта регистра; для свойств-массивов совпадение засчитывается, если совпадает хотя бы один элемент. Возвращает пути к подходящим заметкам вместе с их полным frontmatter. Используйте для фильтрации заметок по метаданным в frontmatter — статусу, типу, тегам и т.п.

Search by Frontmatter

Находит заметки, в YAML frontmatter которых содержится заданная пара свойство/значение. Имена свойств и значения сравниваются без учёта регистра; для свойств-массивов совпадение засчитывается, если совпадает хотя бы один элемент. Возвращает пути к подходящим заметкам вместе с их полным frontmatter. Используйте для фильтрации заметок по метаданным в frontmatter — статусу, типу, тегам и т.п.

Параметры

  • propertystringобязательный

    Frontmatter key to look up, case-insensitively (e.g., 'status', 'type', 'author')

  • valuestringобязательный

    Value to match against the property (case-insensitive; matches any array element)

  • folderstring

    Restrict search to this folder relative to the vault root (omit to search entire vault)

  • maxResultsinteger

    Maximum number of matching notes to return (1-500, default: 50)

search_by_tagтолько чтениеидемпотентный

Находит все заметки, отмеченные определённым тегом, включая вложенные подтеги (поиск 'project' находит и #project, и #project/alpha). Распознаёт теги как в инлайн-хэштегах, так и в YAML frontmatter. Возвращает пути к найденным заметкам с опциональным предпросмотром содержимого. Используйте для сбора заметок по теме, области или этапу рабочего процесса.

Search by Tag

Находит все заметки, отмеченные определённым тегом, включая вложенные подтеги (поиск 'project' находит и #project, и #project/alpha). Распознаёт теги как в инлайн-хэштегах, так и в YAML frontmatter. Возвращает пути к найденным заметкам с опциональным предпросмотром содержимого. Используйте для сбора заметок по теме, области или этапу рабочего процесса.

Параметры

  • tagstringобязательный

    Tag to search for, with or without # prefix (e.g., 'project' or '#project'). Matches nested tags like 'project/alpha'.

  • includeContentboolean

    If true, include the first 200 characters of each matching note as a preview (default: false)

  • maxResultsinteger

    Maximum number of matching notes to return (1-1000, default: 100)

search_notesтолько чтениеидемпотентный

Полнотекстовый поиск по всем заметкам в хранилище. Ранжирует точные совпадения с фокусом на заголовке/пути и подавлением повторяющихся строк, затем возвращает пути совпавших заметок, сгруппированные с номерами строк и содержимым сниппета вокруг запроса для каждой совпавшей строки. Используйте для поиска заметок, содержащих фразу, ключевое слово или фрагмент кода; используйте вместе с get_note для получения полного текста.

Search Notes

Полнотекстовый поиск по всем заметкам в хранилище. Ранжирует точные совпадения с фокусом на заголовке/пути и подавлением повторяющихся строк, затем возвращает пути совпавших заметок, сгруппированные с номерами строк и содержимым сниппета вокруг запроса для каждой совпавшей строки. Используйте для поиска заметок, содержащих фразу, ключевое слово или фрагмент кода; используйте вместе с get_note для получения полного текста.

Параметры

  • querystringобязательный

    Literal search string matched against note body text (not regex)

  • caseSensitiveboolean

    If true, match case exactly; otherwise case-insensitive (default: false)

  • maxResultsinteger

    Maximum number of matching notes to return (1-500, default: 20)

  • folderstring

    Restrict search to this folder relative to the vault root (omit to search entire vault)

search_semanticтолько чтениеидемпотентныйвнешний мир

Ищет заметки по смыслу, а не по ключевым словам. Встраивает запрос с помощью настроенного провайдера, оценивает каждый фрагмент в сохранённом индексе по косинусному сходству, ранжирует по одному результату на заметку, используя лучший фрагмент плюс небольшой сигнал фокуса на верхнем фрагменте, и возвращает лучший фрагмент как источник отрывка. Сначала выполните `index_vault`, чтобы заполнить индекс — этот инструмент не индексирует автоматически, потому что пользователь должен знать, что оплачивает стоимость встраивания. Используйте вместе с `get_note`, чтобы получить полный текст заметки после выбора совпадения.

Semantic Search

Ищет заметки по смыслу, а не по ключевым словам. Встраивает запрос с помощью настроенного провайдера, оценивает каждый фрагмент в сохранённом индексе по косинусному сходству, ранжирует по одному результату на заметку, используя лучший фрагмент плюс небольшой сигнал фокуса на верхнем фрагменте, и возвращает лучший фрагмент как источник отрывка. Сначала выполните `index_vault`, чтобы заполнить индекс — этот инструмент не индексирует автоматически, потому что пользователь должен знать, что оплачивает стоимость встраивания. Используйте вместе с `get_note`, чтобы получить полный текст заметки после выбора совпадения.

Параметры

  • querystringобязательный

    Natural-language description of what you're looking for, e.g. 'notes about onboarding new hires'.

  • limitinteger

    Maximum number of notes to return (1-100, default: 10).

  • folderstring

    Restrict the search to a folder relative to the vault root.

  • includeSnippetboolean

    If true (default), include a short snippet of the matching chunk under each hit.

update_frontmatterидемпотентный

Добавляет новые пары ключ-значение в YAML-шапку заметки, сохраняя все неупомянутые ключи и не трогая содержимое тела. Ключи из payload перезаписывают существующие значения. Создаёт блок шапки, если у заметки его нет. Возвращает количество записанных свойств. Используйте, чтобы задавать поля статуса, массивы тегов или другие метаданные без перезаписи тела. Примечание: YAML-блок пересоздаётся при каждом обновлении — комментарии, пользовательские кавычки, стиль многострочных скаляров, пустые строки и порядок ключей внутри блока нормализуются. Наличие *ключей и значения* сохраняются; форматирование — нет.

Update Frontmatter

Добавляет новые пары ключ-значение в YAML-шапку заметки, сохраняя все неупомянутые ключи и не трогая содержимое тела. Ключи из payload перезаписывают существующие значения. Создаёт блок шапки, если у заметки его нет. Возвращает количество записанных свойств. Используйте, чтобы задавать поля статуса, массивы тегов или другие метаданные без перезаписи тела. Примечание: YAML-блок пересоздаётся при каждом обновлении — комментарии, пользовательские кавычки, стиль многострочных скаляров, пустые строки и порядок ключей внутри блока нормализуются. Наличие *ключей и значения* сохраняются; форматирование — нет.

Параметры

  • pathstringобязательный

    Relative path from vault root to the note (e.g., 'projects/alpha.md'). Extension optional.

  • propertiesstringобязательный

    JSON object string of frontmatter keys to set, e.g., '{"status":"done","priority":1,"tags":["review"]}'. Existing keys not in the payload are preserved.

update_sectionидемпотентный

Заменяет тело указанной секции (всё между заголовком и следующим заголовком любого уровня). Строка заголовка сохраняется. `section` — это путь к заголовку: `'Tasks'`, `'Project A/Status'` и т.д. — без учёта регистра и пробелов. Используйте это вместо перезаписи всего файла, когда нужно обновить только одну секцию.

Update Section

Заменяет тело указанной секции (всё между заголовком и следующим заголовком любого уровня). Строка заголовка сохраняется. `section` — это путь к заголовку: `'Tasks'`, `'Project A/Status'` и т.д. — без учёта регистра и пробелов. Используйте это вместо перезаписи всего файла, когда нужно обновить только одну секцию.

Параметры

  • pathstringобязательный

    Vault-relative path to the note (e.g., 'folder/note.md'). Extension required.

  • sectionstringобязательный

    Heading path identifying the section to replace (e.g., 'Tasks' or 'Daily/Today').

  • newBodystringобязательный

    Replacement body content. The heading line itself is kept intact.

Другие проверенные MCP-сервера

Perplexity MCP

Perplexity MCP

официальный

Официальный MCP-сервер Perplexity: веб-поиск, ответы на вопросы, ресёрч и рассуждения через модели Sonar и Search API.

TypeScript2389
21st-dev/Magic-MCP

21st-dev/Magic-MCP

MCP сервер 21st.dev Magic AI Agent помогает разработчикам создавать UI-компоненты через описание на естественном языке. Интегрируется с Cursor, Windsurf и VS Code, генерируя готовые компоненты.

TypeScript5468
mendableai/firecrawl-mcp-server

mendableai/firecrawl-mcp-server

Firecrawl MCP сервер для AI-агентов, которым нужен чистый контекст из живого веба. Ищет информацию, скрапит страницы в структурированные данные, кликает и навигирует. Работает с облаком и сам хостингом, поддерживает автоматические ретраи. Полезен разработчикам для исследований и автоматизации сбо...

JavaScript6988
rinadelph/Agent-MCP

rinadelph/Agent-MCP

MCP сервер для координации нескольких AI-агентов при разработке. Агенты работают параллельно, используют общую память и граф знаний, что исключает потерю контекста и конфликты. Подходит для крупных...

TypeScript1270
Aiven-Open/mcp-aiven

Aiven-Open/mcp-aiven

официальный

MCP сервер для облачной платформы Aiven: управляйте PostgreSQL, Apache Kafka, приложениями и другими сервисами прямо из AI-ассистентов. Полезен разработчикам и DevOps для автоматизации облачной инфраструктуры.

TypeScript26
storybookjs/addon-mcp

storybookjs/addon-mcp

официальный

MCP сервер для AI-агентов, интегрирующихся со Storybook: передаёт данные о UI-компонентах и упрощает процессы разработки. Полезен frontend-разработчикам и командам, использующим Storybook для документирования.

TypeScript264
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин