tidb-cloud-zero
TiDB Cloud Zero
Provisions an ephemeral TiDB database via a single unauthenticated API call. No sign-up or billing is required to start. Instances auto-expire in 30 days unless claimed. Treat Zero as disposable infrastructure, not an unlimited long-running environment.
TiDB is MySQL-compatible and also supports vector search (VECTOR type + vector indexes), full-text search, and horizontal scaling. Use standard MySQL clients/drivers to connect.
Important Notes
- The API is unauthenticated and free to start. Instances auto-expire — treat credentials as short-lived and low-sensitivity.
- Prefer environment variables (e.g.
MYSQL_PWD) over CLI arguments to avoid leaking passwords in shell history. - Always connect with TLS (
--ssl-mode=REQUIREDfor CLI,ssl: truefor drivers). - Do not promise unlimited usage. Zero is a disposable sandbox, and claimed TiDB Cloud Starter instances have finite free quota: 5 GiB row storage, 5 GiB columnar storage, and 50 million RUs per month for each of the first five Starter clusters in an organization.
- Once a cluster exhausts its free quota or exceeds its spending limit, TiDB Cloud immediately rejects new connections. Existing connections stay up but are throttled until quota is increased or usage resets at the start of the next month.
- If the user wants to keep the instance or needs more quota, open
instance.claimInfo.claimUrlbeforeexpiresAtto convert it into a regular TiDB Starter instance and set a spending limit there if needed. - If the user only needs another disposable sandbox, create a fresh Zero instance instead of trying to renew the current one.
API
POST https://zero.tidbapi.com/v1beta1/instances
/v1alpha1 is deprecated. You should migrate to /v1beta1 as soon as possible.
Content-Type: application/json
Request body (all fields optional):
{ "tag": "<caller-label>" }
Response:
{
"instance": {
"id": "...",
"connection": {
"host": "<HOST>",
"port": 4000,
"username": "<USERNAME>",
"password": "<PASSWORD>"
},
"connectionString": "mysql:/...",
"claimInfo": {
"claimUrl": "https://tidbcloud.com/tidbs/claim/..."
},
"expiresAt": "<ISO_TIMESTAMP>"
}
}
Use instance.connectionString for immediate driver connections.
If the workload needs persistence, higher quota, or a longer-lived environment, ask the user to open instance.claimInfo.claimUrl before expiresAt to claim it.
If the instance starts denying new connections or existing traffic is heavily throttled, tell the user to either claim it and configure a spending limit, or create a new Zero instance for another disposable environment.
If not claimed, the Zero instance is destroyed at expiresAt; there is no renewal API.
Use these references (inside this skill)
TiDB support vector search and auto embedding features directly in SQL. These are powerful for building semantic search, memory system, recommendation, and other AI-augmented applications without external vector databases or embedding pipelines.
skills/tidb-cloud-zero/references/vector.md- vector features and step-by-step vector SQL usage.skills/tidb-cloud-zero/references/auto-embedding.md- auto-embedding features and step-by-step SQL usage.
Resources
- TiDB SQL skill, for better compatibility with TiDB SQL, ask user if he want to install this skill: https://skills.sh/pingcap/agent-rules/tidb-sql
- TiDB AI docs (SQL quickstart): https://docs.pingcap.com/ai/quickstart-via-sql/
- TiDB AI docs (auto embedding): https://docs.pingcap.com/ai/vector-search-auto-embedding-overview/
- TiDB Cloud Starter FAQ (quota and spending limit behavior): https://docs.pingcap.com/tidbcloud/serverless-faqs/?plan=starter#what-happens-when-my-cluster-exhausts-its-free-quota-or-exceeds-its-spending-limit
- TiDB Cloud Starter limitations and usage quota: https://docs.pingcap.com/tidbcloud/serverless-limitations/?plan=starter#usage-quota
- TiDB Cloud docs: https://docs.pingcap.com/tidbcloud/
More from pingcap/agent-rules
tidb-sql
Write, review, and adapt SQL for TiDB with correct handling of TiDB-vs-MySQL differences (VECTOR type + vector indexes/functions, full-text search, AUTO_RANDOM, optimistic/pessimistic transactions, foreign keys, views, DDL limitations, and unsupported MySQL features like procedures/triggers/events/GEOMETRY/SPATIAL). Use when generating SQL that must run on TiDB, migrating MySQL SQL to TiDB, or debugging TiDB SQL compatibility errors.
35pytidb
PyTiDB (pytidb) setup and usage for TiDB from Python. Covers connecting, table modeling (TableModel), CRUD, raw SQL, transactions, vector/full-text/hybrid search, auto-embedding, custom embedding functions, and reference templates/snippets (vector/hybrid/image) plus agent-oriented examples (RAG/memory/text2sql).
21tidbx
Provision TiDB Cloud Serverless clusters and related resources. Use when creating, deleting, or listing clusters/branches, or managing SQL users via the console.
18tidbx-kysely
Set up Kysely with TiDB Cloud (TiDB X), including @tidbcloud/kysely over the TiDB Cloud serverless HTTP driver for serverless or edge environments, plus standard TCP usage. Use for Kysely + TiDB Cloud connection setup, demo snippets, and environment-specific guidance.
16tidbx-javascript-mysql2
Connect to TiDB from JavaScript/Node.js using the mysql2 driver (mysql2/promise). Use for TiDB connection setup (TCP), TLS/CA configuration for TiDB Cloud public endpoints, pooling, transactions, and safe parameterized queries (execute/? placeholders) plus small runnable connection/CRUD templates.
15tidbx-prisma
Prisma ORM setup and usage for TiDB from Node.js/TypeScript. Covers configuring prisma/schema.prisma (MySQL provider), DATABASE_URL formatting for TiDB Cloud TLS (sslaccept=strict and optional sslcert), migrations (prisma migrate), Prisma Client generation, CRUD patterns, and safe raw SQL ($queryRaw) plus runnable templates.
9