TiDB MCPサーバー
TiDB MCP Serverは、自然言語による指示を用いてTiDBデータベースとやり取りできるオープンソースツールです。
MCPとTiDB MCPサーバーの理解
モデルコンテキストプロトコル(MCP)は、LLMと外部ツール間の通信を標準化するプロトコルです。
MCPはクライアント/サーバーアーキテクチャを採用しており、ホストアプリケーションが複数の外部サーバーに接続できるようになっている。
ホスト:Claude DesktopやCursorなどのIDEといった、MCPサーバーへの接続を開始するAI搭載アプリケーション。
クライアント:ホストアプリケーションに組み込まれたコンポーネントで、個々のMCPサーバーと1対1の接続を確立する。
サーバー: TiDB MCPサーバーなどの外部サービスで、クライアントが外部システムとやり取りするためのツール、コンテキスト、およびプロンプトを提供します。
TiDB MCPサーバーは、MCP互換サーバーであり、MCPクライアントがTiDBデータベースとやり取りするためのツールとコンテキストを提供します。
前提条件
始める前に、以下のものを用意してください。
- MCP 互換クライアント: 例:カーソルやクロード・デスクトップ。
- Python (>=3.10) と uv : Python (3.10 以降) と
uvがインストールされていることを確認します。 インストールガイドに従ってuvをインストールします。 - TiDB Cloud Starterインスタンス: TiDB Cloudで無料のTiDB Cloud Starterインスタンスを作成できます。
サポートされているMCPクライアント
TiDB MCPサーバーを特定のMCPクライアントで使用する詳細な例については、以下のガイドを参照してください。
上記のリストにMCPクライアントが含まれていない場合は、以下のセットアップ手順に従ってください。
セットアップ手順
TiDB MCPサーバーは、MCPクライアントとの統合に関して2つのモードをサポートしています。
- 標準入出力(STDIO)モード(デフォルト)
- サーバー送信イベント(SSE)モード
TiDB MCPサーバーはデフォルトでSTDIOモードを使用するため、事前にスタンドアロンサーバーを起動する必要はありません。
MCPクライアントでTiDB MCPサーバーを設定するには、以下のいずれかのモードを選択できます。
STDIOモード
STDIOモードを使用してMCPクライアントにTiDB MCPサーバーを設定するには、以下の手順を実行してください。
MCPサーバーの設定方法については、MCPクライアントのドキュメントを参照してください。
TiDB Cloudコンソールで、私のTiDBページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして概要ページに移動します。
接続パラメータを取得するには、右上隅の「接続」をクリックしてください。
AIアプリケーションの設定ファイルの
mcpServersセクションで、接続パラメータを使用してTiDB MCPサーバーを設定します。MCP設定ファイルの例:
{ "mcpServers": { "TiDB": { "command": "uvx --from pytidb[mcp] tidb-mcp-server", "env": { "TIDB_HOST": "localhost", "TIDB_PORT": "4000", "TIDB_USERNAME": "root", "TIDB_PASSWORD": "", "TIDB_DATABASE": "test" } } } }
サーバー送信イベント(SSE)モード
MCPクライアントでSSEモードを使用してTiDB MCPサーバーを設定するには、以下の手順を実行してください。
MCPサーバーの設定方法については、MCPクライアントのドキュメントを参照してください。
TiDB Cloudコンソールで、私のTiDBページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして概要ページに移動します。
接続パラメータを取得するには、右上隅の「接続」をクリックしてください。
接続パラメータを含む
.envファイルを作成します。.envファイルの例:cat > .env <<EOF TIDB_HOST={gateway-region}.prod.aws.tidbcloud.com TIDB_PORT=4000 TIDB_USERNAME={prefix}.root TIDB_PASSWORD={password} TIDB_DATABASE=test EOF--transport sseオプションを指定して TiDB MCP サーバーを起動します。uvx --from "pytidb[mcp]" tidb-mcp-server --transport sseTiDBMCPサーバー構成を、AIアプリケーション構成ファイルのmcpServersセクションに追加します。{ "mcpServers": { "TiDB": { "url": "http://localhost:8000/sse" } } }
サポートされている操作(ツール)
TiDB MCPサーバーは、MCPクライアントに以下の操作(ツール)を提供します。これらのツールを使用すると、自然言語による指示でTiDBプロジェクトやデータベースを操作できます。
データベース管理
show_databases- TiDB Cloud Starterインスタンス内のすべてのデータベースを表示しますusername: データベースユーザー名(文字列、オプション)password: データベースパスワード(文字列、オプション)
switch_database- 特定のデータベースに切り替えるdb_name: 切り替え先のデータベース名(文字列、必須)username: データベースユーザー名(文字列、オプション)password: データベースパスワード(文字列、オプション)
show_tables- 現在のデータベース内のすべてのテーブルを表示します
SQLクエリと実行
db_query- 読み取り専用のSQLクエリを実行しますsql_stmt: SQLクエリステートメント(文字列、必須)
db_execute- SQLステートメント(DMLまたはDDL)を実行しますsql_stmts: 単一のSQL文、またはSQL文の配列(文字列または配列、必須)
ユーザー管理
db_create_user- 新しいデータベースユーザーを作成しますusername: 新規ユーザーの名前(文字列、必須)password: 新規ユーザーのパスワード(文字列、必須)
db_remove_user- 既存のデータベースユーザーを削除しますusername: 削除するユーザーの名前(文字列、必須)