Project Synapse
🧠 MCP-сервер Project Synapse
Автономный движок синтеза знаний с интеграцией LLM-WIKI
Project Synapse — это сервер MCP (Model Context Protocol), который объединяет графовую базу данных Neo4j 2026.x с вики-системой Obsidian Markdown для создания постоянной, накапливаемой базы знаний. Необработанный текст проходит через семантический конвейер, превращаясь в взаимосвязанные узлы графа с векторными эмбеддингами, в то время как слой вики, читаемый человеком, предоставляет удобные для просмотра, перелинкованные страницы Markdown.
📚 Документация
Для получения подробной информации о настройке и использовании Project Synapse, пожалуйста, обратитесь к следующим руководствам:
Начало работы: Установка и первый запуск.
Архитектура: Как работают семантический конвейер и граф.
Конфигурация: Полный список переменных окружения.
Разработка: Руководство по добавлению инструментов и внесению вклада.
Тестирование: Запуск набора тестов.
Вклад в проект: Руководство по участию в проекте.
Related MCP server: KG Memory
Что это такое (и чем не является)
Это система знаний, а не редактор кода. Она предназначена для мышления, исследований и написания текстов, сопровождающих проекты — архитектурных решений, исследований предметной области, обоснования дизайна, справочных материалов, заметок со встреч.
Код живет в своем репозитории. Знания о коде живут здесь.
Варианты использования:
Глубокие исследования, накапливаемые неделями/месяцами
Базы знаний проектов (почему были приняты решения, а не только что именно)
Управление личными знаниями (статьи, книги, заметки из подкастов)
Совместный мозговой штурм с ИИ в качестве администратора вики
Настройка для каждого проекта: Создайте отдельное хранилище (vault) Obsidian + репозиторий GitHub для каждого проекта. Укажите на него переменную окружения WIKI_VAULT_PATH. Один экземпляр Neo4j может обслуживать несколько проектов (графы сосуществуют).
Архитектура
Web / Raw Sources
│
[defuddle] ← cleans web content before ingestion
│
▼
┌──────────────────────┐ ┌─────────────────────┐
│ Semantic Pipeline │────▶│ Neo4j Knowledge │
│ (Montague Grammar, │ │ Graph (entities, │
│ NLP, embeddings) │ │ facts, vectors) │
└──────────────────────┘ └────────┬────────────┘
│
┌───────┴───────┐
│ Wiki Adapter │
└───────┬───────┘
│
┌───────▼───────┐
│ Obsidian Vault│
│ (Markdown, │
│ Git-synced) │
└───────────────┘Ключевые особенности
Граф знаний (Neo4j 2026.x)
Нативный тип VECTOR с семантическим поиском ANN
Полнотекстовые индексы BM25 для поиска по ключевым словам
Гибридный поиск (объединение оценок вектора + BM25)
Обход графа для обнаружения скрытых связей
Парсер грамматики Монтегю для формального семантического анализа
Движок Zettelkasten для автономной генерации инсайтов
Интеграция LLM-WIKI
Связывает хранилище Obsidian Markdown с графом Neo4j
Полный CRUD страниц с YAML frontmatter
Автоматическая генерация индекса и лог только для добавления
Проверки работоспособности: обнаружение «сирот», битых вики-ссылок, отсутствующего frontmatter
Манифест дельта-синхронизации (хеширование контента) для эффективной синхронизации графа
Основано на шаблоне LLM Wiki Андрея Карпатого
Сбор веб-контента (defuddle)
wiki_fetch_urlизвлекает любой URL, удаляет навигацию/рекламу/мусор через defuddle, загружает в Neo4j и архивирует вClippings/— один вызов, полная автоматизацияwiki_ingest_rawавтоматически перемещает обработанные файлы изraw/вClippings/— папка «входящие» остается чистойraw/— это настоящая папка «входящие»: пуста после каждого сеанса
Локальные эмбеддинги (без платных API)
sentence-transformers (по умолчанию) — работает на GPU
Ollama (опционально) — любая локальная модель эмбеддингов
Все векторы хранятся нативно в Neo4j через
db.create.setNodeVectorProperty()
Быстрый старт
Предварительные требования
Python 3.12+
Neo4j 2026.x (Community или Enterprise)
Менеджер пакетов uv (
pip install uv)Репозиторий GitHub для хранилища вики (может быть приватным)
Node.js + defuddle (для получения веб-контента — см. ниже)
Настройка Neo4j
# Ubuntu/Debian — see neo4j.com for other platforms
sudo apt install neo4j
sudo systemctl start neo4j
sudo systemctl enable neo4j
# Set password (default user: neo4j)
sudo neo4j-admin set-initial-password your_passwordНастройка defuddle
defuddle извлекает чистый markdown из веб-страниц, удаляя навигацию, рекламу и шаблонный код перед загрузкой. Требуется для wiki_fetch_url.
# Install Node.js if not present (via nvm recommended)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
nvm use --lts
# Install defuddle globally
npm install -g defuddle
# Verify
defuddle --versionПримечание: Synapse находит defuddle автоматически через пути nvm, даже если он не находится в PATH вашей оболочки. Если
wiki_fetch_urlсообщает, что defuddle не найден, убедитесь, что он установлен в версии Node, управляемой nvm.
Настройка хранилища Obsidian
Создайте новое хранилище в Obsidian (или клонируйте свой репозиторий вики)
Установите общественный плагин Git (Настройки → Общественные плагины → Обзор → "Git")
Настройте плагин Git с вашими учетными данными GitHub
Структура хранилища (
raw/,wiki/,Clippings/,AGENTS.md) создается автоматически Synapse при первом запуске
Установка
cd /home/ty/Repositories/ai_workspace
git clone <repository-url> project-synapse-mcp
cd project-synapse-mcp
uv venv --python 3.12 --seed
source .venv/bin/activate
uv add -e .
uv run python -m spacy download en_core_web_sm
cp .env.example .env # edit with your Neo4j password and vault pathКонфигурация
Отредактируйте .env:
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=your_password
NEO4J_DATABASE=neo4j
# Embedding — local only, no paid APIs
EMBEDDING_PROVIDER=sentence-transformers # or "ollama"
EMBEDDING_MODEL=sentence-transformers/all-mpnet-base-v2
EMBEDDING_DIMENSION=768
# Wiki vault
WIKI_VAULT_PATH=/path/to/your/obsidian-vault
WIKI_GITHUB_REPO=https://github.com/user/wiki-repoИнтеграция с Claude Desktop / MCP
Добавьте в свою конфигурацию MCP:
{
"mcpServers": {
"project-synapse": {
"command": "uv",
"args": [
"--directory", "/path/to/project-synapse-mcp",
"run", "python", "-m", "synapse_mcp.server"
],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "your_password",
"NEO4J_DATABASE": "neo4j",
"WIKI_VAULT_PATH": "/path/to/obsidian-vault",
"WIKI_GITHUB_REPO": "https://github.com/user/wiki-repo"
}
}
}
}Инструменты MCP
Граф знаний
Инструмент | Описание |
| Обработка текста через семантический конвейер → Neo4j |
| Векторный семантический поиск с результатами, ориентированными на инсайты |
| Обход графа для поиска скрытых связей |
| Автономное обнаружение паттернов Zettelkasten |
| Семантический анализ грамматики Монтегю |
Вики (LLM-WIKI)
Инструмент | Описание |
| Получить URL → очистить через defuddle → загрузить → архивировать в Clippings/ |
| Загрузить файл из raw/ → Neo4j + автоперемещение в Clippings/ |
| Создать/обновить страницу вики с frontmatter |
| Прочитать страницу вики по пути |
| Поиск по ключевым словам по страницам вики |
| Список всех страниц в поддиректории |
| Перестроить индекс вики |
| Проверка работоспособности: сироты, битые ссылки, отсутствующий frontmatter |
Структура хранилища вики
LLM-WIKI/
├── AGENTS.md # Agent schema doc — conventions and workflows
├── raw/ # INBOX ONLY — unprocessed files; empty after each session
├── raw-inbox.base # Obsidian Base view of pending raw/ queue
├── Clippings/ # Permanent archive — all processed sources land here
├── wiki/
│ ├── index.md # Auto-generated page catalogue
│ ├── log.md # Append-only activity log
│ ├── entities/ # People, tools, projects
│ ├── concepts/ # Ideas, theories, patterns
│ └── sources/ # Summaries of ingested sourcesЖизненный цикл контента
You clip/save → raw/ # your inbox
or
Agent fetches → wiki_fetch_url # web research
│
[defuddle clean]
│
[semantic pipeline] → Neo4j
│
wiki_write_page → wiki/sources/
│
auto-move → Clippings/ # permanent archiveraw/ всегда пуст после сеанса. Clippings/ — это постоянная запись всего, что было обработано. Исходные страницы в wiki/sources/ ссылаются на исходный URL, а не на путь к файлу.
Рабочий процесс
Веб-исследование:
wiki_fetch_url(url)→ получает, очищает, загружает, архивирует за один вызовРучная вырезка: Поместите в
raw/, вызовитеwiki_ingest_raw(filename)→ автоархивация после загрузкиЗапрос:
query_knowledge(граф) илиwiki_search(файлы) → синтез ответаЛинтинг:
wiki_lint→ исправление сирот, битых ссылок, устаревших утвержденийОткат: Git обрабатывает контроль версий через плагин Obsidian Git
Теоретическая основа
Грамматика Монтегю: Формальная композиционная семантика для извлечения смысла
Метод Zettelkasten: Атомарные связанные заметки с эмерджентной структурой
Теория графов: Обнаружение сообществ, центральность, анализ путей
Karpathy LLM-WIKI: Постоянная компиляция знаний против RAG без сохранения состояния
Memex Ванневара Буша: Личные ассоциативные знания с поддерживаемыми путями
Лицензия
MIT — см. LICENSE.
Project Synapse: От реактивного RAG к постоянным, накапливаемым знаниям.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that transforms markdown notes into an AI-powered knowledge graph. It enables LLM clients to explore, analyze, and diagnose knowledge graphs through tools for node explanation, path finding, causal chain analysis, and wiki health reporting.5MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that compiles any text into a verifiable, graph-based knowledge base using deterministic chunking and parallel extraction of epistemology primitives.MIT
- AlicenseAqualityAmaintenanceAn MCP server that turns any compatible AI agent into a Zettelkasten partner for creating atomic notes, forming semantic links, detecting clusters, and synthesizing insights from your existing knowledge.191MIT
Related MCP Connectors
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
MCP server for generating rough-draft project plans from natural-language prompts.
GibsonAI MCP server: manage your databases with natural language
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/angrysky56/project-synapse-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server