Hello, Developer! Welcome to AxioDB

Embedded NoSQL Database
for TypeScript & AI Agents

A fast, zero-setup embedded database for when you need reliable storage without running a separate server. Built for TypeScript apps and AI agents to safely persist and query dynamic JSON state. Just npm install axiodb and start querying with pure JavaScript objects.

javascript
1// npm install axiodb
2const { AxioDB } = require('axiodb');
3
4// Create AxioDB instance (embedded mode)
5const db = new AxioDB();
6
7// Create database and collection
8const myDB = await db.createDB('HelloWorldDB');
9const collection = await myDB.createCollection('greetings');
10
11// Insert and retrieve data - Hello World!
12await collection.insert({ message: 'Hello, Developer!' });
13const result = await collection.query({}).exec();
14console.log(result.data.documents[0].message); // Hello, Developer!
CIOpenSSF Best Practices GoldOpenSSF Baseline Level 3Snyk Vulnerabilities: 0Socket Security: 100npm versionZero native dependenciesACID DurabilityTypeScriptLicense MITGitHub Stars
Runs on
Node.jsNode.js ≥ v22 · officially supported
BunBun officially supported
DenoDeno officially supported
Verified test cases:CRUD (insert / find / update / delete)Indexed queriesACID transactionsAggregationWorker threads — ≥100 filesWorker threads — ≥10,000 docs

All 14 test suites — CRUD, transactions, reads, aggregation, auth, HTTP API, TCP (auth/no-auth/transaction/TLS), crash recovery, MCP, and cache options — pass across Node.js, Bun, and Deno, including the worker-thread data paths (reads of ≥100-file collections, searches over ≥10,000 documents). Node.js ≥ 22, Bun, and Deno are officially supported runtimes.

AI SKILLUse AxioDB with Any AI Agent

Load the AxioDB Agent Skill into ChatGPT, Claude, Cursor, Copilot, or any AI coding assistant to get expert guidance on queries, schema design, transactions, and best practices.

Paste into any AI chat
NEWAxioDB MCP Server

Native Model Context Protocol (MCP) server built directly into AxioDB core — 45 tools on port 27020 for AI agents (Claude Code, Cursor, Windsurf, Codex, Antigravity). Start directly in TypeScript with new AxioDB({ MCP: true }) or run in Docker.

NEWAxioDB CLI

CLI tool for AxioDB — interactive REPL with MongoDB shell syntax, all 32 TCP commands, TLS support, and installers for 12 platforms.

NEWAxioDB Desktop GUI

Native desktop app (Electron) with a card-based document viewer, bouncy-ball splash loader, connection management, and all-in-one database tooling for Linux, macOS, and Windows.

NEWAxioDB Agent Skill Package

Progressive-disclosure skill package for AI coding agents — 100% verified query syntax, zero context bloat, and automated operational scripts.

$npx skills add nexoral/AxioDB --skill skill
Verified Performance100K Docs

Sub-millisecond indexed reads (<1ms), ~31ms single inserts, and ACID transactions verified across 14/14 automated test suites.

View full performance report
terminal
$ npm install axiodb
+ axiodb@latest # No native dependencies, no compilation
# Or in Deno (zero-install via URL):
import { AxioDB } from 'https://esm.sh/axiodb';
$ node app.js
✓ AxioDB initialized
✓ Database ready at ./AxioDB
✓ GUI available on localhost:27018
💡 Think SQLite, but pure TypeScript NoSQL with rich queries
🎯 Perfect for: AI Agents • TypeScript Apps • Desktop & CLI Tools • Local-First Systems
$Your embedded database is ready...|
NEW FEATURE

Introducing AxioDBCloud

Deploy AxioDB in Docker or Cloud. Connect from anywhere with TCP protocol. Same API, zero code changes!

Fast TCP Protocol
1000+ Connections
Auto-Reconnect
Official Desktop GUI

Database Visualization Built In

Manage your databases visually with our standalone Desktop GUI app (AxioDB Control). Connect over TCP or start the HTTP API with new AxioDB({ HTTP: true }) on localhost:27018.

Install Desktop GUI
📖Our Story

Born from Embedded Database Pain. Built for Modern TypeScript & AI Agents.

It started with a recurring headache: node-gyp ERR! — followed by rigid SQL migrations for dynamic JSON and corrupted state under concurrency.

Whether persisting state for autonomous AI agents, building cross-platform desktop applications, or shipping zero-config CLI tools, developers were trapped: Tried better-sqlite3 — native C++ compilation errors and rigid table schemas for nested JSON. Tried LowDB — corrupted files on concurrent writes with zero ACID safety. Tried NeDB — abandoned since 2016 with unpatched CVEs and no TypeScript.

So we built AxioDB — an embedded document database designed for modern JavaScript runtimes and AI workflows.

✓
Zero native dependencies

Pure JS/TS. No node-gyp, no Python/C++ build tools, verified on Node.js & Bun

✓
ACID transactions & WAL

Write-ahead logging, savepoints, atomic commits, and automatic crash recovery

✓
Native JSON for AI & Modern Apps

Dynamic document store with MongoDB-style operators ($gt, $regex, $in) and deep queries

✓
Dual-Write In-Memory Cache & Desktop GUI

InMemoryCache with TTL jitter, Worker Threads, and official Desktop GUI

🤔

Still Using LowDB, NeDB, or better-sqlite3?

Here's what developers actually deal with every day:

📄LowDB
Stale
22.6k GitHub stars
  • ✗No concurrency — concurrent writes corrupt data
  • ✗No ACID transactions — crash or crash recovery = data loss
  • ✗No built-in caching — full file rewrite on every mutation
  • ✗Single JSON file — entire DB loaded into memory
  • ✗No indexing or query operators ($gt, $regex, $in)
💀NeDB
ABANDONED
13.5k GitHub stars
  • ✗No longer maintained since 2016 with unpatched CVEs
  • ✗File corruption on concurrent agent or process access
  • ✗No TypeScript types or modern ESM/CJS exports
  • ✗No ACID guarantees, savepoints, or crash recovery
  • ✗Fails on modern Node.js and Bun runtimes
🔧better-sqlite3
Active (but painful)
11k+ GitHub stars
  • ✗Requires native C++ bindings compilation (node-gyp)
  • ✗Fragile across multi-platform Docker & CI/CD builds
  • ✗Rigid tables — painful schema migrations for dynamic JSON
  • ✗SQL string queries instead of native JavaScript objects
  • ✗Platform-specific binaries (Windows ≠ macOS ≠ Linux)

AxioDB solves all of these problems:

✓ ACID Transactions✓ Zero Native Deps✓ Active Maintenance✓ InMemoryCache✓ TypeScript 6.0✓ Built-in GUI
See Full Comparison

Why AxioDB?

SQLite requires native C bindings that break in cross-platform deployments. Flat JSON files lack ACID transactions, indexing, and concurrency. MongoDB requires running a heavy external server daemon. AxioDB unifies the best of all: embedded zero-setup like SQLite, native document queries like MongoDB, in-memory caching built-in, and true ACID crash resilience.

Pure TypeScript & Zero Native Deps

Zero native C++ bindings, zero compilation, and no node-gyp headaches. Verified across Node.js and Bun with zero external binaries.

Dual-Write In-Memory Cache

Built-in InMemoryCache with randomized TTL jitter and dual-write index synchronization. Sub-millisecond reads for hot documents and multi-core Worker Thread parallelization.

Native JSON & Rich Queries

Manipulate JavaScript objects directly instead of writing SQL strings. Operators like $gt, $regex, aggregation pipelines, and schema-less documents for dynamic agent state.

ACID Transactions & WAL

Commit, rollback, and savepoints backed by a write-ahead log (WAL) with automatic startup crash recovery — enterprise reliability built in from day one.

AI Agents & State Persistence

Persist conversation logs, tool execution traces, in-flight agent state, and structured task queues locally without spinning up a cloud database or wrestling with SQL migrations.

TypeScript & Node.js Apps

Zero native dependencies, no server setup, no compilation. Verified across Node.js and Bun without native bindings or node-gyp headaches.

Desktop Software & CLI Tools

Ideal for Electron apps and CLI developer tools. Store configuration, cache data, manage local state—all with a single npm install.

Local-First & Edge Systems

Local-first applications, microservices, and edge computing. Full ACID transactions with WAL crash resilience, dual-write indexing, and an in-memory cache.

"
"

AxioDB is not competing with cloud databases like PostgreSQL or MongoDB Atlas. It's for when you need a fast, zero-native document database embedded directly inside your TypeScript app, AI agent workflow, or desktop software. Sweet spot: 10K-500K documents.

Honest positioning
What's New

AdminPassword — set the admin password at startup

The seeded admin/admin account is flagged mustChangePassword, and only the HTTP API or GUI can clear that flag. Start the server with the GUI disabled and there was no way to choose a password — TCP rejected every login and nothing could recover it. AdminPassword closes that gap.

In your app

javascript
1const db = new AxioDB({
2 TCP: true,
3 TCPAuth: true,
4 AdminPassword: 'my-secret-password',
5});

In the CLI

bash
1axiodb serve tcp-auth my-secret-password
2axiodb serve full my-secret-password

In Docker

bash
1docker run -d \
2 -e AXIODB_HTTP=false \
3 -e AXIODB_ADMIN_PASSWORD=my-secret-password \
4 theankansaha/axiodb

What you get

  • ✓One account across embedded, HTTP, GUI, TCP, MCP and the CLI — they all read the same config database
  • ✓Sets mustChangePassword: false, so logins work immediately
  • ✓Read on first start only — a container restart never resets a password you have since changed
  • ✓Additive: omit it and the admin/admin + forced-change behaviour is unchanged

Now enforced, not just documented

  • !axiodb serve tcp-auth requires a password and exits without one
  • !The Docker image refuses to start when TCP auth is on, AXIODB_HTTP is off and no password is set
  • —http and full keep it optional: their control server can rotate the password
  • —Full option reference →