Skip to main content
Glama
by pmmvr

Сервер Obsidian MCP

Сервер MCP (Model Context Protocol), который позволяет агентам ИИ выполнять сложный поиск и анализ знаний в вашем хранилище Obsidian с помощью плагина Local REST API.

Почему это важно

Этот сервер преобразует ваше хранилище Obsidian в мощную базу знаний для агентов ИИ, позволяя выполнять сложные многоэтапные рабочие процессы, такие как:

  • «Извлеките заметки из моей папки «Проекты/Планирование», содержащие в заголовках слова «дорожная карта» или «хронология», созданные после 1 апреля, затем проанализируйте их на предмет наличия блокировщиков или зависимостей и представьте консолидированную оценку рисков со ссылками на исходные заметки»

  • «Найдите все заметки с тегами «исследование» или «анализ» за последний месяц, просмотрите их содержимое на предмет незавершенных разделов или открытых вопросов, затем сравните с моими заметками «Команда/Экспертиза», чтобы предложить коллегам, которые могли бы помочь заполнить каждый пробел»

  • «Получить полное содержание заметок о встречах из «Руководства/Ежеквартально», содержащих «бюджет» или «численность персонала», проанализировать их на предмет пунктов действий, назначенных моему отделу, и создать хронологическую временную шкалу со ссылками на исходные заметки»

Расширенные возможности фильтрации сервера, поддержка регулярных выражений и полный поиск контента позволяют агентам выполнять тонкую работу по обработке знаний, на которую вручную ушли бы часы.

Related MCP server: Obsidian MCP Tool Server

Предпосылки

  1. Установите плагин Obsidian Local REST API в хранилище Obsidian

  2. Настройте и включите плагин в настройках Obsidian

  3. Запишите URL-адрес API (по умолчанию: https://localhost:27124 ) и ключ API, если вы его установили.

Установка

Из PyPI (рекомендуется)

# Install from PyPI pip install obsidian-api-mcp-server # Or with uv uv pip install obsidian-api-mcp-server

Добавить в конфигурацию MCP

Добавьте в конфигурацию вашего клиента MCP (например, Claude Desktop):

{ "mcpServers": { "obsidian-api-mcp-server": { "command": "uvx", "args": [ "--from", "obsidian-api-mcp-server>=1.0.1", "obsidian-api-mcp" ], "env": { "OBSIDIAN_API_URL": "https://localhost:27124", "OBSIDIAN_API_KEY": "your-api-key-here" } } } }

Из источника (Разработка)

# Clone the repository git clone https://github.com/pmmvr/obsidian-api-mcp-server cd obsidian-api-mcp-server # Install with uv uv pip install -e . # Or with pip pip install -e .

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

Установите переменные среды для Obsidian API:

# Required: Obsidian API URL (HTTPS by default) export OBSIDIAN_API_URL="https://localhost:27124" # Default # Optional: API key if you've configured authentication export OBSIDIAN_API_KEY="your-api-key-here"

Важное примечание по безопасности : Избегайте жесткого кодирования OBSIDIAN_API_KEY непосредственно в скриптах или передачи его в систему контроля версий. Рассмотрите возможность использования файла .env (который включен в .gitignore этого проекта) и библиотеки, например python-dotenv для управления вашим ключом API или используйте переменные среды, управляемые вашей операционной системой или оболочкой.

Примечание : сервер по умолчанию использует HTTPS и отключает проверку сертификатов SSL для самоподписанных сертификатов, обычно используемых с локальными экземплярами Obsidian. Для HTTP-подключений установите OBSIDIAN_API_URL="http://localhost:27123" .

Использование

Запустите сервер MCP:

obsidian-mcp

Доступные инструменты

Сервер предоставляет три мощных инструмента:

  1. search_vault — Расширенный поиск с гибкими фильтрами и полным извлечением контента:

    • query — поиск текста или регулярного выражения по содержимому заметки (необязательно)

    • query_type - Тип поиска: «текст» (по умолчанию) или «регулярное выражение»

    • search_in_path — Ограничить поиск определенным путем к папке

    • title_contains — Фильтр по тексту в заголовках заметок (строка, массив или строка JSON)

    • title_match_mode — Как сопоставить несколько терминов: «любой» (ИЛИ) или «все» (И)

    • tag — фильтр по тегу (строка, массив или строка JSON — поиск по заголовкам и встроенным #тегам)

    • tag_match_mode — Как сопоставить несколько тегов: «любой» (ИЛИ) или «все» (И)

    • context_length — объем возвращаемого контента (установите высокое значение для полного контента)

    • include_content — логическое значение для извлечения полного содержимого всех соответствующих заметок.

    • created_since/until - Фильтр по дате создания

    • modified_since/until - Фильтр по дате изменения

    • page_size - Результаты на страницу

    • max_matches_per_file — ограничение совпадений на одну заметку

    Основные характеристики :

    • Если query не указан, автоматически возвращается полный контент для поиска только с фильтром.

    • include_content=True принудительно извлекает полный контент для любого поиска

    • Поддерживает шаблоны регулярных выражений для сложного сопоставления текста (условия ИЛИ, поиск без учета регистра и т. д.)

  2. get_note_content — Извлечь полное содержимое и метаданные определенной заметки по пути

  3. browse_vault_structure — эффективная навигация по структуре каталогов хранилища:

    • path — каталог для просмотра (по умолчанию — корень хранилища)

    • include_files — логическое значение для включения файлов (по умолчанию: False, только папки для скорости)

    • recursive - Булевский для просмотра всех вложенных каталогов

Примеры использования

Базовые поиски

  1. Найти заметки по названию в определенной папке:

    search_vault( search_in_path="Work/Projects/", title_contains="meeting" )
  2. Найти заметки с несколькими терминами в заголовках (логика ИЛИ):

    search_vault( title_contains=["foo", "bar", "fizz", "buzz"], title_match_mode="any" # Default )
  3. Найти заметки со ВСЕМИ терминами заголовка (И логикой):

    search_vault( title_contains=["project", "2024"], title_match_mode="all" )
  4. Получить все последние заметки с полным содержанием:

    search_vault( modified_since="2025-05-20", include_content=True )
  5. Текстовый поиск с контекстом:

    search_vault( query="API documentation", search_in_path="Engineering/", context_length=500 )
  6. Поиск по тегу:

    search_vault( tag="project" )
  7. Поиск регулярных выражений для условий OR:

    search_vault( query="foo|bar", query_type="regex", search_in_path="Projects/" )
  8. Поиск регулярных выражений для задач, назначенных конкретным людям:

    search_vault( query="(TODO|FIXME|ACTION).*@(alice|bob)", query_type="regex", search_in_path="Work/Meetings/" )

Расширенные многошаговые рабочие процессы

Эти примеры демонстрируют, как агенты могут объединять сложные задачи по обнаружению знаний:

  1. Стратегический анализ проекта:

    # Step 1: Get all project documentation search_vault( search_in_path="Projects/Infrastructure/", title_contains=["planning", "requirements", "architecture"], title_match_mode="any", include_content=True ) # Step 2: Find related technical discussions search_vault( tag=["infrastructure", "technical-debt"], tag_match_mode="any", modified_since="2025-04-01", include_content=True )

    Затем агент может анализировать зависимости, выявлять риски и рекомендовать распределение ресурсов.

  2. Майнинг элементов действия встречи:

# Get all recent meeting notes with full content search_vault( search_in_path="Meetings/", title_contains=["standup", "planning", "retrospective"], title_match_mode="any", created_since="2025-05-01", include_content=True )

Агент сканирует контент на предмет элементов действий, извлекает задания и создает хронологическое отслеживание.

  1. Анализ пробелов в исследованиях:

# Find research notes with questions or gaps search_vault( query="(TODO|QUESTION|INVESTIGATE|UNCLEAR)", query_type="regex", tag=["research", "analysis"], tag_match_mode="any", include_content=True ) # Cross-reference with team expertise search_vault( search_in_path="Team/", tag=["expertise", "skills"], tag_match_mode="any", include_content=True )

Агент выявляет пробелы в знаниях и предлагает членов команды, которые могли бы помочь

  1. Исследование структуры хранилища:

# Quick organizational overview browse_vault_structure(recursive=True) # Deep dive into specific areas browse_vault_structure( path="Projects/CurrentSprint/", include_files=True, recursive=True )
  1. Картирование знаний на основе тегов:

# Find notes with multiple tags (AND logic) search_vault( tag=["project", "urgent"], tag_match_mode="all", include_content=True ) # Find notes with any relevant tags (OR logic) search_vault( tag=["architecture", "design", "implementation"], tag_match_mode="any", modified_since="2025-04-15" )

Разработка

# Install with test dependencies uv pip install -e ".[test]" # Run the server python -m obsidian_mcp.server # Run tests uv run behave features/blackbox_tests.feature # Or use the test runner python run_tests.py

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pmmvr/obsidian-api-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server