Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
One private factory where your team and the AI agents you already use work a problem together. Watch an agent work, redirect it, hand it off. Open source, free to self-host, free hosted on your own, $
BusinessTypeScript · JavaScriptGitHub @fabrikkadotxyzOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Multiplayer AI: a room where your team and the AI agents you already use (Claude Code, Codex, any MCP client) work one problem together, live. Self-hosted, AGPL-3.0.
Taken from the repository README
Loading the full README.
Read the full README ↗fabrikka.xyz · How agents join · Host it yourself · Docs · Security
Multiplayer AI. A room where your team and the AI agents you already use work one problem together, live: debug the webhook, write the paper, draft the proposal. Anyone in the room can watch an agent work, redirect it, and hand it off, and nobody copies context between them by hand.
Chat with an AI today is single-player: a box only you can see, and a transcript you can send a link to. Fabrikka is what Google Docs did for documents and Figma did for design, done for agents. Think Slack for problems, not conversations: a room exists to produce something, and leaves a record behind.
docker compose up on any
server. Licensed AGPL-3.0.What we promise the people who use it, and the rules that settle an argument:
PRINCIPLES.md.
Pre-MVP, pre-1.0. The road to MVP, phase by phase, is
docs/mvp.md. Built so far:
Every milestone, with its acceptance test, is in
docs/roadmap.md.
The session is itself an MCP (an MCP server agents connect to), and
Fabrikka owns the session: your agents stay yours. Your team is in the room
live; your agents join over MCP from your own machine, with your own
credentials; the room reaches your tools as the person who asked. The full
picture, lane by lane, is brand/architecture.png,
and the reasoning is in ARCHITECTURE.md.
Two lanes, because MCP is pull-only and cannot address an idle agent (see ADR 0003).
Lane A — remote endpoint. Any MCP client, anywhere:
claude mcp add --transport http fabrikka \
https://<host>/mcp/o/<owner_id>/s/<session_id> \
--header "Authorization: Bearer <token>"
Lane B — local bridge. Real-time push into a Claude Code session you already have open. The agent spawns the bridge, never the reverse:
{
"mcpServers": {
"fabrikka": {
"command": "fabrikka",
"args": ["connect"],
"env": { "FABRIKKA_URL": "<session endpoint>", "FABRIKKA_TOKEN": "<token>" }
}
}
}
claude --dangerously-load-development-channels server:fabrikka
When a mention arrives, a live bridge connection gets a channel push; otherwise a headless run is spawned. Full contract in docs/protocol.md.
Your computer, once. Every instance serves its own client (Node 22+). Copy the command from Your devices:
curl -fsSL https://<your instance>/install.sh | bash
It installs fabrikka into your home folder, then opens the pairing page. One
click there, grant a project folder, and from then on Add my agent in any
session runs your agent in that folder.
On Render: New → Blueprint → this repository → Apply, then open the URL
and create the owner (render.yaml, details in
docs/operations.md).
On any server with Docker and a domain: cd docker/selfhost && ./init.sh <domain> && docker compose up -d, then open the domain and create the owner with the
setup code from docker compose logs server. Details, backups and upgrades:
docs/operations.md.
Requires Node 22+, pnpm and Docker. No mail server — see ADR 0007.
cp .env.example .env
pnpm install
pnpm db:up
pnpm dev # web on :5173, server on :9090; migrations run at start
Open the app: a fresh instance sends you to Set up Fabrikka, where the setup code printed by the server creates the first owner. There is no open registration after that.
Then invite people with a link, not an email: open a session, Create invite
link, and send it however you like. Forgot a password?
pnpm admin reset-password --email <e>. See docs/operations.md.
This project is documentation-first — docs are written before the code they describe, and they are the source of truth. See CLAUDE.md.
| Doc | Holds |
|---|---|
PRINCIPLES.md | What the user gets, the current bet, the ground rules |
ARCHITECTURE.md | The rule, the layers, the hybrid wake-up design |
docs/protocol.md | The contract external agents bind to |
docs/security.md | Trust model, prompt injection, credential boundaries |
docs/data-model.md | Schema and what each table is for |
docs/operations.md | Running an instance: bootstrap, admin CLI, invites, backups |
docs/themes.md | Themes: choosing one, and making your own |
docs/roadmap.md | Milestones M0–M44 and their acceptance tests |
docs/decisions/ | ADRs — why each of the above is the way it is |
GNU AGPL v3 (AGPL-3.0-only). Fabrikka is free software: use it,
self-host it, change it. If you run a modified Fabrikka for other people over a
network, offer them your source (set VITE_SOURCE_URL when you build). License:
ADR 0034.
Contributions are under the contributor agreement.