Skip to main content
Glama
databendlabs

mcp-databend

Official
by databendlabs

MCP Server for Databend

PyPI - Version

Connect AI agents to your Databend database safely. Session sandbox keeps production read-only while agents experiment. Works with Codex, Cursor, Claude Code, Gemini CLI, and any MCP-compatible client. Learn more at databend.com/mcp.

Usage

  1. Get your Databend DSN. Format: databend://user:password@host:port/database?warehouse=your_warehouse Get it from Databend Cloud or the docs.

  2. Session sandbox safety: writes only to mcp_sandbox_{session_id}_*; production stays read-only. Use get_session_sandbox_prefix to retrieve the live prefix.

  3. Configure your MCP client.

Standard config works in most tools:

{
  "mcpServers": {
    "databend": {
      "command": "uv",
      "args": ["tool", "run", "--from", "mcp-databend@latest", "mcp-databend"],
      "env": {
        "DATABEND_DSN": "databend://user:password@host:port/database?warehouse=your_warehouse"
      }
    }
  }
}

Use the Codex CLI to add the Databend MCP server:

codex mcp add databend \
  --env DATABEND_DSN='databend://user:password@host:port/database?warehouse=your_warehouse' \
  -- uv tool run --from mcp-databend@latest mcp-databend

Use the Claude Code CLI to add the Databend MCP server:

claude mcp add databend \
  --env DATABEND_DSN='databend://user:password@host:port/database?warehouse=your_warehouse' \
  -- uv tool run --from mcp-databend@latest mcp-databend

Click the button to install:

Then open Cursor Settings -> MCP, select Databend, click Edit, and add DATABEND_DSN to the env section. Cursor keeps the command as a single string:

{
  "mcpServers": {
    "Databend": {
      "command": "uv tool run --from mcp-databend@latest mcp-databend",
      "env": {
        "DATABEND_DSN": "databend://user:password@host:port/database?warehouse=your_warehouse"
      },
      "args": []
    }
  }
}

Or install manually:

Go to Cursor Settings -> MCP -> Add new MCP Server. Paste command uv tool run --from mcp-databend@latest mcp-databend, then click Edit and add DATABEND_DSN in env.

Add the standard config above to your Gemini CLI settings.json.

Safety Guarantees

Scope

Rules

Read access

SELECT/SHOW/DESCRIBE/EXPLAIN/LIST on any object.

Write access

Only objects prefixed with mcp_sandbox_{session_id}_*.

Sandbox objects

CATALOG, DATABASE, TABLE, VIEW, STAGE, FUNCTION, USER, ROLE, TASK, PIPE, STREAM, CONNECTION, WAREHOUSE, SEQUENCE, PROCEDURE, DICTIONARY, TAG, FILE FORMAT, NETWORK POLICY, PASSWORD POLICY, MASKING POLICY, ROW ACCESS POLICY, NOTIFICATION INTEGRATION, WORKLOAD GROUP, DYNAMIC TABLE, INDEX (AGGREGATING/INVERTED/NGRAM/VECTOR).

Write rules

CREATE/CREATE OR REPLACE/DROP/ALTER on sandbox objects; DML only on sandbox tables (INSERT/UPDATE/DELETE/TRUNCATE/COPY/MERGE/REPLACE); GRANT/REVOKE only on sandbox objects/principals; `ALTER ... SET

UNSET TAGrequires sandbox tag + target;CREATE TASK

PIPE

DYNAMIC TABLE

INDEX ... ASandCREATE STREAM ... ON TABLEonly sandbox refs;REMOVE @stage` only sandbox stages.

Available Tools

Tool

Description

execute_sql

Execute SQL with sandbox validation

execute_multi_sql

Execute multiple SQL statements

show_databases

List all databases

show_tables

List tables in database

describe_table

Get table schema

get_session_sandbox_prefix

Get current session prefix

list_session_sandbox_databases

List sandbox databases

create_session_sandbox_database

Create sandbox database

show_stages / list_stage_files / create_stage

Stage management

show_connections

List connections

Configuration

Variable

Default

Description

DATABEND_DSN

-

Connection string

LOCAL_MODE

false

Use embedded Databend

DATABEND_QUERY_TIMEOUT

300

Query timeout (seconds)

DATABEND_MCP_SAFE_MODE

true

Enable sandbox validation. Set to false to allow all SQL permitted by the Databend user.

DATABEND_MCP_SERVER_TRANSPORT

stdio

Transport: stdio, http, sse

DATABEND_MCP_BIND_HOST

127.0.0.1

Bind host for HTTP/SSE

DATABEND_MCP_BIND_PORT

8001

Bind port for HTTP/SSE

Local mode stores data in .databend/.

Development

git clone https://github.com/databendlabs/mcp-databend
cd mcp-databend
uv sync

# Run locally
uv run python -m mcp_databend.main

# Debug
npx @modelcontextprotocol/inspector uv run python -m mcp_databend.main

# Test
uv run pytest
A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
8wRelease cycle
6Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/databendlabs/mcp-databend'

If you have feedback or need assistance with the MCP directory API, please join our Discord server