Gnosys — One Brain. Zero Context Bloat.
Gnosys gives AI agents persistent memory that survives across sessions, projects, and machines.
The central brain is a single SQLite database at ~/.gnosys/gnosys.db with sub-10ms reads — no vector DBs, no black boxes, no external services. Federated search ranks results across project, user, and global scopes. It runs as a CLI and as a full MCP server that drops straight into Claude Code, Claude Desktop (Chat / Cowork / Code), Cursor, Codex, Gemini CLI, Antigravity, Grok Build, or any MCP client. When you want a human-readable view, gnosys export regenerates a full Obsidian vault on demand.
Install
Requires Node.js ^22.16.0 || >=24.0.0. FTS5 requires this floor. Node 23.x is unsupported. SQLite uses built-in
node:sqlite. No native SQLite dependency or rebuild is needed when switching supported Node versions.
npm install -g gnosys
gnosys setup # configures provider, API key, and your IDE/agent
Optional local embeddings. Gnosys auto-installs @huggingface/transformers. If it cannot install, use an external embedding API. SQLite does not need this package.
Quick start
gnosys setup ides # wire MCP into your IDEs (once)
cd your-project
gnosys init # register the project
gnosys add "We chose PostgreSQL over MySQL for JSON support"
gnosys recall "database selection" # what's relevant right now
That's the 60-second tour. Everything else lives on gnosys.ai.
What you get
- Central brain — one
~/.gnosys/gnosys.dbunifies every project (project / user / global scopes). Sub-10ms reads, SQLite as the sole source of truth. - Federated search — tier-boosted hybrid (FTS5 keyword + semantic) search across scopes, with recency and reinforcement.
- MCP server —
gnosys serveexposes 50+ memory tools to any MCP client. Sandbox-first runtime keeps context cost near zero. - Web Knowledge Base —
gnosys web buildturns any site into a searchable index for serverless chatbots, with optional build-time vectors for serverless-safe hybrid semantic search. Zero runtime deps. - Dream Mode — idle-time consolidation: confidence decay, summaries, relationship discovery. Never deletes — only suggests.
- Multi-machine sync — share your brain across machines; conflict detection with skip-and-flag resolution.
- Obsidian export —
gnosys exportregenerates a full vault with frontmatter,[[wikilinks]], and graph data.
MCP Tool Reference
All tools are exposed over stdio and HTTP transports. Many tools accept an optional projectRoot parameter to target a specific project store.
This package installs two binaries:
gnosys— the CLI.gnosys servestarts the MCP server (stdio by default,--transport httpfor the central-server topology).gnosys setup ideswiresgnosys-mcpinto your IDE/agent configs.gnosys-mcp— a direct alias for the MCP stdio server entry, installed withnpm install -g gnosys, for MCP clients that spawn the server binary directly. Equivalent tognosys serve. With npx, usenpx -y gnosys serve.
On stdio EOF, the server drains received requests, writes their responses, and
closes resources before exiting 0. Embedding flushes get at most 500 ms or one
third of the shutdown timeout; reindex or an embedding-enabled Dream run recovers
missing vectors. Cleanup errors or the 1500 ms shutdown backstop exit 1.
GNOSYS_SHUTDOWN_TIMEOUT_MS accepts plain decimal integers without whitespace
(100–60000 ms). Out-of-range integers and signed infinities warn and clamp to
the nearest bound; other formats warn and use 1500 ms. Both transports exit
130 for SIGINT and 143 for SIGTERM. The first signal during an EOF drain lets
requests finish and sets that exit status. Only a second actual signal forces
immediate resource cleanup and exits with its status. HTTP ignores stdin closure.
On a signal, HTTP rejects new requests and drains admitted POST responses before closing SSE streams.
Synchronous event-loop blocking (for example a long handler or SQLite call) defeats the shutdown bound/backstop; there is no watchdog process.
Toolset tiers
Tool descriptions and schemas consume agent context, so since v6.2.0 every session starts on the core tier and agents self-escalate in-session: calling gnosys_toolset without arguments lists what the higher tiers add, and gnosys_toolset {"set": "standard"|"full"} enables them at runtime (and "core" shrinks back). The switch emits notifications/tools/list_changed, so MCP clients pick up the new tools automatically.
GNOSYS_MCP_TOOLSET=core|standard|full overrides the starting tier (unknown values warn on stderr and fall back to core). The starting toolset and escalation hint are announced in the MCP server instructions. See docs/mcp-toolsets.md.