Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Memory your agent can query, not just recall β a real database it reaches over MCP.
Connect nlqdb to Claude, Cursor, Codex, or any MCP host. Your agent writes
typed rows as it learns, then asks questions in plain English β GROUP BY,
JOIN, aggregate over what it remembered. A vector store returns the top-k
similar chunks; nlqdb runs the query that a similarity index structurally can't.
The LLM never emits SQL: it returns a typed plan, our compiler emits the
parameterised statement, and you see the exact SQL every time.
It's also a natural-language database for any app. You write HTML; each component asks for what it wants in plain English; nlqdb infers the schema, writes the SQL, runs it, and renders the result. There is no backend for you to build.
Two actions. That's the whole product:
That's the entire backend for a live order list β no API to write, no schema to define, no JSON to parse. Engine choice (Postgres / Mongo / Redis / DuckDB / pgvector / β¦), schema inference, indexing, backups, and auto-migration between engines based on your real workload are background concerns you never have to see.
nlqdb is early and built in the open, but fully public β no gate, no
invite code. The marketing site, the /v1/ask pipeline, the <nlq-data> /
<nlq-action> elements, the chat app, the TypeScript SDK, the hosted MCP
server, and the nlq CLI are all live in some form (see the surface table
below). Natural-language β SQL accuracy is still climbing toward our public
bar (BIRD β₯ 0.65, Spider 2.0 β₯ 0.75 on the free model chain), so answers can
be wrong β every response carries a confidence signal and the SQL it ran.
Connecting an agent over MCP? On Claude Code, one marketplace add wires the hosted server and both memory skills in a single step:
On any other MCP host, give your agent memory
with one browser-OAuth approval; headless hosts skip the browser with
npx -y @nlqdb/mcp (0.1.1) and an sk_mcp_* MCP key
(MCP setup). @nlqdb/sdk (0.3.0) and
@nlqdb/mcp (0.1.1) are both published and importable from npm.
The 60-second walkthrough β plain HTML, CLI, and ten framework wrappers β
lives at docs.nlqdb.com. Start with the
HTML tutorial or the
CLI tutorial.
You don't generate an API key separately: describe your database at
nlqdb.com, and the chat hands you a
<nlq-data> snippet with the key already inlined.
examples/ β minimal scaffolds in plain HTML, Next.js,
Nuxt, SvelteKit, Astro, plus a CLI-only walkthrough. Each is the smallest
valid integration around one <nlq-data> element or one CLI session.
Four things every release has to move, none allowed to regress
(GLOBAL-025):
The bet: get this right on free, open models and it only gets better on frontier ones β the scaffolding compounds with whatever model is underneath.
Paid plans aren't live yet. The full model strategy is in
GLOBAL-026.
| Surface | Status | Where |
|---|---|---|
HTTP API (POST /v1/ask, POST /v1/run) | β shipped | apps/api/src/ask/** |
<nlq-data> + <nlq-action> elements | β shipped (v0.1) | packages/elements/** |
@nlqdb/sdk (TypeScript) | β shipped (incl. runSql + cross-tenant grant verbs) β installable from npm (0.3.0) | packages/sdk/** |
| Framework wrappers (React / Next / Vue / Nuxt / Svelte / SvelteKit / Astro / Solid + Swift) | ~ built + CI-tested; npm / SPM publish pending | packages/{react,next,β¦}/** |
Chat app nlqdb.com/app | β shipped | apps/web/** |
Hosted MCP server mcp.nlqdb.com/mcp | β shipped (host auto-detect pending) | apps/mcp/**, packages/mcp/** |
Local stdio MCP server @nlqdb/mcp | β shipped (0.1.1) β npx -y @nlqdb/mcp with an sk_mcp_* key | packages/mcp/** |
| Droppable agent-memory artifacts (AGENTS.md Β· Claude Code skill + plugin Β· Cursor rules Β· Codex config) | β shipped β /plugin marketplace add nlqdb/nlqdb installs the server + skills in one step | apps/web/public/agent-artifacts/** |
nlq CLI (Go) | β shipped (core verbs; device-login pending) | cli/** |
Full integration matrix in docs/progress.md.
Published to the public npm registry with build provenance
(SK-CIPERM-003). Version badges
are live from npm; the table itself is generated from the workspace by
scripts/sync-readme-packages.mjs, so it
lists exactly the packages that are un-gated ("private" removed) and nothing
that isn't.
| Package | Version | What it is | Source |
|---|---|---|---|
@nlqdb/cli | Shim that installs the nlq CLI binary for the host platform. | packages/cli-shim | |
@nlqdb/mcp | Analytical-memory MCP server for nlqdb β a real database your AI agent can GROUP BY / JOIN / aggregate over in natural language, not just recall. | packages/mcp | |
@nlqdb/sdk | Typed HTTP client for the nlqdb /v1 API β works in browsers, Node, Bun, Workers. | packages/sdk |
The two sections below are the live focus; the numbered phases after
them are the engine roadmap. Canonical plan + exit gates:
docs/phase-plan.md. Legend:
β shipped Β· ~ in progress Β· β― planned.
Memory your agent can GROUP BY: real Postgres tables per memory type,
plain-English analytics over what it remembered β not top-k recall.
agent_memory_v1 preset β entities / facts / episodes, one command,
live for every accountnlqdb_remember β deterministic write path (MCP tool + API + SDK + CLI)/agents landing + honest competitor capability matrix/plugin marketplace add nlqdb/nlqdb installs the
server + both memory skills in one step/agentsNon-technical professionals turn their expertise into structured,
queryable knowledge that AI agents pay to use. Decisions locked, built in
parallel with the wedge
(docs/features/expert-knowledge-platform/).
Worker skeleton Β· KV + D1 + R2 bindings Β· Neon adapter + OTel Β· LLM router
(free chain) Β· Better Auth (GitHub + Google + magic link) Β· /v1/ask
end-to-end Β· events queue + drain Β· Stripe webhook Β· CI/CD + PR preview
environments.
A stranger lands on nlqdb.com, creates a DB in plain English, embeds it,
and shares the link β in under 60 seconds, no card, no config.
nlqdb.com)<nlq-data> + <nlq-action> elements (v0.1)/app/keys)mcp.nlqdb.com/mcp) β host auto-detect pending;
local stdio @nlqdb/mcp@0.1.1 is on npm, so npx -y @nlqdb/mcp with an
sk_mcp_* key is a headless route in with no browser consent step
(/agents now carries it; the per-host install panel is still OAuth-only).
On Claude Code, /plugin marketplace add nlqdb/nlqdb installs the server +
both memory skills in one stepnlq (Go) β core verbs + raw-SQL escape hatch; device-login +
chat REPL pending@nlqdb/sdk β basic methods + runSql + cross-tenant grant verbs;
published and importable from the registry (0.3.0)/llms.txt for
agents now live; tutorial polish remainsPOST /v1/db/connect + web UI, CLI, SDK, query dispatch); prod-gated on
the BYO_SECRET_KEK secretbootstrap-dev.sh stands up the whole toolchain in one shot β Bun, Node
20+, Go 1.25+, uv; Biome / gofumpt / golangci-lint / ruff; lefthook git
hooks; the cloud CLIs (wrangler, flyctl, stripe, gh); a local Ollama so the
LLM router works offline; and a .envrc with self-generated dev secrets.
Details in
docs/history/infrastructure-setup.md Β§8.
Day-to-day:
E2E coverage is persona-driven and manually triggered so cost stays
inside the free-tier envelope β one workflow_dispatch workflow per
surface:
Run the hermetic surfaces locally without GitHub:
Only execution is manual: tests/e2e/{sdk,mcp,examples} live outside the root
workspace, so CI's typecheck-e2e job tscs them on every PR β the free
backstop against a suite that compiles today and rots before the next dispatch.
Conventions, persona mapping, and cassette governance are in
docs/features/e2e-coverage/FEATURE.md.
docs/architecture.md β system design (auth,
pricing, the $0 stack, model selection, hosted db.create, hello-world).docs/phase-plan.md β canonical phase plan and
exit gates.docs/decisions.md β cross-cutting GLOBAL-NNN
decisions; per-feature records live under
docs/features/.docs/performance.md β SLOs, latency budgets,
span/metric catalog.docs/competitors.md β competitive landscape.conduct@nlqdb.com.security@nlqdb.com). 90-day fix target.FSL-1.1-ALv2 β Functional Source License, Apache 2.0 future license. Source-available for any non-competing use; auto-converts to Apache 2.0 two years after each release. (Pattern used by Sentry, Convex, and others.)
nlqdbβ’ is an unregistered trademark of the project's licensor. See
TRADEMARKS.md for usage guidelines.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/nlqdb-analytical-memory-for-ai-agents)<a href="https://allmcps.com/mcp/nlqdb-analytical-memory-for-ai-agents"><img src="https://allmcps.com/api/badge/nlqdb-analytical-memory-for-ai-agents?style=directory" alt="Nlqdb β analytical memory for AI agents on AllMCPs" /></a>