Nlqdb — Analytical Memory For AI Agents MCP-Server | PlugMCP
Zum Inhalt springen\n\n\n```\n\nThat's the entire backend for a live order list — no API to write, no\nschema to define, no JSON to parse. Engine choice (Postgres / Mongo /\nRedis / DuckDB / pgvector / …), schema inference, indexing, backups, and\nauto-migration between engines based on your real workload are background\nconcerns you never have to see.\n\n## Status — early, open\n\nnlqdb is **early** and built in the open, but fully public — no gate, no\ninvite code. The marketing site, the `/v1/ask` pipeline, the `` /\n`` elements, the chat app, the TypeScript SDK, the hosted MCP\nser"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Verzeichnis","item":"https://plugmcp.ai/mcp"},{"@type":"ListItem","position":2,"name":"Nlqdb — Analytical Memory For AI Agents","item":"https://plugmcp.ai/mcp/com.nlqdb-nlqdb"}]},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Wie installiere ich Nlqdb — Analytical Memory For AI Agents?","acceptedAnswer":{"@type":"Answer","text":"Kopieren Sie auf dieser Seite die http-Konfiguration für Cursor, Claude Desktop, Claude Code oder VS Code. Sie nutzt die Installation des Herausgebers, keinen PlugMCP-Proxy."}},{"@type":"Question","name":"Benötigt Nlqdb — Analytical Memory For AI Agents einen API-Schlüssel?","acceptedAnswer":{"@type":"Answer","text":"In diesem Eintrag ist keine erforderliche Umgebungsvariable aufgeführt."}},{"@type":"Question","name":"Welchen Transport verwendet Nlqdb — Analytical Memory For AI Agents?","acceptedAnswer":{"@type":"Answer","text":"Nlqdb — Analytical Memory For AI Agents wird über HTTP erreicht."}},{"@type":"Question","name":"Wann wurde Nlqdb — Analytical Memory For AI Agents zuletzt geprüft?","acceptedAnswer":{"@type":"Answer","text":"Zuletzt geprüft: 2026-11-15. Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command."}}]}]}
Agenten stärken
Diesen Server hinzufügen
Die eigene URL des Herausgebers. Kein PlugMCP-Endpunkt.
nlqdb attaches to the Postgres or Cloudflare D1 database you already run, proposes the changes it needs, applies the ones you approve, measures them, and reverts any that regress.
Why it exists: the mission — encapsulate the trial-and-error journey every company walks to a good database infrastructure.
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
NOASSERTION
Zuletzt geprüft
2026-11-15
Sterne
2
Tools
—
Uptime
—
Where it is going (docs/END_GOAL.md): paste a
connection string — on nlqdb.com, with the CLI, through the SDK, or from your
coding agent over MCP — and the first proposals arrive within minutes, each
with its expected effect, cost and inverse. Apply is one click; nlqdb then
measures p95 on the same queries and keeps the change or reverts it, never on
your app's request path. That loop is being built
(Roadmap); what is live today is the hosted product below.
No backend to build. 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:
Create a database — one word: a name (or a goal).
Talk to it in plain English.
<script src="https://elements.nlqdb.com/v1.js" type="module"></script>
<nlq-data
goal="the 5 newest orders, with customer and item"
api-key="pk_live_xxx"
template="table"
refresh="10s"
></nlq-data>
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.
Status — early, open
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.
Use it
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, connect your agent
with one browser-OAuth approval; headless hosts skip the browser with
npx -y @nlqdb/mcp and an sk_mcp_* MCP key
(MCP setup). @nlqdb/sdk and @nlqdb/mcp
are both published and importable from npm.
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
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.
What makes it different
Four things every release has to move, none allowed to regress
(GLOBAL-025):
Engine quality — natural-language → SQL accuracy (measured
continuously on BIRD + Spider 2.0 + an internal eval), plus the
multi-engine layer that moves your data to the right engine for your
workload.
Onboarding — landing to first answer in under a minute, no card,
no config.
UX — see the diff before any write, see the SQL behind every
answer, and on low confidence get a one-click clarify — a guided turn,
never a dead-end, and never a silent guess.
Performance — sub-400 ms cached, sub-1.5 s cold.
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.
Models & plans
Free forever on the built-in open-model chain — queries, embeds,
and the elements, no card required.
Bring your own LLM key (Anthropic / OpenAI / Gemini / Grok / OpenRouter)
on any tier, at no markup.
Hosted premium models on paid plans, when you'd rather not manage a
key of your own.
Self-host the source — the engine, CLI, MCP server, and SDKs are
source-available under FSL-1.1-ALv2: free to self-host for
any non-competing use, bring your own LLM key, no per-call fees. The
license auto-converts to Apache 2.0 two years after each release.
The hosted-premium model lane went live 2026-08-14. The full model strategy is in
GLOBAL-026.
Surfaces at a glance
Surface
Status
Where
HTTP API (POST /v1/ask, POST /v1/run, POST /v1/insert)
✓ shipped
apps/api/src/ask/**
<nlq-data> + <nlq-action> elements
✓ shipped (v0.1)
packages/elements/**
@nlqdb/sdk (TypeScript)
✓ shipped (incl. runSql + cross-tenant grant + pack-import runner verbs) — installable from npm; insert() and runSqlparams publish in 0.5.0
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.
The section below is the live focus; the numbered phases after it are
the hosted product's roadmap, kept until the GLOBAL-043 deletion series. Canonical plan + exit gates:
docs/phase-plan.md. Legend:
✓ shipped · ~ in progress · ◯ planned.
This roadmap is yours to shape. Want something added, reprioritised, or
dropped? Open a PR editing this section (and
docs/phase-plan.md if it's engine-facing), or open
an issue to float it first. Say why now — which of the four north-star
pillars (engine quality, onboarding, UX, performance) it moves. New to the
codebase? Point your coding agent at this repo and paste:
Read README.md and docs/phase-plan.md, then propose a roadmap change:
add/change "<your idea>" under the right section in one line, with a
"why now" naming which north-star pillar it moves. Open a PR with just
that edit — no code.
Now — attach to the database you already run (GLOBAL-043)
One loop — observe → propose → apply → verify → revert — on your Postgres
(Supabase, Neon, RDS) or Cloudflare D1. Plan, KPIs and exit gate:
GLOBAL-043.
~ /app/dba change ledger — every change with its inverse, newest first
(read-only v0)
~ Attach product on synthetic databases — observer, create_index
proposal, apply → verify → auto-revert, the four doors (the API door,
POST /v1/attach / client.attach(), is live), tested in CI
◯ Postgres spike — one index proposed, applied and measured (before/after
p95) on a real-traffic database
✓ Diff preview on writes + visible SQL trace on every response
✓ Demand-signal telemetry on every "not yet" path
◯ Confidence floor (clarify-on-low-confidence — a guided turn, not a dead-end) — lands with quality-eval
Phase 2 — Distribution (agent + developer surfaces)
✓ Hosted MCP server (mcp.nlqdb.com/mcp) — host auto-detect pending;
local stdio @nlqdb/mcp 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 step
✓ @nlqdb/sdk — basic methods + runSql + cross-tenant grant +
pack-import runner verbs; published and importable from the registry;
insert() and runSqlparams publish in 0.5.0
~ Framework wrappers + native Swift package — built + CI-tested; npm /
SPM publish pending
✓ Quality-eval harness (BIRD + Spider 2.0) — a CI regression alarm for
the NL→SQL interface, not a KPI
~ Bring-your-own-LLM dispatch — HTTP lane live; remaining surfaces in
progress
◯ CSV upload in chat
~ Docs-site reference completeness — SDK + framework-wrapper guides,
an enumerable error-code reference, and a build-time /llms.txt for
agents now live; tutorial polish remains
◯ Custom domains for embeds
Phase 3 — Multi-engine engine (the moat)
◯ Workload analyzer → migration orchestrator
◯ ClickHouse / DuckDB / Redis as additional engines
◯ Dual-read verification
✓ Hosted-premium model lane (demand-gated) — live 2026-08-14 (PREMIUM_METER_LIVE flipped)
Phase 4 — Beyond v1
~ Bring-your-own Postgres / ClickHouse — connect path live end-to-end
(POST /v1/db/connect + web UI, CLI, SDK, query dispatch); prod-gated on
the BYO_SECRET_KEK secret. Supabase adds one-click OAuth connect over
the read-only Management-API (no DSN to paste); prod-gated on the
SUPABASE_OAUTH_CLIENT_ID / _SECRET secrets, with a graceful fall-back to
paste when unset
git clone [email protected]:nlqdb/nlqdb.git && cd nlqdb
scripts/bootstrap-dev.sh # installs everything, pulls Ollama models, seeds .envrc
scripts/login-cloud.sh # signs you into cloud providers that have a CLI flow
bootstrap-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:
bun run fix # biome format + lint --write (most issues)
bun run check:all # biome + golangci-lint + ruff (what CI runs)
bun run hooks:run # run pre-commit hooks against staged files
End-to-end tests (manual trigger)
E2E coverage is persona-driven and manually triggered so cost stays
inside the free-tier envelope — one workflow_dispatch workflow per
surface:
gh workflow run e2e-opencheck.yml # web — live LLM, Neon branch, Workers preview
gh workflow run e2e-cli.yml # Go testscript, hermetic
gh workflow run e2e-sdk.yml # vitest + cassettes, hermetic
gh workflow run e2e-mcp.yml # InMemoryTransport protocol tests, hermetic
gh workflow run e2e-examples.yml # Playwright across HTML/Next/Astro/Nuxt/SvelteKit
gh workflow run e2e-examples.yml -f live=true # + staging for the curl + CLI shell smokes
Run the hermetic surfaces locally without GitHub:
( cd tests/e2e/cli && go test ./... )
( cd tests/e2e/sdk && bun install && bun run test )
( cd tests/e2e/mcp && bun install && bun run test )
( cd tests/e2e/examples && bun install && bun run install:browsers && bun run test )
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.
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.
N
Nlqdb — Analytical Memory For AI Agents
com.nlqdb·2 Sterne·
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Noch keine Tool-Liste. Remote-Server erhalten eine nach dem ersten Health-Check.
FAQ
Fragen
Wie installiere ich Nlqdb — Analytical Memory For AI Agents?
Kopieren Sie auf dieser Seite die http-Konfiguration für Cursor, Claude Desktop, Claude Code oder VS Code. Sie nutzt die Installation des Herausgebers, keinen PlugMCP-Proxy.
Benötigt Nlqdb — Analytical Memory For AI Agents einen API-Schlüssel?
In diesem Eintrag ist keine erforderliche Umgebungsvariable aufgeführt.
Welchen Transport verwendet Nlqdb — Analytical Memory For AI Agents?
Nlqdb — Analytical Memory For AI Agents wird über HTTP erreicht.
Wann wurde Nlqdb — Analytical Memory For AI Agents zuletzt geprüft?
Zuletzt geprüft: 2026-11-15. Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.