Project Synapse
Powers the Knowledge Cortex component with graph database capabilities for storing entities, relationships, and facts, supporting complex queries and pattern detection.
Serves as the foundation for the server implementation with specific version requirements (3.10+) and integration with package management.
Used for natural language processing tasks within the semantic analysis pipeline, with specific instructions for downloading the English language model.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Project Synapseanalyze the semantic structure of this research paper abstract"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§ Project Synapse MCP Server
Autonomous Knowledge Synthesis Engine with LLM-WIKI Integration
Project Synapse is an MCP (Model Context Protocol) server that combines a Neo4j 2026.x graph database with an Obsidian Markdown wiki to create a persistent, compounding knowledge base. Raw text is processed through a semantic pipeline into interconnected graph nodes with vector embeddings, while a human-readable wiki layer provides browsable, interlinked Markdown pages.
π Documentation
For detailed information on setting up and using Project Synapse, please refer to the following guides:
Getting Started: Installation and first run.
Architecture: How the semantic pipeline and graph work.
Configuration: Full list of environment variables.
Development: Guide for adding tools and contributing.
Testing: Running the test suite.
Contributing: Project contribution guidelines.
Related MCP server: RAG Memory MCP
What This Is (and Isn't)
This is a knowledge system, not a code editor. It's for the thinking, research, and writing that surrounds projects β architecture decisions, domain research, design rationale, reference material, meeting notes.
Code lives in its repo. Knowledge about the code lives here.
Use cases:
Research deep-dives that accumulate over weeks/months
Project knowledge bases (why decisions were made, not just what)
Personal knowledge management (articles, books, podcast notes)
Collaborative brainstorming with AI as the wiki maintainer
Per-project setup: Create a separate Obsidian vault + GitHub repo for each project. Point the WIKI_VAULT_PATH env var at it. One Neo4j instance can serve multiple projects (graphs coexist).
Architecture
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) β
βββββββββββββββββKey Features
Knowledge Graph (Neo4j 2026.x)
Native VECTOR type with ANN semantic search
Fulltext BM25 indexes for keyword search
Hybrid search (vector + BM25 score fusion)
Graph traversal for discovering hidden relationships
Montague Grammar parser for formal semantic analysis
Zettelkasten engine for autonomous insight generation
LLM-WIKI Integration
Bridges Obsidian Markdown vault with the Neo4j graph
Full page CRUD with YAML frontmatter
Automatic index generation and append-only log
Health checks: orphan detection, broken wikilinks, missing frontmatter
Delta-sync manifest (content hashing) for efficient graph sync
Based on Andrej Karpathy's LLM Wiki pattern
Web Content Ingestion (defuddle)
wiki_fetch_urlfetches any URL, strips navigation/ads/clutter via defuddle, ingests into Neo4j, and archives toClippings/β one call, fully automatedwiki_ingest_rawauto-moves processed files fromraw/toClippings/β inbox stays cleanraw/is a true inbox: empty after every session
Local-Only Embeddings (No Paid APIs)
sentence-transformers (default) β runs on GPU
Ollama (optional) β any local embedding model
All vectors stored natively in Neo4j via
db.create.setNodeVectorProperty()
Quick Start
Prerequisites
Python 3.12+
Neo4j 2026.x (Community or Enterprise)
uv package manager (
pip install uv)Obsidian with the Git community plugin
A GitHub repo for the wiki vault (can be private)
Node.js + defuddle (for web content fetching β see below)
Neo4j Setup
# 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_passworddefuddle Setup
defuddle extracts clean markdown from web pages, stripping navigation, ads, and boilerplate before ingestion. Required for 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 --versionNote: Synapse finds defuddle automatically via nvm paths even if it's not on your shell's PATH. If
wiki_fetch_urlreports defuddle not found, ensure it's installed in an nvm-managed Node version.
Obsidian Vault Setup
Create a new vault in Obsidian (or clone your wiki repo)
Install the Git community plugin (Settings β Community Plugins β Browse β "Git")
Configure Git plugin with your GitHub credentials
The vault structure (
raw/,wiki/,Clippings/,AGENTS.md) is created automatically by Synapse on first run
Installation
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 pathConfiguration
Edit .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-repoClaude Desktop / MCP Integration
Add to your MCP config:
{
"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 Tools
Knowledge Graph
Tool | Description |
| Process text through semantic pipeline β Neo4j |
| Vector semantic search with insight-first results |
| Graph traversal for hidden relationships |
| Autonomous Zettelkatten pattern detection |
| Montague Grammar semantic analysis |
Wiki (LLM-WIKI)
Tool | Description |
| Fetch URL β defuddle clean β ingest β archive to Clippings/ |
| Ingest file from raw/ β Neo4j + auto-move to Clippings/ |
| Create/update wiki page with frontmatter |
| Read a wiki page by path |
| Keyword search across wiki pages |
| List all pages in a subdirectory |
| Rebuild the wiki index |
| Health check: orphans, broken links, missing frontmatter |
Wiki Vault Structure
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 sourcesContent Lifecycle
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/ is always empty after a session. Clippings/ is the permanent record of everything that's been processed. Source pages in wiki/sources/ reference the original URL, not the file path.
Workflow
Web research:
wiki_fetch_url(url)β fetches, cleans, ingests, archives in one callManual clip: Drop into
raw/, callwiki_ingest_raw(filename)β auto-archives after ingestQuery:
query_knowledge(graph) orwiki_search(files) β synthesize answerLint:
wiki_lintβ fix orphans, broken links, stale claimsRollback: Git handles version control via Obsidian Git plugin
Theoretical Foundation
Montague Grammar: Formal compositional semantics for meaning extraction
Zettelkasten Method: Atomic linked notes with emergent structure
Graph Theory: Community detection, centrality, path analysis
Karpathy LLM-WIKI: Persistent knowledge compilation vs stateless RAG
Vannevar Bush's Memex: Private associative knowledge with maintained trails
License
MIT β see LICENSE.
Project Synapse: From reactive RAG to persistent, compounding knowledge.
Appeared in Searches
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/angrysky56/project-synapse-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server