📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

TiDB Cloud Lake MCP Server



TiDB Cloud Lake MCP server 向支持 Model Context Protocol (MCP) 的客户端暴露 TiDB Cloud Lake 操作。tidbcloudlake-mcp 包支持标准输入/输出、HTTP 和 server-sent events (SSE) 传输方式。

前提条件

开始之前,请确保你具备以下条件:

  • Python 3.12 或更高版本

  • 一个 TiDB Cloud Lake 账户、数据库和计算集群 (Warehouse)

  • 一个符合以下格式的 TiDB Cloud Lake DSN:

    lake://<username>:<password>@<host>:443/<database>?warehouse=<warehouse>

有关如何获取连接信息,请参见连接到计算集群。

安装 MCP server

创建并激活虚拟环境:

python3.12 -m venv .venv source .venv/bin/activate

从 PyPI 安装 server:

python -m pip install tidbcloudlake-mcp

运行 MCP server

设置 TiDB Cloud Lake DSN:

export LAKE_DSN='lake://<username>:<password>@<host>:443/<database>?warehouse=<warehouse>'

使用默认的 stdio 传输方式运行 server:

lake-mcp

你也可以在不将该包安装到当前激活环境中的情况下运行它:

uv tool run --from tidbcloudlake-mcp@latest lake-mcp

配置传输方式

将 LAKE_MCP_SERVER_TRANSPORT 设置为以下值之一:

值描述
stdio通过标准输入和输出与本地 MCP 客户端通信。这是默认值。
http启动一个 HTTP 服务器。
sse启动一个使用服务器发送事件的服务器。

例如,要在默认的 loopback 地址和端口上运行一个 HTTP server:

export LAKE_MCP_SERVER_TRANSPORT=http export LAKE_MCP_BIND_HOST=127.0.0.1 export LAKE_MCP_BIND_PORT=8001 lake-mcp

配置

环境变量默认值描述
LAKE_DSNTiDB Cloud Lake 必需数据库和计算集群的连接字符串。
LAKE_MCP_SAFE_MODEtrue启用会话沙箱校验。
LAKE_QUERY_TIMEOUT300查询超时时间,单位为秒。
LAKE_MCP_SERVER_TRANSPORTstdio服务器传输方式:stdio、http 或 sse。
LAKE_MCP_BIND_HOST127.0.0.1http 和 sse 传输方式的绑定地址。
LAKE_MCP_BIND_PORT8001http 和 sse 传输方式的绑定端口。

可用工具

工具描述
execute_sql执行带有沙箱校验的 SQL。
execute_multi_sql执行多条 SQL 语句。
show_databases列出数据库。
show_tables列出数据库中的表。
describe_table返回表的 schema。
get_session_sandbox_prefix返回当前会话的沙箱前缀。
list_session_sandbox_databases列出当前会话的沙箱数据库。
create_session_sandbox_database为当前会话创建一个沙箱数据库。
show_stages列出 stage。
list_stage_files列出 stage 中的文件。
create_stage创建一个 stage,并受沙箱校验约束。
show_connections列出连接。

安全模式

默认启用安全模式。在安全模式下:

  • SELECT、SHOW、DESCRIBE、EXPLAIN 和 LIST 等读操作可以访问已配置 TiDB Cloud Lake 用户被允许访问的对象。
  • 写操作仅限于名称以当前 mcp_sandbox_{session_id}_* 前缀开头的对象。
  • 数据操作语句只能修改沙箱表。
  • 权限变更只能针对沙箱对象和 principals。

仅当 MCP 客户端可信,且已配置 TiDB Cloud Lake 用户具有所需的最小权限时,才将 LAKE_MCP_SAFE_MODE=false。

有关特定客户端的配置示例,请参见使用 MCP 将 AI 工具连接到 TiDB Cloud Lake。

文档内容是否有帮助?