LabscoMCP early access ↗
crateMCP SERVER · OFFICIAL PROJECT

CrateDB MCP Server

Ask a CrateDB cluster in plain language — its tables, its health, and the documentation behind the answer.

by crate ↗Relational SQL Databases✓ Official

LABSCO SUMMARY

Query answers and CrateDB's own documentation in the same session.

The documentation tools are why the SQL comes out right: a timestamp format or a primary-key optimisation gets looked up rather than guessed. The write block is doubled — CrateDB's own advice is a user created with GRANT DQL, and the server refuses non-SELECT statements on top of that unless you deliberately turn the guard off.

What it is

CrateDB's own server for its clusters. Six tools split three ways: SQL against the cluster, lookups against the CrateDB documentation, and one cluster-health read.

What you get

  • A SQL statement run against the cluster — query_sql
  • A table's columns and its metadata — get_table_columns, get_table_metadata
  • The CrateDB documentation index, and one topic fetched from it — get_cratedb_documentation_index, fetch_cratedb_docs
  • Cluster health derived from CrateDB's system tables — get_cluster_health
  • Stdio, sse or http transports, chosen with --transport or CRATEDB_MCP_TRANSPORT
  • The system prompt extended with your own conventions, or replaced outright, from a file, a URL or standard input

Requirements

CRATEDB_CLUSTER_URL, the address of your CrateDB: http://localhost:4200/ for one on this machine, or https://<YOUR_USERNAME>:<YOUR_PASSWORD>@<YOUR_CLUSTER_HOST>:4200 for CrateDB Cloud. If your CrateDB needs a login, the username and password go before the host, as in the Cloud form. Install cratedb-mcp with pipx or uv, or run the ghcr.io/crate/cratedb-mcp image. Non-SELECT statements are refused at the application level unless CRATEDB_MCP_PERMIT_ALL_STATEMENTS is set. CRATEDB_MCP_HTTP_TIMEOUT defaults to 30.0 and CRATEDB_MCP_DOCS_CACHE_TTL to 3600.

Setup effort

One command plus your CrateDB's address — uv tool install --upgrade cratedb-mcp, then set CRATEDB_CLUSTER_URL (with a username and password in it if your CrateDB needs a login, as CrateDB Cloud does)