NLQueries
OfficialThis server lets you query databases and documents using plain-English questions, manage agents and connectors, and monitor system health — all as an MCP toolset.
Ask natural-language questions (
query): Translates plain English into SQL or document search, returning a natural-language answer with generated SQL and/or citations. Supports PostgreSQL, Snowflake, BigQuery, Redshift, MySQL, SQL Server, and DuckDB.List agents (
list_agents): Discover all available database/document agents (YAML knowledge bases).Inspect agent schema (
get_agent_schema): View tables, columns, data types, and foreign keys for any agent before querying.Semantic caching: Returns rapid responses to similar previously asked questions without hitting LLMs or databases.
Submit feedback (
submit_feedback): Rate query results (👍/👎) and optionally supply corrected SQL to improve future accuracy.Check system health (
health): Verify connectivity to the LLM API, Qdrant vector store, embedding daemon, and configuration.Invalidate cache (
invalidate_cache): Clear cached query results for an agent after schema changes or data refreshes.List connectors (
list_connectors): View all registered database connectors (credentials redacted).View query history (
get_query_history): Retrieve recent queries and feedback ratings for an agent, newest first.Get cache stats (
get_cache_stats): Inspect cached entry count and the Qdrant collection backing the semantic cache.
Allows querying Amazon Redshift databases using natural language.
Allows querying Confluence documents and retrieving answers with citations.
Allows querying DuckDB databases using natural language.
Allows querying MySQL databases using natural language.
Allows querying Notion documents and retrieving answers with citations.
Uses OpenAI's language models to process natural language queries and generate SQL.
Allows querying PostgreSQL databases using natural language.
Allows querying Snowflake databases using natural language.
nlqueries-core
NLQueries Core turns plain-English questions into validated SQL, builds a self-updating YAML knowledge base from your schema and query history, and exposes everything as an MCP server your AI assistant can call directly. It also answers questions from your documents (PDF, Word, Excel, Notion, Confluence) and can blend both in a single hybrid answer.
Website & docs: nlqueries.com
Features
Capability | Description |
Database connectors | PostgreSQL, MySQL, Snowflake, BigQuery, Redshift, SQL Server / Azure SQL, DuckDB |
Document connectors | PDF, Word, Excel, Notion, Confluence — ask questions over ingested documents with citations |
Query pipeline | Filter, cluster, and parameterize query history into reusable |
Knowledge base | Auto-generated YAML schema + capsule file, with coverage reporting via |
Multi-agent orchestration | Routes each question to a SQL agent, document agent, or both in parallel (hybrid) |
Semantic cache | Returns previously-answered similar questions in under 50 ms, no LLM or DB round-trip |
Embedding daemon | Keeps the embedding model resident in memory — ~10 ms per call instead of ~9 s |
LLM client | Anthropic, OpenAI, or any LiteLLM-supported provider |
MCP server | Query execution and schema/knowledge lookup exposed as MCP tools for Claude, Cursor, etc. |
CLI |
|
See docs/architecture.md for how these pieces fit together.
Related MCP server: querywise-mcp
Quickstart
Prerequisite: Python 3.11+.
Option A — Docker (recommended)
Pulls the published nlqueries/core image from Docker Hub — no clone required, just the compose file:
curl -O https://raw.githubusercontent.com/nlqueries/nlqueries/main/docker-compose.ymlCreate a .env file next to it with at least one LLM key:
ANTHROPIC_API_KEY=sk-ant-...
# or OPENAI_API_KEY=sk-...Then start the stack:
docker compose upThis pulls nlqueries/core:latest and starts it alongside Qdrant (:6333), with the MCP server on :8080. Run CLI commands against the running stack from a second terminal:
docker exec -it nlqueries-core nlqueries healthOption B — pip install
pip install nlqueries-core
export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY
nlqueries healthOptional extras for specific connectors:
pip install "nlqueries-core[mysql]" # MySQL
pip install "nlqueries-core[redshift]" # Amazon Redshift
pip install "nlqueries-core[mssql]" # SQL Server / Azure SQL
pip install "nlqueries-core[duckdb]" # DuckDB
pip install "nlqueries-core[docs]" # PDF / Word / Excel ingestion
pip install "nlqueries-core[wiki]" # Notion / Confluence syncOption C — Clone and install from source
No Docker required — for contributing, or to run against unreleased changes:
git clone https://github.com/nlqueries/nlqueries.git
cd nlqueries
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\Activate.ps1
pip install -e ".[dev]"
export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY
nlqueries healthSee CONTRIBUTING.md for linting and test commands.
First query
nlqueries connect postgres --host localhost --database mydb --user alice --password secret --alias dev
nlqueries process-history dev --days 30 --annotate
nlqueries export-kb dev
nlqueries query dev "How many orders shipped last month?"Full walkthrough: docs/getting-started.md.
Documentation
Doc | Covers |
Step-by-step setup and your first query | |
Every command and flag | |
Database and document connector setup, per-connector notes and caveats | |
Environment variables | |
Common warnings and errors explained | |
Setting up Qdrant (required for embeddings, semantic cache, document search) | |
Module layout and request flow |
Contributing
See CONTRIBUTING.md. All contributors must sign the CLA before a PR can be merged — see CONTRIBUTOR_LICENSE_AGREEMENT.md.
License
Business Source License 1.1 — each release converts to Apache 2.0 four years after its release date.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nlqueries/nlqueries'
If you have feedback or need assistance with the MCP directory API, please join our Discord server