- Is nlqdb a replacement for Mem0 for AI agent memory?
- It's the structured, analytical half — and the only half that can answer analytical questions. Mem0 owns unstructured similarity recall ("the user prefers Celsius"); nlqdb owns typed rows the agent later aggregates ("top 10 topics this month by count"). Both can sit behind one MCP-aware agent.
- Why can't a vector store answer "average per group" about agent memory?
- A vector store returns the top-k most similar facts; it has no query planner. So an aggregation becomes the LLM doing arithmetic over a list of search hits — a hallucination generator, not a `GROUP BY`. nlqdb runs the actual aggregation in Postgres and shows the SQL.
- How does the agent create its own database?
- Via `nlqdb_query` with no `db` set — the agent sends an English goal (`"a memory store for my research assistant"`); when it has no database, nlqdb provisions Postgres from the goal and answers in one call. There is no separate `create_database` tool — provisioning and querying are the same call.
- What about agent frameworks like LangChain or AutoGen?
- Any framework that speaks MCP can connect; the `@nlqdb/sdk` (TypeScript) is the typed fallback for non-MCP integrations. The `mcp` surface is the no-glue path — point the host (Claude Desktop, Cursor, Cline) at `mcp.nlqdb.com`.
- Does the agent need its own credentials?
- Yes — agents authenticate with `sk_mcp_*` keys minted with `(mcp_host, device_id)` claims. Per-device tagging means the dashboard shows `Cursor on macbook-air ran 14 queries today`; revocation is per-device, not per-user.