Obsidian Knowledge MCP
Obsidian Knowledge MCP
Импортер из Obsidian в PostgreSQL и MCP-сервер, работающие в режиме только для чтения. Хранилище является источником истины: импорт читает Markdown-файлы и никогда не редактирует и не удаляет их.
Architecture
Obsidian vault -> Python parser/upsert importer -> PostgreSQL -> FastMCP tools/resources -> Claude Connector
Документы сохраняют свои относительные пути и исходный текст Markdown. Каждая заметка становится узлом document; [[links]] становятся направленными рёбрами related_to и document_links. Теги, псевдонимы, заголовки и нераспознанный frontmatter сохраняются в JSONB. Отсутствующие цели ссылок заносятся в журнал и пропускаются. Повторный запуск импорта обновляет записи по пути к файлу и предотвращает появление дубликатов рёбер/тегов.
Related MCP server: Semantic Notes Vault MCP
Настройка
Требования: Python 3.11+, Docker Desktop и клиент PostgreSQL — только если вы хотите вручную просматривать SQL.
Скопируйте
.env.exampleв.env, задайтеPOSTGRES_PASSWORDи укажите вOBSIDIAN_VAULT_PATHсуществующее хранилище. Не помещайте хранилище внутрь этого проекта, если вы этого не хотите.Создайте окружение и установите зависимости:
py -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -e ".[test]"Запустите PostgreSQL. Порт привязан только к localhost:
docker compose up -d postgresИмпортируйте хранилище:
python -m ingestion.importer # or: obsidian-ingest "C:\path\to\vault"Проверьте его:
docker compose exec postgres psql -U knowledge_app -d knowledge -c "select count(*) from documents; select count(*) from edges;" pytest
Схема монтируется как сценарий инициализации. Для существующего тома применяйте изменения явно с помощью psql -f database/schema.sql.
Развёртывание на Render
Этот репозиторий включает render.yaml для бесплатного веб-сервиса Render. В Render создайте новый Blueprint из этого репозитория и разверните его. Render сгенерирует MCP_AUTH_TOKEN и будет использовать свой PORT. Поскольку Render требует платёжную информацию для своего управляемого сервиса PostgreSQL, укажите DATABASE_URL от бесплатного внешнего провайдера PostgreSQL, например Neon или Supabase. Примените database/schema.sql к этой базе данных перед выполнением запросов. Публичная конечная точка по умолчанию:
https://obsidian-knowledge-mcp.onrender.com/mcpЕсли вы измените имя сервиса, обновите MCP_PUBLIC_URL в окружении Render, указав итоговый URL https://<service-name>.onrender.com. Не добавляйте /mcp к MCP_PUBLIC_URL; /mcp должен быть только в URL коннектора Claude.
Сервис Render не может читать хранилище Windows или OneDrive. Импортируйте хранилище во внешнюю базу данных PostgreSQL с машины, у которой есть доступ и к хранилищу, и к базе данных, либо добавьте отдельное задание хранения/импорта, доступное из Render, перед выполнением запросов.
MCP-сервер
Запустите локально с помощью:
python -m mcp_server.serverКонечная точка по умолчанию — http://127.0.0.1:8000/mcp с использованием Streamable HTTP. Для локальных клиентов установите MCP_TRANSPORT=stdio и используйте obsidian-mcp в качестве команды. Сервер предоставляет search_knowledge, get_node, get_document, get_related_nodes, find_path, list_nodes и search_documents, а также ресурсы knowledge://node/{node_name}. Лимиты ограничены 100, а SQL-запросы параметризованы.
Коннектор Claude
Коннекторам Claude нужна удалённо доступная MCP-конечная точка, а не конечная точка PostgreSQL. В Claude Settings -> Connectors добавьте URL Render, оканчивающийся на /mcp, например https://obsidian-knowledge-mcp.onrender.com/mcp. Когда появится запрос, используйте сгенерированный MCP_AUTH_TOKEN в качестве bearer-токена, пройдите процедуру аутентификации, требуемую вашим рабочим пространством Claude, а затем проверьте работу с помощью запроса What do I have in my knowledge base about Python?.
Для продакшена используйте прокси, учитывающий идентичность (OAuth/OIDC), или mTLS вместо статического токена. Не открывайте порт 5432. Если Claude сообщает об ошибке подключения, проверьте docker compose ps, docker compose logs postgres, журналы процесса MCP, сертификат HTTPS/DNS, проброс /mcp через прокси и доступность конечной точки из внешней сети. Держите аутентифицированную проверку работоспособности отдельно от ошибок базы данных и не раскрывайте трассировки стека.
Примеры запросов
Какие концепции связаны с машинным обучением?
Найдите путь связей между Python и искусственным интеллектом.
Какие концепции находятся в пределах двух переходов от RAG?
Какие документы упоминают и Python, и машинное обучение?
Допущения и точки расширения
В этом рабочем пространстве не было хранилища для осмотра, поэтому парсинг следует стандартным соглашениям Obsidian и покрыт фикстурами в tests/test_parser.py. Синтаксис, специфичный для Dataview, сохраняется как содержимое. Репозиторный слой изолирует SQL от MCP, что делает возможной будущую двунаправленную синхронизацию без изменения контракта MCP. MCP_AUTH_TOKEN проверяется сервером Streamable HTTP; используйте прокси, учитывающий идентичность (OAuth/OIDC), для более строгого контроля доступа в продакшене.
This server cannot be deployed
Maintenance
Related MCP Connectors
Knowledge base MCP for AI agents on iknow.dev. Search, read, and maintain via OAuth.
Personal knowledge graph as an AI memory layer over MCP - read, save, and link your memories.
Hosted MCP for LearnOS: search courses, lesson citations, flashcards and notes from any MCP client.
Search, read, and safely update Markdown notes in your connected Phasoric knowledge vaults.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Obsidian vaults through MCP, supporting note creation from templates, link management, backlink analysis, tag operations, and automatic Map of Contents generation.1110,987 npm1MIT
- AlicenseNot gradedqualityAmaintenanceConnects AI assistants to an Obsidian vault as a semantic knowledge graph, enabling graph navigation, semantic search, and content operations through MCP.9 npm467MIT
- AlicenseAqualityDmaintenanceProvides read-only access to an Obsidian vault, enabling file listing, content reading, and text search across notes via MCP.42Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables reading, writing, searching, and managing Obsidian vault notes through MCP tools and prompts, allowing AI agents to interact with local knowledge bases.-