Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

English | Français

Synaptane

Synaptane

Synaptane is a self-hosted team second brain stored in Git. Markdown first, and all your files: pages sit next to PDFs (scans included), Office documents, images and HTML pages, and everything is searchable. Your AI assistants search it and drop what they learn into an inbox over MCP. Every night, an AI agent files those notes into the wiki and commits the result.

License: Apache-2.0 CI Release Python 3.12 Image: ghcr.io/synaptane/synaptane

A Synaptane wiki page: the space tree, a backup summary table, a verified badge, pages linking here and related pages

Why Synaptane?

Your team explains things to AI assistants every day, and that knowledge disappears when the chat ends. Synaptane gives your assistants a shared, durable memory that you own: plain Markdown pages, with the documents that go with them, in your own Git repository. Assistants don't just read it, they feed it, and an AI agent keeps it organized every night.

  • Compared with Notion AI, Confluence or Slite: no lock-in. It is self-hosted, works with the model of your choice, and your data is a Git repository.
  • Compared with Outline, Wiki.js, BookStack or Docmost: it is built around AI assistants, and the wiki is maintained for you.
  • Compared with Obsidian, Logseq or Basic Memory: it is multi-user and server-side: one memory for the assistants of the whole team.
  • Compared with Khoj or AnythingLLM: it does not only answer questions over documents. It curates a knowledge base that people can read and edit.

Features

  • Git is the source of truth. Each space is a Git repository (GitHub, GitLab, Gitea or any other host). Its content/ folder is your wiki: Markdown pages and the files that go with them, which you can read, grep and clone without Synaptane. Every change is a commit. Sync works both ways, with conflict resolution.
  • Markdown first, and all your files. Pages are Markdown, with links, backlinks and verification. Next to them, PDFs (scanned ones are read by OCR), Word, Excel and PowerPoint documents (and OpenDocument), images, HTML pages, CSV, JSON or code are displayed, searchable and readable by your assistants. See Your files, all searchable.
  • Built for AI assistants (MCP). Streamable HTTP with OAuth 2.1 (PKCE, dynamic client registration) or personal tokens. 20 tools and 3 prompts. Tested with Claude.ai, Claude Desktop, Claude Code and ChatGPT connectors. A connection can be limited to read-only or to some spaces.
  • Inbox and nightly tidy-up. Drop notes from your assistant, the web UI or the REST API. An AI agent files them, updates existing pages, fixes links and commits. Each space can describe its purpose to guide it. Guardrails: a cap of 10 deletions per run, caps on tokens, steps and tool calls per run, an optional monthly budget, and one-click undo of a run.
  • Scheduled agent routines. For example a weekly consistency check or a Friday digest. Output goes to a report page, the inbox, email or a webhook.
  • Search that finds things. Full-text search with accent folding and light stemming (English and French), including text extracted from PDF, Office documents and images (OCR). Optional hybrid semantic search (pgvector, RRF). Related pages for each page.
  • Knowledge you can trust. Page owners, verification dates and review cycles. A wiki health tab (broken links, orphans, old pages). Probable secrets are refused before any commit.
  • Bring your own model. Anthropic, OpenAI, Mistral, Ollama or any OpenAI-compatible endpoint, with a key and an optional monthly budget per organization (€20 suggested for a pay-per-use key). A Claude or ChatGPT subscription can also be used through the official CLIs (see Known limitations).
  • Made for teams. Organizations, spaces, roles (reader, contributor, organization admin, super admin), email invitations, single sign-on (OIDC, GitHub, GitLab, Google).
  • Open APIs. A full REST API and HMAC-signed webhooks. Its OpenAPI schema and interactive documentation are off by default (api_docs setting).
  • Easy to run. Docker Compose, behind your own reverse proxy or with a bundled nginx and Let's Encrypt. synaptane doctor checks the installation. Backups are verified, and can be encrypted and copied off-site (age and rclone). Admins get alerts by email.
  • A calm, bilingual UI. Light and dark themes, English and French, Ctrl+K search.

Screenshots

Taken on the demo data set (synaptane demo): Acme and its people are fictional.

Ctrl+K search palette
Ctrl+K search, across all your spaces
The inbox of a space
Inbox: notes and direct changes waiting to be tidied
The wiki health tab
Wiki health: broken links, pages to review
The diff of a page change
History: every change is a Git commit
Connect an AI assistant over MCP
Connect an AI assistant over MCP
Scheduled agent routines
Routines: scheduled agents, such as a weekly consistency check

Your files, all searchable

Markdown is the heart of the wiki, but a space holds any file, added from the web UI (25 MB per file), attached to a note dropped by an assistant, or pushed with Git.

Format In the wiki Search AI assistants (MCP)
Markdown (.md) Rendered page: links, backlinks, outline, verification, related pages Words and meaning Read and write
PDF Built-in viewer Text layer, or OCR (Tesseract) for scanned pages Read the extracted text
Word, PowerPoint, Excel (.docx, .pptx, .xlsx, and the old .doc, .ppt, .xls), OpenDocument (.odt, .odp, .ods) Download, extracted text shown below Extracted text Read the extracted text
Images (PNG, JPEG, GIF, WebP, AVIF, BMP, SVG) Displayed Text in the image, by OCR (not SVG or AVIF) Read the OCR text
HTML pages (.html, .htm) Rendered in an isolated frame (sandbox), source one click away Words Read and write
Other text files (CSV, JSON, YAML, code, logs…) Syntax highlighting Words Read and write
Anything else Stored, versioned, downloadable File name Listed, no text

"Meaning" applies to every text above on spaces where semantic search is enabled. The text of the old .doc and .xls is read by catdoc (included in the Docker image), that of the old .ppt by Synaptane itself, with limits: details in Files other than Markdown.

Status

Synaptane is alpha software (preview). It is provided as is and maintained on a best-effort basis by one person. The first public release is v1.0.0-rc.1.

The REST API, the MCP tools and the configuration may still change. Every change is listed in the changelog. Back up before each upgrade.

Known limitations

  • Recent features. Agent routines, related pages and page verification were added shortly before this release. Expect rough edges.

  • Claude and ChatGPT subscriptions (Claude Code, Codex). The published image does not include these CLIs: to use a subscription, build the image yourself (see installation). The quota display relies on an undocumented Claude Code event and may stop working after a CLI update. The CLI runs under the same system account as the worker; running it under a separate account is planned.

  • Anthropic beta features. With Claude models, Synaptane uses a beta API feature (server-side fallback when a safety filter refuses a request). Beta features can change.

  • Costs. Automatic cost estimates exist only for Claude models (and, for semantic search, the embedding models of OpenAI, Gemini, Mistral and Voyage AI). For other providers, enter the price per million tokens yourself: without a price, no cost is computed and no budget can apply. Vectorizing search queries is not counted.

  • Not there yet: two-factor authentication; restoring a single page version from the UI (the Git history is there).

  • Monitoring: no /metrics endpoint. /healthz and /readyz exist.

  • Platforms: Linux, or WSL2 on Windows. macOS is not tested.

  • Language: the web UI, emails, REST error messages and documentation are in English and French. The command line, logs and answers to AI assistants (MCP) are in English.

  • ChatGPT deep research with the Synaptane connector has not been tested.

Requirements

  • A Linux server (or WSL2 to try it out) with Docker Engine and the Compose plugin.
  • A domain name served over HTTPS, for Claude.ai and ChatGPT connectors, OAuth and single sign-on. Not needed to try it locally.
  • A Git repository per space, on any Git host, reachable over HTTPS or SSH.
  • An AI provider, optional. Without one, the wiki, search, the MCP server and the inbox all work. The nightly tidy-up and routines need one. Semantic search needs an embedding provider (Ollama works locally).
  • An SMTP server, optional, for email invitations, password reset and alerts.

Quick start

On your server, get the files for the release (Compose file, nginx configuration, scripts), then start the published image:

git clone --branch v1.0.0-rc.2 https://github.com/synaptane/synaptane.git ~/synaptane
cd ~/synaptane
cp .env.example .env && chmod 600 .env   # it holds the database password
openssl rand -hex 24                     # copy into POSTGRES_PASSWORD
nano .env                                # PUBLIC_URL, POSTGRES_PASSWORD, mode
docker compose pull
docker compose up -d
docker compose exec app synaptane admin create --username admin   # password: 12 characters or more
docker compose exec app synaptane doctor

Git reports a "detached HEAD" after cloning a tag: this is normal. .env.example already pins the image to the release you cloned (SYNAPTANE_VERSION).

Then choose how HTTPS is served, in .env:

  • Behind the nginx already on the server (default): Synaptane listens on 127.0.0.1:8000. deploy/host/install-nginx.sh installs the site and its Let's Encrypt certificate.
  • All-in-one (COMPOSE_PROFILES=proxy): nginx and certbot run in Docker on ports 80 and 443.

The installation guide covers both modes, upgrades, rollback and building the image yourself.

Try it locally in 2 minutes

git clone --branch v1.0.0-rc.2 https://github.com/synaptane/synaptane.git && cd synaptane
printf 'PUBLIC_URL=http://localhost:8000\nPOSTGRES_PASSWORD=%s\nSYNAPTANE_VERSION=1.0.0-rc.2\n' \
  "$(openssl rand -hex 24)" > .env
chmod 600 .env                                                        # database password
echo 'COMPOSE_FILE=compose.yaml:examples/compose.demo.yaml' >> .env   # demo only
docker compose up -d
docker compose exec app synaptane demo

Git reports a "detached HEAD" after cloning a tag: this is normal. Port 8000 already taken? Add APP_PORT=8001 to .env and use the same port in PUBLIC_URL (http://localhost:8001), then in the addresses below.

synaptane demo loads the wiki of a fictional IT team (examples/acme-wiki): 50 pages, verified pages and one to review, six inbox notes waiting to be tidied. It prints the address to open, the password of the demo account (once) and how to connect an AI assistant. Open http://localhost:8000/o/acme/it, search, browse the inbox and the Health tab. Tidying the inbox needs an AI provider: see AI.

The demo space uses a local Git repository, which examples/compose.demo.yaml allows: keep it for a throwaway instance. For a real one, skip that line and create the first account with docker compose exec app synaptane admin create --username admin (installation).

Claude Code can connect to this local instance with a personal token (see below). Claude.ai and ChatGPT need a public HTTPS address.

Connect your AI assistant

Synaptane is an MCP server at https://<your-domain>/mcp. The exact address is shown in My account → Connect an AI assistant (MCP).

  • Claude.ai, Claude Desktop: Settings → Connectors → Add custom connector, paste the address, then sign in and allow.

  • ChatGPT: in developer mode, create a connector with the address and OAuth.

  • Claude Code and other clients: create a personal token, then:

    claude mcp add --transport http synaptane https://brain.example.com/mcp \
      --header "Authorization: Bearer syn_…"
    

Full guide, with the list of tools and prompts: Connect your AI assistant (MCP).

Architecture

One FastAPI app serves the three interfaces: MCP for AI assistants, the web UI and the REST API. A worker runs everything in the background: the nightly tidy, agent routines, Git sync, indexing and webhooks. Both share PostgreSQL (with pgvector) and local clones of each space's Git repository. The AI provider is optional: only the tidy, routines and semantic search need one.

Architecture: AI assistants (MCP, OAuth 2.1), browsers (web UI) and scripts (REST API) reach the FastAPI app; a worker handles the nightly tidy, routines, Git sync, indexing and webhooks; both share PostgreSQL with pgvector and local Git working copies; the worker syncs one Git repository per space and calls an optional AI provider.

Documentation

Every page exists in English and French. Start with the documentation index and the concepts.

Contributing

Contributions are welcome. Read CONTRIBUTING.md first. Commits must be signed off under the Developer Certificate of Origin (git commit -s). Everyone taking part follows the code of conduct. For questions and help, see SUPPORT.md.

Security

Please do not report vulnerabilities in public issues. Use GitHub's private vulnerability reporting, as described in SECURITY.md.

License

Apache-2.0, see LICENSE and THIRD_PARTY_NOTICES.md.

The published image does not contain Claude Code or Codex. If you build the image with them (AGENT_CLIS=true, the Dockerfile default), you install third-party software under its own terms.


Synaptane is developed with the help of AI coding assistants (Claude); every change is reviewed by the maintainer.

Metadata

Release files for synaptane 1.0.0rc2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for synaptane 1.0.0rc2
File Size Uploaded Provenance Actions
synaptane-1.0.0rc2.tar.gz 1.6 MB With provenance Details for synaptane-1.0.0rc2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for synaptane 1.0.0rc2
File Interpreter ABI Platform Actions
synaptane-1.0.0rc2-py3-none-any.whl Python 3 none any Details for synaptane-1.0.0rc2-py3-none-any.whl

Total release size: 2.6 MB

Release files / synaptane-1.0.0rc2.tar.gz

Download URL synaptane-1.0.0rc2.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
19bab0b4d4b1108b6e66390154febf050c4b989fb28f4f4a9559fea43612206d
BLAKE2b-256 checksum
How to use checksums
38aa6352cf9352b9ecac7870a1644d953ff309ae8f6c981b2045ab66ae661e0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / synaptane-1.0.0rc2-py3-none-any.whl

Download URL synaptane-1.0.0rc2-py3-none-any.whl
Size 982.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a2f7eb63ace8b1b7d495f34adc8e07ab84f9e81b27b8d0eb01fcf9de67e26b56
BLAKE2b-256 checksum
How to use checksums
b254a6342bef73f31eece114d1cd79de0d67470e6fd471c57f9db0f2827e79ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for synaptane 1.0.0rc2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for synaptane-1.0.0rc2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page