サインアップ不要・構築不要・curlひとつでMySQL互換DBが使える「TiDB Cloud Zero」を試してみた

サインアップ不要・構築不要・curlひとつでMySQL互換DBが使える「TiDB Cloud Zero」を試してみた

2026.03.12

はじめに

こんにちは、ゲームソリューション部のsoraです。
今回は、サインアップ不要・構築不要でMySQL互換データベースが使える「TiDB Cloud Zero」を試してみたことについて書いていきます。
curlを1回叩くだけでデータベースが作成でき、MCPサーバーとしてClaude Codeに統合するところまで検証しました。

TiDB Cloud Zeroとは

TiDB Cloud Zeroは、PingCAPが提供する「ゼロサインアップ・ゼロ設定」をコンセプトにしたデータベースサービスです。

https://zero.tidbcloud.com/

主な特徴は以下の通りです。

項目 内容
互換性 MySQL 8.0互換
有効期限 最大30日間
費用 無料(TiDB Cloud Starter無料枠内、1データベースあたり$1上限)
サインアップ 不要

構成

今回は以下の流れで検証しました。

  1. curlでTiDB Cloud Zero APIを叩いてデータベースを作成
  2. MySQL CLIで接続確認
  3. データベース作成・テーブル操作
  4. Claude Code + MCPサーバーでAIエージェント連携
  5. TiDB Cloudアカウントへの紐づけ

データベースの作成

以下のcurlコマンドを実行するだけで、TiDB Cloudのインスタンスが作成されます。

curl -X POST https://zero.tidbapi.com/v1beta1/instances

レスポンスとして、接続に必要な情報がJSON形式で返されます。

{
  "instance": {
    "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "connection": {
      "host": "gateway01.us-west-2.prod.aws.tidbcloud.com",
      "port": 4000,
      "username": "xxxxxxxx.root",
      "password": "xxxxxxxxxxxxxxxx"
    },
    "connectionString": "mysql://xxxxxxxx.root:xxxxxxxxxxxxxxxx@gateway01.us-west-2.prod.aws.tidbcloud.com:4000/",
    "claimInfo": {
      "zeroId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "claimUrl": "https://tidbcloud.com/tidbs/claim/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "expiresAt": "2026-04-11T00:00:00.000Z"
  }
}

expiresAtがインスタンスの有効期限です。
claimUrlにアクセスすると、作成したクラスタをTiDB CloudのOrganizationに紐づけることができます(紐づけについては後述します)。

MySQL CLIでの接続確認

レスポンスの接続情報を使って、MySQL CLIで接続します。

mysql -h <host> -P 4000 -u <username> -p<password> --ssl-mode=REQUIRED

接続できたら、バージョンを確認してみます。

mysql> SELECT VERSION();
+-------------------------------+
| VERSION()                     |
+-------------------------------+
| 8.0.11-TiDB-v8.5.3-serverless |
+-------------------------------+

TiDBのバージョンが表示されていて、接続成功していることが確認できました。

データベース作成とテーブル操作

続けて、データベースを作成してテーブル操作を試してみます。

-- データベース作成
CREATE DATABASE demo;
USE demo;

-- テーブル作成
CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL,
  email VARCHAR(255) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- データ投入
INSERT INTO users (name, email) VALUES
  ('田中太郎', 'tanaka@example.com'),
  ('佐藤花子', 'sato@example.com'),
  ('鈴木一郎', 'suzuki@example.com');

-- データ確認
SELECT * FROM users;

実行結果は以下の通りです。
通常のMySQLと同じようにテーブル作成やデータ操作が可能です。

+----+--------------+----------------------+---------------------+
| id | name         | email                | created_at          |
+----+--------------+----------------------+---------------------+
|  1 | 田中太郎     | tanaka@example.com   | 2026-03-12 12:00:00 |
|  2 | 佐藤花子     | sato@example.com     | 2026-03-12 12:00:00 |
|  3 | 鈴木一郎     | suzuki@example.com   | 2026-03-12 12:00:00 |
+----+--------------+----------------------+---------------------+

MCPサーバーとしてClaude Codeに統合する

TiDB Cloud Zero用のMCPサーバーが公開されているので使ってみます。
https://github.com/siddontang/tidb-cloud-zero-mcp

セットアップ

# リポジトリをクローン
git clone https://github.com/siddontang/tidb-cloud-zero-mcp.git
cd tidb-cloud-zero-mcp

# MCP追加
claude mcp add tidb -- uv run --project /path/to/tidb-cloud-zero-mcp server.py

利用可能なツール

MCPサーバーでは以下のツールが提供されます。

ツール 機能
query SELECT/SHOW/DESCRIBE/EXPLAINの実行
execute CREATE/INSERT/UPDATE/DELETE/ALTERの実行
batch_execute 複数SQLステートメントの逐次実行
list_tables テーブル一覧の表示
describe_table テーブルスキーマの取得
get_database_info DB情報・バージョン・インスタンス状態の取得

AIエージェントからの実行

MCPサーバーを設定すると、自然言語で指示するだけでSQLが実行されます。

実際にClaude Codeで「demo用のデータベースを作って」と指示したところ、以下のテーブルとサンプルデータが自動生成されました。

テーブル 行数 内容
users 5 ユーザー(管理者・編集者・閲覧者)
products 8 商品(PC、マウス、キーボード等)
orders 6 注文(pending〜delivered)
order_items 11 注文明細(注文×商品の紐付け)

一言の指示だけで、サンプルデータを作成することができました。

MySQL CLIで実データを確認する

MCPサーバー経由で本当にデータが作られているのかを確認するため、CLIから手動で確認してみます。

MCPサーバーが自動プロビジョニングしたインスタンスの接続情報は~/.tidb-cloud-zero-mcp/instance.jsonに保存されています。

cat ~/.tidb-cloud-zero-mcp/instance.json
{
  "host": "gateway01.us-west-2.prod.aws.tidbcloud.com",
  "username": "xxxxxxxx.root",
  "password": "xxxxxxxxxxxxxxxx",
  "database": "test",
  "expires_at": "2026-04-11T00:00:00Z"
}

この接続情報を使ってMySQL CLIで接続し、テーブルとデータを確認します。

mysql -h <host> -P 4000 -u <username> -p<password> --ssl-mode=REQUIRED
mysql> USE test;
Database changed

mysql> SHOW TABLES;
+----------------+
| Tables_in_test |
+----------------+
| order_items    |
| orders         |
| products       |
| users          |
+----------------+
4 rows in set

mysql> SELECT * FROM products;
+----+--------------------------+-------------+-----------+-------+---------------------+
| id | name                     | category    | price     | stock | created_at          |
+----+--------------------------+-------------+-----------+-------+---------------------+
|  1 | ノートPC                 | electronics | 128000.00 |    15 | 2026-03-12 06:17:28 |
|  2 | ワイヤレスマウス         | electronics |   3500.00 |   120 | 2026-03-12 06:17:28 |
|  3 | USBハブ                  | electronics |   2800.00 |    80 | 2026-03-12 06:17:28 |
|  4 | デスクライト             | furniture   |   6500.00 |    40 | 2026-03-12 06:17:28 |
|  5 | モニターアーム           | furniture   |  12000.00 |    25 | 2026-03-12 06:17:28 |
|  6 | キーボード               | electronics |  15000.00 |    60 | 2026-03-12 06:17:28 |
|  7 | Webカメラ                | electronics |   8900.00 |    35 | 2026-03-12 06:17:28 |
|  8 | ヘッドセット             | electronics |   7200.00 |    50 | 2026-03-12 06:17:28 |
+----+--------------------------+-------------+-----------+-------+---------------------+
8 rows in set

MCPサーバー経由で作成したテーブルとデータがMySQL CLIからも確認することができました。

なお、MCPサーバーは環境変数が未設定の場合、独自にインスタンスを自動プロビジョニングします。
そのため、前述のcurlで作成したインスタンスとは別のインスタンスが使用される点に注意してください。

TiDB Cloudアカウントへの紐づけ

TiDB Cloud Zeroで作成したインスタンスは、TiDB Cloudアカウントに紐づけることもできます。
APIレスポンスに含まれるclaimUrlをブラウザで開くと、紐づけの画面に遷移します。

まず、どのOrganizationのどのProjectにクラスタを作成するか、クラスタ名を指定する画面が表示されます。
sr-tidb-zero-01

入力後、クラスタの作成処理が開始されます。
sr-tidb-zero-02

最後に

今回は、TiDB Cloud Zeroを使って、curlだけでMySQL互換データベースを作成し、MCPサーバー連携まで試してみました。
サインアップ不要で即座にデータベースが使えるため、ちょっとした検証などで手軽に使えて便利だと感じました。

どなたかの参考になると幸いです。

この記事をシェアする

FacebookHatena blogX

関連記事