Skip to main content

MCP Server for TiDB Cloud Lake

PyPI - Version

Connect AI agents to your TiDB Cloud Lake database safely. Session sandbox keeps production read-only while agents experiment. Works with Codex, Cursor, Claude Code, Gemini CLI, and any MCP-compatible client.

Usage

  1. Get your TiDB Cloud Lake DSN. Format: lake://user:password@host:port/database?warehouse=your_warehouse Get it from TiDB Cloud Lake or your project connection settings.
  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": {
    "lake-mcp": {
      "command": "uv",
      "args": ["tool", "run", "--from", "tidbcloudlake-mcp@latest", "lake-mcp"],
      "env": {
        "LAKE_DSN": "lake://user:password@host:port/database?warehouse=your_warehouse"
      }
    }
  }
}
Codex
codex mcp add lake-mcp \
  --env LAKE_DSN='lake://user:password@host:port/database?warehouse=your_warehouse' \
  -- uv tool run --from tidbcloudlake-mcp@latest lake-mcp
Claude Code
claude mcp add lake-mcp \
  --env LAKE_DSN='lake://user:password@host:port/database?warehouse=your_warehouse' \
  -- uv tool run --from tidbcloudlake-mcp@latest lake-mcp
Cursor

Add a new MCP server with command uv tool run --from tidbcloudlake-mcp@latest lake-mcp, then set LAKE_DSN in the env section.

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

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

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
LAKE_DSN - Connection string
LOCAL_MODE false Use the embedded local engine
LAKE_QUERY_TIMEOUT 300 Query timeout (seconds)
LAKE_MCP_SAFE_MODE true Enable sandbox validation. Set to false to allow all SQL permitted by the configured user.
LAKE_MCP_SERVER_TRANSPORT stdio Transport: stdio, http, sse
LAKE_MCP_BIND_HOST 127.0.0.1 Bind host for HTTP/SSE
LAKE_MCP_BIND_PORT 8001 Bind port for HTTP/SSE

Local mode stores data in .databend/.

Development

git clone https://github.com/tidbcloud/lake-mcp
cd lake-mcp
uv sync

# Run locally
uv run python -m lake_mcp.main

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

# Test
uv run pytest

Metadata

Release files for tidbcloudlake-mcp 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tidbcloudlake-mcp 0.3.2
File Size Uploaded Provenance Actions
tidbcloudlake_mcp-0.3.2.tar.gz 23.6 kB With provenance Details for tidbcloudlake_mcp-0.3.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tidbcloudlake-mcp 0.3.2
File Interpreter ABI Platform Actions
tidbcloudlake_mcp-0.3.2-py3-none-any.whl Python 3 none any Details for tidbcloudlake_mcp-0.3.2-py3-none-any.whl

Total release size: 42.3 kB

Release files / tidbcloudlake_mcp-0.3.2.tar.gz

Download URL tidbcloudlake_mcp-0.3.2.tar.gz
Size 23.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c056deaa02307582b152aba8e60c4f98d025a748620356348e8f070f8aed3b4e
BLAKE2b-256 checksum
How to use checksums
f0b99d5ecf99ae126f157991be1ef1bd5f2b32baaf3be628323f83fd53d5aa98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.

Transparency log

Release files / tidbcloudlake_mcp-0.3.2-py3-none-any.whl

Download URL tidbcloudlake_mcp-0.3.2-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1872ab9ee0980d627d87d8d9581236d37d4622873f90e65cb671334bac604c7
BLAKE2b-256 checksum
How to use checksums
4fbc14a9f016611629ea9c9fed57d738443adf9d13e3fe84d8f3a7efdc7f1e95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.

Transparency log

Security for tidbcloudlake-mcp 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for tidbcloudlake_mcp-0.3.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page