Kronaxis Fabric v0.10 alpha
The nervous system for multi-agent LLM workflows. One Go binary on one Postgres database, doing three things every multi-agent stack reinvents badly: cross-session coordination via pg_notify, shared semantic memory with hybrid ranking, and capability-typed task orchestration. Stop running three services when one schema does the lot. Plays directly into Kronaxis Router for the cheapest-competent-model decision.
Alpha status: production-ready for single-operator / small-team use today. Breaking changes possible until v1.0 lands multi-tenancy, SSO, and signed release artifacts. Schema migrations are forward-only — back up Postgres before minor-version upgrades.
Three real differentiators
The whole stack is a single Go binary plus a Postgres role. No Pinecone, no Redis, no separate broker, no task-queue service. Memos, coord messages, capability-typed tasks, and a tree-sitter code graph all live in the same schema with the same backups and the same RBAC. ~650 memos indexed in production.
Every search blends three signals: 0.5 × cosine on the 768-dim embedding, 0.3 × Postgres tsvector full-text rank, 0.2 × recency. Acronyms and jargon that tsvector mis-tokenises still hit; rare semantic phrasings still hit. Switch to semantic or tsvector mode when you need pure-channel behaviour.
Sibling agent sessions discover each other and exchange short messages over a Postgres LISTEN/NOTIFY channel that Fabric exposes as POST /v1/coord. No external pub/sub, no WebSocket gateway. The same database that holds your memory holds your messaging.
Fabric ships as a stdio MCP server (kx-fabric-mcp) so any Claude Code session, Cursor instance, or MCP-aware client gets fabric_search, fabric_remember, fabric_coord_send, fabric_health without writing glue. HTTP endpoints are the lower layer; MCP is the daily-driver tool surface.
The unified context layer for agents and LLM proxy alike
Kronaxis Router can be configured (fabric_url: in its config) to call Fabric's /v1/rag endpoint instead of its own embedded pgvector. The result: every memo and code chunk your agent fleet banks via MCP becomes immediately available to compress and augment LLM-proxy traffic. Agents (over MCP) and OpenAI-compatible callers (over Router) read from the same Postgres-backed chunk store, with one backup, one RBAC story, one upgrade path. Together they ship as the Kronaxis Platform suite.
How it compares
If you want a hosted agent-memory SaaS, mem0 wins on speed-to-value. If you want a long-running stateful agent runtime, Letta. If you want a managed vector store, Pinecone or Chroma. If you want to self-host one Postgres-backed binary that handles memory + coordination + tasks for a fleet of MCP-aware agents, Kronaxis Fabric is the only option that ships those things together.
| Kronaxis Fabric | mem0 | Letta (MemGPT) | Chroma / Pinecone | |
|---|---|---|---|---|
| Self-hosted single binary | ✓ (Go, Postgres only) | Python service + Qdrant/PG | Python + Postgres | Python / hosted |
| Hybrid semantic + full-text + recency rank | ✓ (default) | semantic primarily | semantic + relevance | semantic only |
| MCP server included | ✓ (stdio) | × | × | × |
| Cross-session coord (pg_notify) | ✓ | × | × | × |
| Capability-typed task queue | ✓ (v0.6) | × | stateful agent loop, not a queue | × |
| Tree-sitter code graph endpoint | ✓ | × | × | × |
| Local embeddings (no API call) | ✓ (Ollama / nomic-embed-text) | configurable | configurable | configurable |
| Type-filtered search (user / feedback / project / reference) | ✓ | partial (custom) | partial | × |
| Postgres-only persistence (one backup story) | ✓ | × | ✓ | × |
60-second start (one binary, one Postgres)
Assumes a Postgres with the pgvector extension and an Ollama with nomic-embed-text pulled. Both are one-liners on a fresh box.
go install github.com/kronaxis/kronaxis-fabric@latest
# 2. Run it (defaults to :8201, applies migrations on boot)
FABRIC_DB_URL="postgres://fabric@localhost/fabric?sslmode=disable" \
FABRIC_OLLAMA_URL="http://localhost:11434" \
fabric serve
# 3. Bank a memo + search it back
curl -X POST localhost:8201/v1/memo/remember \
-H 'Authorization: Bearer dev-key' -H 'Content-Type: application/json' \
-d '{"title":"first memo","content":"hello fabric","type":"reference"}'
curl -X POST localhost:8201/v1/memo/search \
-H 'Authorization: Bearer dev-key' -H 'Content-Type: application/json' \
-d '{"q":"hello","top_k":3,"mode":"hybrid"}'
To wire it into Claude Code, drop kx-fabric-mcp in your mcpServers map and the mcp__fabric__search / mcp__fabric__remember tools appear in every session. See the MCP setup guide.