TiDB Cloud Lake MCP サーバー
TiDB Cloud Lake MCP サーバー は、Model Context Protocol (MCP) をサポートするクライアントに対して TiDB Cloud Lake の操作を公開します。tidbcloudlake-mcp パッケージは、standard input/output、HTTP、および server-sent events (SSE) のトランスポートをサポートします。
前提条件
開始する前に、以下を用意してください。
Python 3.12 以降
TiDB Cloud Lake のアカウント、データベース、および Warehouse
次の形式の TiDB Cloud Lake DSN:
lake://<username>:<password>@<host>:443/<database>?warehouse=<warehouse>
接続情報の取得方法については、Warehouse に接続する を参照してください。
MCP サーバーをインストールする
仮想環境を作成して有効化します。
python3.12 -m venv .venv
source .venv/bin/activate
PyPI からサーバーをインストールします。
python -m pip install tidbcloudlake-mcp
MCP サーバーを実行する
TiDB Cloud Lake DSN を設定します。
export LAKE_DSN='lake://<username>:<password>@<host>:443/<database>?warehouse=<warehouse>'
デフォルトの stdio トランスポートでサーバーを実行します。
lake-mcp
アクティブな環境にインストールせずにパッケージを実行することもできます。
uv tool run --from tidbcloudlake-mcp@latest lake-mcp
トランスポートを設定する
LAKE_MCP_SERVER_TRANSPORT に、次のいずれかの値を設定します。
たとえば、デフォルトのループバックアドレスとポートで HTTP サーバーを実行するには、次のようにします。
export LAKE_MCP_SERVER_TRANSPORT=http
export LAKE_MCP_BIND_HOST=127.0.0.1
export LAKE_MCP_BIND_PORT=8001
lake-mcp
設定
利用可能なツール
セーフモード
セーフモードはデフォルトで有効です。セーフモードでは、次の制限があります。
SELECT、SHOW、DESCRIBE、EXPLAIN、LISTなどの読み取り操作は、設定された TiDB Cloud Lake ユーザーに許可されたオブジェクトにアクセスできます。- 書き込み操作は、名前が現在の
mcp_sandbox_{session_id}_*プレフィックスで始まるオブジェクトに限定されます。 - データ操作文はサンドボックステーブルのみ変更できます。
- 権限の変更はサンドボックスオブジェクトおよびプリンシパルのみを対象にできます。
LAKE_MCP_SAFE_MODE=false を設定するのは、MCP クライアントが信頼でき、かつ設定された TiDB Cloud Lake ユーザーが必要最小限の権限を持っている場合のみにしてください。
クライアント固有の設定例については、MCP を使用して AI ツールを TiDB Cloud Lake に接続する を参照してください。