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 "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., "@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"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 installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/jeromelabophy-gif/Synaptex_claude'
If you have feedback or need assistance with the MCP directory API, please join our Discord server