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 ребра.

Добавить окантовку холста

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

    Relative path from vault root to the target .canvas file

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

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

  • fromSideenum

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

  • labelstring

    Optional text label rendered on the edge

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

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

  • toSideenum

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

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

  • colorstring

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

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

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

  • heightinteger

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

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

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

  • widthinteger

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

  • 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.

append_to_note

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

Добавить к заметке

Параметры
  • 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.

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

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

create_daily_note

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

Создать ежедневную заметку

Параметры
  • contentstring

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

  • datestring

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

  • 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 добавляется, если опущено.

Создать заметку

Параметры
  • 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.

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

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

delete_note

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

Удалить заметку

Параметры
  • 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.

  • 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.

  • 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]]) продолжали работать. Используйте для обновления одного абзаца или элемента списка, на которые ссылаются другие заметки.

Редактировать блок

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

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

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

    Replacement content. The ^id anchor is appended automatically.

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

    Vault-relative path to the note.

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. Помогает выявить заброшенные заметки, недостающие страницы-хабы или кандидаты на архивирование.

Найти осиротевшие заметки

Параметры
  • 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, чтобы заполнить эмбеддинги для исходной заметки и кандидатов.

Найти похожие заметки

Параметры
  • limitinteger

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

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

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

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

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

Найти неиспользуемые вложения

Параметры
  • includeBytesboolean

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

  • limitinteger

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

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

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

Получить вложение

Параметры
  • maxBytesinteger

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

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

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

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, чтобы её создать.

Получить ежедневную заметку

Параметры
  • datestring

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

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

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

Получить соседей графа

Параметры
  • 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)

  • maxResultsinteger

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

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

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

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

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

Get Note

Параметры
  • 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.

  • 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.

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'); возвращаются только заметки, изменённые в указанное время или позже. Используйте, чтобы посмотреть, над чем вы работали, собрать дайджест «что изменилось на этой неделе» или выбрать заметки для повторения.

Получить последние заметки

Параметры
  • folderstring

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

  • 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'.

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

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

Получить статистику Vault

Параметры
  • 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 для Semantic Search

Параметры
  • 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.

  • folderstring

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

  • forceboolean

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

insert_at_section

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

Вставить в раздел

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

    Content to insert. A trailing newline is normalized.

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

    Vault-relative path to the note.

  • positionenum

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

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

    Heading path identifying the section.

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_canvasesтолько чтениеидемпотентный

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

Список канвасов

Параметры

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

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

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

List Notes

Параметры
  • 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.

Список разделов

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

    Vault-relative path to the note.

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

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

Список всех тегов

Параметры
  • sortByenum

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

move_note

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

Переместить/Переименовать заметку

Параметры
  • confirmPathstring

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

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

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

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

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

  • 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.

prepend_to_note

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

Добавить в начало заметки

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

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

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

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

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

Параметры
  • includeFrontmatterboolean

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

  • limitinteger

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

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

    Vault-relative path to the .base file.

  • viewstring

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

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

Параметры
  • 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 — это имена тегов, а не токены тегов.

Переименовать тег

Параметры
  • confirmTagstring

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

  • dryRunboolean

    If true, count matches without modifying any notes.

  • hierarchicalboolean

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

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

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

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

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

replace_in_note

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

Заменить в заметке

Параметры
  • expectedCountinteger

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

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

    Literal string (default) or regex pattern to match.

  • flagsstring

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

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

    Vault-relative path to the note.

  • regexboolean

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

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

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

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

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

Разрешить псевдоним

Параметры
  • includeBasenameboolean

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

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

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

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

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

Поиск по Frontmatter

Параметры
  • 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)

  • 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)

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

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

Поиск по тегу

Параметры
  • 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)

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

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

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

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

Поиск заметок

Параметры
  • caseSensitiveboolean

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

  • 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: 20)

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

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

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

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

Семантический поиск

Параметры
  • 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.

  • limitinteger

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

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

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

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

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

Обновить Frontmatter

Параметры
  • 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' и т.д. — без учёта регистра и пробелов. Используйте это вместо перезаписи всего файла, когда нужно обновить только одну секцию.

Обновить раздел

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

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

  • 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').

Похожие MCP-сервера

smith-and-web/obsidian-mcp-server

smith-and-web/obsidian-mcp-server

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

TypeScript18
MarkusPfundstein/mcp-obsidian

MarkusPfundstein/mcp-obsidian

MCP сервер для Obsidian через плагин Local REST API даёт инструменты для работы с хранилищем: чтение, поиск и изменение файлов. Идеально для интеграции заметок с AI-помощниками и автоматизации.

Python4390
krtw00/konbu

krtw00/konbu

Konbu — персональный цифровой планировщик с AI-ассистентом, объединяющий заметки, задачи, календарь и таблицы в одном MCP сервере. Работает через Claude, Cursor или CLI, поддерживает сквозной поиск по всем ресурсам. Саморазмещаемый Go-бинар.

Go1
louis030195/easy-obsidian-mcp

louis030195/easy-obsidian-mcp

MCP-сервер для подключения AI-ассистентов (Claude, ChatGPT) к Obsidian: поиск, чтение и анализ связей между заметками. Полезен для пользователей Obsidian, которые хотят задействовать ИИ для работы ...

TypeScript18
aliasunder/vault-cortex

aliasunder/vault-cortex

Сервер Vault Cortex предоставляет AI-ассистентам полнотекстовый поиск и структурированную память в Obsidian vault через Docker. 25 инструментов работают с заметками, ссылками и свойствами без плагинов.

TypeScript18
Notion MCP

Notion MCP

официальный

Notion MCP сервер даёт AI-агентам прямой доступ к Notion через API: читайте и редактируйте страницы в Markdown, делайте запросы к данным. Разработчики используют этот MCP инструмент для интеграции помощников с заметками и проектами, экономя токены.

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

Лука Никитин