Data access infrastructure over the database you already run

Your data[base], exposed as APIs and MCP tools — with zero code.

Identities included, scoped to your agents.

Point Minimal at Postgres, MySQL, ClickHouse or a CSV — +12 more. The schema becomes endpoints. Endpoints become an MCP server. MCP becomes identity-scoped tools. Tools become agents that act on it.

Opens the live product — sign up and test every claim on this page against your own data.

One table, one team, start to finish

nyc_911_calls, from row to agent.

A public dataset of New York City dispatch times, connected exactly as it is. Then five agents on that one table, running in order — each built the same way: a name, the job written in English, one tool granted, an identity attached.

Nothing copied, nothing migrated, no schema rewritten to suit us. The endpoints are there because the table is.

The Auto API view: nyc_911_calls with four endpoints, a live GET response and one MCP tool exposed
Four endpoints, five seconds after connecting. The GET is one MCP tool.

Nobody wrote this endpoint. Click run and feel that for yourself.

A name, the job in English, the one tool it may call, and the schedule. This one summarises response time by agency every Monday at 00:00 UTC and flags any agency more than 10% off its own last week.

The New agent form in Agent Studio: name, instructions in English, model, one granted tool named nyc_911_calls · query, a cron trigger set to 0 0 0 * 1, and an identity block The New agent form in Agent Studio: name, instructions in English, model, one granted tool named nyc_911_calls · query, a cron trigger set to 0 0 0 * 1, and an identity block
One tool granted — nyc_911_calls · query, a GET. The rest of the MCP server is out of reach, and the agent has no write to find. The identity is what turns that from a setting into a rule.

911_Gate, 911_Fetch, 911_Split, 911_Compare, 911_Brief — a team rather than one agent, sequential, so each starts on what the last returned.

The Runs view: NYC 911 Team, marked sequential and running, with its five runs listed underneath — 911_Gate, 911_Fetch, 911_Split and 911_Compare done, 911_Brief still running The Runs view: NYC 911 Team, marked sequential and running, with its five runs listed underneath — 911_Gate, 911_Fetch, 911_Split and 911_Compare done, 911_Brief still running
One workflow execution, five runs, 21k tokens. Filter the record by what started it: manual, cron, webhook, data, chain or workflow — or by failures only.

911_Brief’s output, kept on its run record and readable formatted or raw.

The 911_Brief agent open on its History tab, showing a formatted cross-agency response-time brief with per-agency incident counts and weighted averages The 911_Brief agent open on its History tab, showing a formatted cross-agency response-time brief with per-agency incident counts and weighted averages
36.3M incidents across four agencies. FDNY is fastest to dispatch and fastest end-to-end at 542.8s, and slowest on call-taker processing at 3.20s; NYPD (Non-CIP) arrives at 3,166.8s. The brief also states what it cannot show — no date range came back with the data, and pickup times use a different column per agency, so they are left out of the ranking.

The team’s result, delivered on the channel you registered.

An email titled NYC 911 Team finished, carrying the brief and a button reading Open in Studio An email titled NYC 911 Team finished, carrying the brief and a button reading Open in Studio
Email here. Slack, Teams, Google Chat, Discord, Mattermost, PagerDuty, Opsgenie and your own webhook are the same setting.

The whole path

Five steps. None of them are code.

01

Your Data

CSV, Parquet, XLS, JSON or NDJSON, imported as tables the moment they land. Or connect Postgres, MySQL, ClickHouse, MariaDB and 11 more — 15 databases, cloud or local, every table, view and materialized view recognized and ready to expose.

02

APIs

CRUD APIs — create, read, update, delete — ready in five seconds. Zero code, zero effort. For business-logic-rich APIs, describe them in chat and have them done in under five minutes — just English. Or write the Custom API yourself: code is an option here, not a requirement.

03

MCP

The standard way an AI assistant reaches a tool it is allowed to use — and you get your own MCP server out of the box. Choose exactly which tables and APIs to expose, then connect Claude, ChatGPT or Codex with OAuth. The AI sees only what you expose — nothing else on the server.

04

Identity

Roles and identities for your MCP server, defined in the UI. Assign what they can do and what they can’t — visually, with no policy files to write. Every action is permissioned.

05

Agents

Create agents to get any job done: answer your customers from a knowledge bank, run periodic tasks for you, and alert you the moment a number moves out of the range you set.

When the schema changes. Add a column on Monday and the endpoints follow it. They are generated from the schema itself, not from a copy taken the day you connected — re-read the source and the new column reaches the API, the MCP tool and everything built on them. Nothing about the old shape is removed by the addition, so existing consumers keep working.

What’s never lost. Every call through APIs, MCP, agents and Custom API is logged, with traces exportable to any OpenTelemetry collector on self-hosted — Jaeger included. Every change to an org, project, Custom API, module or space is versioned, so an admin can roll back a dangerous one with a click. Built for endurance.

What you can’t do. Authentication for your own users, third-party integrations, and logic that has nothing to do with your database. That work stays yours to build, manage and maintain.

Works with what you already run.

Minimal is data access infrastructure over a database you already run.
Nothing to dump, nothing to migrate — point it at your database and keep working.

ClickHouse
Postgres
MySQL
MariaDB
Aurora MySQL
Percona
TimescaleDB
Vitess
TiDB
CockroachDB
Citus
YugabyteDB
SingleStore
StarRocks
RisingWave
CSV Parquet XLS JSON NDJSON

AI tools that connect to your MCP server

Claude
Cursor
VS Code
Codex
Windsurf
Cline
Gemini
OpenAI

All eight tested against a live server. MCP is an open standard — anything that speaks it connects over OAuth.

Models your agents run on

Claude 4.5
GPT-4.1 & 4o
Gemini 2.5
DeepSeek V4
Qwen3
Kimi K2
MiniMax M3
MiMo V2.5

Anthropic, OpenAI and Google built in; the open models — GLM-5 and HY3 among them — arrive through OpenCode GO.

Pick what you want at the end.

All four products start the same way: point Minimal at the database you already run, and it generates the APIs, MCP tools and permissions underneath. They differ in what you get at the end.

The job runs without you now.

For the job someone runs by hand on a schedule — check the new rows, chase the failures, file the summary. Fill in a form — name, schedule, instructions — and it runs itself in under 30 minutes, dropped over the infrastructure you already run. Nothing in your stack changes.

  • Runs under an Identity you scope: permission roles decide what it may touch.
  • Every API, MCP tool, identity and agent on one access map.
  • Every job it runs, audit-logged in full.
Open Agent Studio →
The Access Map in Agent Studio: APIs, MCP tools, AI client identities and automations as four connected columns, each card traceable across the chain

Publishing or selling a dataset is a different job — that’s API Bay, our data marketplace: a file becomes hosted, versioned APIs with a price on access and one key across the bay.

Proof

We run on it ourselves.

Minimal carries Dialer, our own production app. These are its numbers.

3.9MDownloads
~1MAnalytical events a day
$15Monthly infrastructure
<1msAverage API latency

Latency is measured server-side, which is the only part any vendor controls.

An ostrich standing face-on, photographed in black and white

Grants — Ostrich · Sparrow · Pelican

$30M of Minimal, granted every year.

Whatever you’re building on your data — the agent, the app, the dashboard, the API — the year it takes is on us.

Ninety teams a year. $333,333 in credit, the full suite on your own hardware, twelve months, no invoice at the end.

Sparrow puts $1M of cloud credit behind students and teams under five. Pelican gives the licence to non-profits that qualify, with no cap.

Point it at a database and watch.

Nothing to migrate, nothing to install first. Bring a connection string, or start on the public NYC 911 dataset we host.

Free tier on every product, no card. Hosted, or on your own hardware.

Or taste it first: the NYC 911 endpoint Minimal generated, called from this page. Live rows, no sign-up.