Synaptex
Allows syncing CLAUDE.md files from a Forgejo repository.
Allows syncing CLAUDE.md files from a Gitea repository.
Allows syncing CLAUDE.md files from a GitHub repository.
Allows syncing CLAUDE.md files from a GitLab repository.
Provides semantic search capabilities via Ollama embedding models.
Provides semantic search capabilities via OpenAI-compatible embedding models.
Click on "Deploy 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., "@Synaptexsearch for 'error handling' in my CLAUDE.md files"
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.
Synaptex
Global brain for all your Claude Code projects.
Synaptex syncs your CLAUDE.md files across repos, builds a semantic index, and exposes everything to Claude via MCP.
Portable across operating systems (Linux x86/ARM, macOS, Windows WSL), Git hosts (Forgejo, Gitea, GitHub, GitLab, or just local folders), and embedding providers (Ollama, OpenAI, LM Studio, vLLM, LocalAI…).
Quick start
git clone <this-repo> ~/Synaptex
cd ~/Synaptex
bash install.sh # standard setup (embed backend)
# or:
bash install.sh --enable-leann # adds BM25+vector search (~3 GB extra)
synaptex init # interactive wizard
synaptex sync # first sync + index
synaptex search "your query"Related MCP server: vault-mcp-server
Prerequisites
Python 3.10+ with
pip install -r requirements.txtA repo source (one of: Forgejo, Gitea, GitHub, GitLab, or local folders)
For semantic search: Ollama (local or remote) with an embedding model pulled — not required if you use the
fts5backend
Five git providers, one variable
FORGE_TYPE in ~/.synaptex/.env:
Value | API used | Token scope |
| Forgejo API v1 ( |
|
| Gitea API v1 (same as Forgejo) |
|
| GitHub REST API v3 |
|
| GitLab REST API v4 |
|
| Filesystem scan (no API) | none |
local is the most universal: point LOCAL_REPOS_PATH to a folder containing your Git repos, and Synaptex reads CLAUDE.md files directly from disk. No tokens, no network, fully offline.
Three search backends, one switch
SYNAPTEX_SEARCH_BACKEND in ~/.synaptex/.env:
Value | Quality | Network needs | Disk cost | Use when |
| Semantic similarity (cosine) | Ollama (local or remote) | ~tens of MB | You have an embedding provider |
| BM25 + vector hybrid (best) | Ollama | ~3 GB (PyTorch) | Quality matters more than disk |
| Keyword (SQLite FTS5) | None | Negligible | Fully offline, no Ollama |
You can switch at any time — re-run synaptex sync to repopulate the index in the new backend.
Supported embedding providers
Ollama (default) — any model available via
ollama pullOpenAI-compatible — LM Studio, vLLM, LocalAI, OpenAI API: set
OLLAMA_API_TYPE=openai
Configuration
~/.synaptex/.env (created by synaptex init or install.sh, chmod 600):
Variable | Description | Example |
| Source type |
|
| Git provider base URL (not needed for |
|
| API token with read access |
|
| Your username on the git provider |
|
| Local folder to scan (when |
|
| Files to index per repo (comma-separated) |
|
| Local dirs to skip during scan (comma-separated) |
|
| Search engine |
|
| Ollama or OpenAI-compatible API |
|
| API format |
|
| Embedding model |
|
| Fallback model (optional) |
|
| API key for OpenAI-compatible APIs (optional) |
|
Commands
synaptex init
Interactive wizard — generates ~/.synaptex/.env.
synaptex status
Check connectivity: git provider, Ollama, embedding model, index, backend, memory sheets, projects synced, last sync timestamp.
synaptex sync
Download files matching SYNAPTEX_INCLUDE_PATTERNS, generate memory sheets, re-index.
synaptex sync --dry-run # preview without writing
synaptex sync # full sync
synaptex sync --no-index # sync without re-indexing
synaptex sync --verbose # log each file with [ok] or [skip] (reason)
synaptex sync --only mon-projet # sync a single repo
synaptex sync --exclude tests # exclude repos by name (repeatable)
synaptex sync --exclude ci --exclude sandboxsynaptex clean
Purge local caches (~/.synaptex/projects/ and/or ~/.synaptex/memory/).
synaptex clean --all # purge projects + memory
synaptex clean --projects # purge projects only (memory kept)
synaptex clean --memory # purge memory only (projects kept)synaptex search
Semantic (or keyword, depending on backend) search across all indexed files.
synaptex search "raspberry pi backup strategy"
synaptex search "authentication API" -k 3synaptex map
Generate ~/.synaptex/index.md — a global map with a Mermaid dependency graph.
synaptex context
Generate an injectable context block for a Claude session.
synaptex context # all projects
synaptex context myrepo otherrepo # filteredClaude Code integration
Slash command /user:synaptex
At the start of a session, type /user:synaptex to load global context.
With specific projects: /user:synaptex myrepo otherrepo
Claude will:
Run
synaptex contextand read the resultQuery past session memories via qmd (if installed)
Confirm: "🧠 Synaptex loaded — active projects: [list]"
MCP synaptex-search
Available tools directly in Claude Code during a conversation:
Tool | Usage |
| Search across CLAUDE.md files |
| List all synced projects |
| Return a project's context |
| Infrastructure status |
Compatibility matrix
Platform | Status | Notes |
Linux x86_64 | ✅ Tested | Native |
Linux aarch64 (Pi 4/5) | ✅ Tested |
|
macOS Apple Silicon | ✅ Should work | Bun + qmd binaries native; Ollama runs natively |
macOS Intel | ✅ Should work | Same as above |
Windows (WSL2) | ✅ Should work | Treat as Linux |
Windows (Git Bash) | ⚠️ Partial |
|
File layout
~/.synaptex/
├── .env ← secrets (chmod 600, never committed)
├── projects/ ← CLAUDE.md mirror (one folder per repo)
├── memory/ ← generated memory sheets
├── index.md ← global map (synaptex map)
├── leann_index/ ← vector index (sqlite3 + optional leann)
└── sync.log ← sync history
<repo>/
├── synaptex.py ← CLI (Click)
├── forge.py ← multi-git bridge (forgejo/gitea/github/gitlab/local)
├── embed.py ← vector index (sqlite3 + cosine + OpenAI-compatible)
├── search.py ← search backend router (embed/leann/fts5)
├── memory.py ← memory sheets + Mermaid graph
├── context.py ← injectable context block
├── mcp_synaptex.py ← MCP server (stdio)
└── install.sh ← full setupTroubleshooting
Ollama not responding
curl http://localhost:11434/api/tags # check it's running
ollama pull nomic-embed-text # pull the default embed modelGit provider unreachable
For remote Forgejo/GitLab: check VPN or network connectivity
For GitHub: verify your token has
reposcopeFor
local: verifyLOCAL_REPOS_PATHpoints to a folder containing.git/directories
Index empty after sync
synaptex status # check embed model is available
synaptex sync # re-run syncWant offline search (no Ollama)
# In ~/.synaptex/.env:
SYNAPTEX_SEARCH_BACKEND=fts5
synaptex sync # re-index with FTS5Want best search quality
bash install.sh --enable-leann
# Then in ~/.synaptex/.env:
SYNAPTEX_SEARCH_BACKEND=leann
synaptex syncqmd not found
export PATH="$HOME/.bun/bin:$PATH"License
See LICENSE if present, or contact the repo owner.
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent, governed institutional memory for Claude Code — specs, decisions, learnings.
Turn a GitHub repo or docs site into agent-ready context: pack it or search it, over MCP.
Research-backed linting + generation for agent context files (CLAUDE.md, AGENTS.md, Cursor rules).
Share one project context across ChatGPT, Claude, Telegram and any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAI context management for codebases – enables Claude Code to read, search, and update project documentation via MCP.MIT
- AlicenseNot gradedqualityDmaintenanceTurns any folder of Markdown files into a searchable, structured knowledge base for Claude Code, enabling persistent memory across sessions via tools like list, read, write, edit, search, and summarize.MIT
- AlicenseNot gradedqualityAmaintenanceEnables Claude to read, search, and analyze your entire knowledge vault locally via MCP tools like search, drafting, and linting.103 npm4MIT
- AlicenseNot gradedqualityAmaintenanceProvides a local-first, file-based memory layer for Claude Code that syncs across machines via git over private networks, with MCP tools for search, write, and sync of human-readable markdown notes.Apache 2.0