A Database Server With API and MCP You Can Point an AI Agent At, With Ball-by-Ball Cricket Behind It.
Published: August 9, 2026
Live now on TigZig, a database server with API / MCP you can point an AI agent at, with cricket ball-by-ball + match-master data behind it. Updated daily. From 2002 to Aug'26. About 1.36 million ODI deliveries and 786K T20 deliveries across roughly 6,000 matches, and the match table goes wider still at about 6,900 matches because it carries Tests as well.
The API / MCP exposes read-only SQL over two engines, Postgres for ODI and DuckDB for T20.
It is free and there is no sign-up, auth or key.
The pipeline is new and in live testing, so treat the data as provisional for now .. if you find any issue, drop a note on the Feedback button on tigzig.com. The data is sourced from cricsheet.org.
Add it to Claude, ChatGPT or Cursor as a connector, or have them call the REST endpoint directly.
Docs
- Humans: tigzig.com/apis/database
- AI: db-mcp.tigzig.com/v1/openapi.json
- MCP endpoint, if you are adding it as a connector: db-mcp.tigzig.com/mcp
A few things under the hood
Two engines, same schema. ODI sits on Postgres and T20 sits on DuckDB, same column names. DuckDB is running on my own server and it is fairly fast. Postgres is on a Supabase free tier for now, which is the experimental half of this, and I am watching how it gets used and what the latency and the error rows look like. Depending on that I will optimise it where it sits or move it to the self-hosted Postgres I already run.
Putting SQL on the open internet is easy to build and as easy to get wrong. Read-only at the database level, timeouts, row caps, a ceiling on query complexity, protection against SQL injection and CPU exhaustion attacks, blocked system catalogs ...and then testing all of it.
Everything here is public, so the limits are per IP, because that is the only handle there is, and I would ask people to stay polite to it.
The errors are like additional documentation...get a column wrong and the response hands back the real tables, the columns, the join key and a working call.
What the ball-by-ball data actually gives you
The T20 data starts on the first men's T20 international ever played, 17 Feb 2005, Australia v New Zealand. It's the complete history of the format, every delivery. The ODI side goes back to 2002.
Ball-by-ball is a very granular level...one-row-per-delivery - over-by-over chase pressure, who bowled to which batter, dot-ball sequences, phase-wise economy.
The ball table has no winner, venue or competition - the match table does. One join on match_id, and you have link to final scorecard and tournament and player details too.