MCP Client Integration
Overview
Databend MCP connects AI assistants to Databend via Model Context Protocol. Works with Claude Code, Codex, Cursor, Claude Desktop, VS Code, and other MCP-compatible clients.
What you can do:
- Generate complex SQL queries based on your requirements
- Create and manage scheduled data pipeline tasks
- Explore database schemas and validate query syntax
- Build ETL workflows with COPY, MERGE, and Stage operations
For example: "Create a scheduled task that copies parquet files from @my_stage to the orders table every minute, and verify it's running correctly."
Installation
1. Get Databend Connection
We recommend using Databend Cloud for the best experience.
- Log in to Databend Cloud.
- Click Connect in the navigation bar.
- Select regular connection information (Host, User, Password, etc.).
- Copy your DSN, which looks like:
databend://user:pwd@host:443/database?warehouse=warehouse_name
2. Configure Your MCP Client
- Codex
- Claude Code
- Gemini CLI
- Cursor
- Claude Desktop
- VS Code
- Manual
codex mcp add databend -- -e DATABEND_DSN="databend://user:password@host:port/database?warehouse=your_warehouse" -e SAFE_MODE=false -- uv tool run mcp-databend
Or add to ~/.codex/config.toml:
[mcp_servers.databend]
command = "uv"
args = ["tool", "run", "mcp-databend"]
[mcp_servers.databend.env]
DATABEND_DSN = "databend://user:password@host:port/database?warehouse=your_warehouse"
SAFE_MODE = "false"
claude mcp add databend -e DATABEND_DSN="databend://user:password@host:port/database?warehouse=your_warehouse" -e SAFE_MODE=false -- uv tool run mcp-databend
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"databend": {
"command": "uv",
"args": ["tool", "run", "mcp-databend"],
"env": {
"DATABEND_DSN": "databend://user:password@host:port/database?warehouse=your_warehouse",
"SAFE_MODE": "false"
}
}
}
}
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"databend": {
"command": "uv",
"args": ["tool", "run", "mcp-databend"],
"env": {
"DATABEND_DSN": "databend://user:password@host:port/database?warehouse=your_warehouse",
"SAFE_MODE": "false"
}
}
}
}
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"databend": {
"command": "uv",
"args": ["tool", "run", "mcp-databend"],
"env": {
"DATABEND_DSN": "databend://user:password@host:port/database?warehouse=your_warehouse",
"SAFE_MODE": "false"
}
}
}
}
Add to .vscode/mcp.json:
{
"mcpServers": {
"databend": {
"command": "uv",
"args": ["tool", "run", "mcp-databend"],
"env": {
"DATABEND_DSN": "databend://user:password@host:port/database?warehouse=your_warehouse",
"SAFE_MODE": "false"
}
}
}
}
export DATABEND_DSN="databend://user:password@host:port/database?warehouse=your_warehouse"
export SAFE_MODE="false"
uv tool run mcp-databend
Available Tools
Database Operations
| Tool | Description |
|---|---|
execute_sql | Execute SQL queries with timeout protection |
show_databases | List all databases |
show_tables | List tables in a database (with optional filter) |
describe_table | Get table schema information |
Stage Management
| Tool | Description |
|---|---|
show_stages | List all available stages |
list_stage_files | List files in a specific stage |
create_stage | Create a new stage with connection support |
Connection Management
| Tool | Description |
|---|---|
show_connections | List all available connections |
Configuration
| Variable | Description | Default |
|---|---|---|
DATABEND_DSN | Connection string | Required |
SAFE_MODE | Block dangerous SQL operations (DROP, DELETE, etc.) | true |
DATABEND_QUERY_TIMEOUT | Query timeout in seconds | 300 |
For more details on building conversational BI tools, see MCP Server Guide.