duckseek
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EMB_MODEL | Yes | Model name for the embedding model. | |
| LLM_MODEL | Yes | Model name for the LLM. | |
| EMB_API_KEY | Yes | API key for the embedding provider. | |
| LLM_API_KEY | Yes | API key for the LLM provider. | |
| EMB_BASE_URL | Yes | Base URL for the embedding API (OpenAI compatible). | |
| LLM_BASE_URL | Yes | Base URL for the LLM API (OpenAI compatible). | |
| NL2DATA_CONFIG | No | Optional path to override the default config.yaml location. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| duckseek_statusA | Environment + data readiness for DuckSeek. Reports which of the six env vars (LLM_BASE_URL/LLM_API_KEY/LLM_MODEL, EMB_BASE_URL/EMB_API_KEY/EMB_MODEL) are missing — names only, never values — plus registered sources/tables and retrieval-index state. Call this first; if variables are missing, ask the user to provide them into the server environment. |
| duckseek_list_tablesA | List registered tables grouped by source, with row counts. Row counts come from stored profiles; |
| duckseek_askA | Answer a natural-language question over the registered tables. Runs retrieve → SQL generation → read-only guard → sandboxed
execution. Returns |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
duckseek_status and duckseek_list_tables both surface registered tables and index state, creating mild overlap, but status is clearly a readiness check while list_tables is metadata-only. duckseek_ask is fully distinct as the query entry point.
All tools share the duckseek_ prefix and snake_case convention, but the structure is mixed: status is a noun, list_tables is verb_noun, and ask is verb-only. The pattern is still predictable and readable.
Three tools cover the complete workflow: check readiness, inspect available tables, and ask a natural-language question. Each tool earns its place and the small count fits the server's narrow read-only querying purpose.
The core lifecycle of status discovery, table inspection, querying, and clarification is present, with good guardrails like read-only SQL verification and BM25 fallback reporting. The main gap is that list_tables exposes row counts but not schemas or columns, so agents must infer schema details through duckseek_ask.