Skip to main content

MCP server for a locally-running DuckQuery backend

Project description

duckquery-mcp

An MCP server that exposes a locally-running DuckQuery backend to MCP clients (Claude Code, Cursor, Codex). Start DuckQuery first (desktop app, Docker, or uvicorn main:app --port 48001); this server auto-discovers it.

Run

uvx duckquery-mcp            # zero-install
# or: pipx run duckquery-mcp

Env:

  • DUCKQUERY_API_BASE — explicit backend URL (e.g. http://127.0.0.1:48001). Optional; auto-discovered otherwise (runtime.json, then probes 48001/8000/8001).
  • DUCKQUERY_MCP_MODEread-only | normal (default) | full.

Add to a CLI

Claude Code:

claude mcp add duckquery -- uvx duckquery-mcp

Cursor / Codex (mcp.json):

{
  "mcpServers": {
    "duckquery": {
      "command": "uvx",
      "args": ["duckquery-mcp"],
      "env": { "DUCKQUERY_MCP_MODE": "normal" }
    }
  }
}

Claude Desktop — add the same mcpServers block to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "duckquery": {
      "command": "uvx",
      "args": ["duckquery-mcp"]
    }
  }
}

Tools

High-level tools (query, ask, discover, add sources, configure LLM, transform, export) plus a generic duckquery_request passthrough. Safety mode gates which tools are exposed:

  • read-only — hides all mutating tools; non-GET duckquery_request calls are hard-blocked (confirm cannot override).
  • normal (default) — mutating tools are exposed and run without extra confirmation (run_sql executes write SQL directly); only non-GET duckquery_request passthrough requires confirm=true.
  • full — removes the passthrough confirm gate.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

duckquery_mcp-0.1.2.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

duckquery_mcp-0.1.2-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file duckquery_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: duckquery_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for duckquery_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a2e76d21e6fc42640e6bd4eba053a5500b19cd2fa3e29efac8735e81585150f7
MD5 b80609cd94a6e697bd56a72da77ff228
BLAKE2b-256 90e35450bb44e0fe4401123d5bb39ad3d2628ae89ff0c3358c2a9d6ea2f37e61

See more details on using hashes here.

File details

Details for the file duckquery_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: duckquery_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for duckquery_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bed81f816da12ab9d4f31bd493817d95cf1c6fb4657c91f99c66ea1185fee05d
MD5 d94f91d2cc0ddb997f7120f839956681
BLAKE2b-256 eb20b78f55d9815bbf8a8eff6c57e2a5b269645143a40fdf3a2cef44c2e8c972

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page