I gave an agent one instruction: load the public NOAA GHCN-Daily weather dataset and show me how temperatures across the EU have changed. It signed itself up to a cloud data warehouse, pulled the last ten years of readings straight off S3, wrote a Python pipeline, ran it, fixed its own bug, and drew me a chart. I never typed an email or a credit card.
The warehouse was MotherDuck, which I work on, so weigh the product parts accordingly. The bit I actually want to talk about is more general. Agents can now provision real infrastructure by themselves, and that quietly breaks something.
What it breaks is your ability to say what happened. Codex, Claude Code, the web chats, they all stream a wall of tool calls at you. Somewhere in there a database got created, a pipeline ran, a query scanned 40GB. Good luck reading that back an hour later.
So this post has two halves. First, why free tiers are going agent-first, with the curl commands to prove it. Then how I replayed everything my agent did, using our experiment at motherduck.com/try.
Wait, agents can spawn services without me paying?
The free tier has always been there for humans, but there was a transaction attached: give me your email, I'll give you a sandbox. That email was the whole point. It's how a SaaS company turns a trial into a sales pipeline.
With agents, that transaction falls apart. The agent is the interface now, and it doesn't have an email. It doesn't want to run an OAuth flow, click a verification link, or read your onboarding modal. So a bunch of companies did the obvious thing: drop the signup, hand out a token, and let a human claim the account later if they like what got built.
A few you can try right now:
A transactional DB for your app, Postgres, with Neon
Copy code
# Create a transactional DB for your app, Postgrescurl-X POST https://neon.new/api/v1/database \
-H'Content-Type: application/json' \
-d'{"ref":"my-app"}'
No auth. You get a connection string back. It expires in 72 hours unless you claim it. Same machinery sits behind Replit, v0 and Netlify DB, where a database just appears and nobody ever said the word "Postgres" out loud.
# Create an email inbox for your agentcurl-X POST https://api.agentmail.to/v0/agent/sign-up \
-H'Content-Type: application/json' \
-d'{"human_email":"me@example.com","username":"my-agent"}'
Also no auth. You get back an organization_id, an inbox_id (my-agent@agentmail.to) and an api_key, and from there the agent can send, receive, thread and reply from its own address.
This one keeps a human closer to the loop than the other two. I ran that curl against my own address and the 6-digit code showed up in my inbox right away. Until the agent posts the code back to /v0/agent/verify, the new inbox can only send mail to that same human. So the agent gets a real address in one call, but it can only talk to the person who owns it until they say yes once.
An analytics database with MotherDuck
Which is the rest of this post.
INFO: Payments are heading the same way
MPP is an open standard for machine-to-machine payments over HTTP 402, co-developed by Anthropic, with SDKs from Stripe and Tempo. Mental model: your agent has a wallet, you top it up, and it buys and tears down whatever services it needs without asking you to fill in a card form. The SDKs are already shipping.
One POST and you have a warehouse to answer questions
Copy code
# Create a MotherDuck account for your agentcurl-X POST https://new.motherduck.com
There's no body and no auth header. You get back:
motherduck_token to connect
claim_org_url for the human, later
region, the account's region
how_to_use_motherduck, a small guide for your agent on how to use MotherDuck
The endpoint creates an anonymous org on our Lite plan, owned by a service account until someone claims it. Same limits as any Lite org, and no credit card involved. From there the agent can:
ingest data
run queries on DuckDB in the cloud
store data in cloud storage and query it over the network
build pipelines with Flights (Python)
build interactive apps with Dives (React on top of live queries)
When you want to keep it, open claim_org_url, sign in, and the org is yours with everything the agent built still sitting in it.
One caveat worth knowing up front: a claimed org can't be merged into an org you already have. So if you're already a MotherDuck customer, treat this as a scratch org.
Fine, but what did it actually do?
That's the signup half solved. The visibility problem is still open, and that's what we built motherduck.com/try for.
Fair warning: /try is an experiment rather than a supported product surface. We built it because watching an agent work on MotherDuck explains the platform better than any feature page, and there was nowhere to do that.
It runs the same agent loop, except every service it touches shows up as something you can click. No signup. Pick ChatGPT or Claude as the model, then start from one of the example prompts, point it at any public S3/https parquet or CSV URL, or upload your own csv/parquet file.
You don't set anything up for this. No API key, no agent of your own to wire up, no MCP config. That's also why each session comes with a cap on messages: /try is somewhere to explore, not somewhere to do your Tuesday work. When you want the day-to-day version, point your own agent at the MotherDuck MCP server instead and you get the same tools inside whatever client you already use.
Here's the prompt I gave it:
One prompt, one Flight and a Dive
Eyes on dataLoad and inspect the public NOAA GHCN-Daily weather dataset at s3://noaa-ghcn-pds/parquet/by_year/, figure out what's in it, then Questionshow how temperatures across the EU have evolved over the years. IngestionPackage the ingest as a MotherDuck Flight and Logsrun it once on-demand (show the run + logs), then Visualizationbuild a Dive to visualize the long-term trend.
Four things worth watching in that run, and all four are clickable.
1. It figures out the schema itself. GHCN-Daily is not a friendly dataset. It's narrow, one row per station per element per day, with the measurement type hidden in a column instead of the schema.
2. It writes a Flight. Once it decides this needs a real ingest and not a one-off query, it packages the Python.
3. It runs the Flight and you get the logs. Both runs are listed, the failed one and the green one, with output you can read. You can't get that out of a chat transcript.
4. It builds a Dive. React on live queries, so the chart is hitting the warehouse rather than a CSV it pasted into memory.
And the full live demo end-to-end:
NOTE: It fails first, then fixes itself
The first Flight run in that video errors out on the glob pattern. The agent reads the failure, edits the Flight, and reruns it green, without me typing anything. That loop is the point. A model that only proposes code leaves you pasting tracebacks back into a chat window. Here the agent owns the whole cycle, so what you inspect at the end is a pipeline that genuinely ran.
Hand the run to someone else
Everything above is you watching your own agent. The bit I care about more is that you can share a session and let someone else replay it.
They open a link and step through the same run: the exploration queries, the Flight, the logs, the Dive. No screen recording, and nobody sits waiting for the agent to redo the work. An agent run becomes something you can review.
Why you should bother looking
The agent will be confidently wrong about a join or a filter at some point, and reading the generated SQL is the only way you catch it. On this run the decision worth checking was statistical rather than mechanical.
Put the logs and the Dive side by side. The logs report Belgium going from 8.35°C in 2015 to 11.92°C in 2024, so +3.57. The Dive puts Belgium's trend at +2.68 per decade. Those disagree because the agent declined to report the raw endpoint difference and fitted a trend instead. That's the right call, and its own KPI cards show why. 2015 is the coldest year in the window at 8.3°C and 2022 the warmest at 12.2°C, so anchoring on 2015 makes every country look like it is boiling.
The bar chart is honest in the same way. Hungary and Finland sit near zero, which is what a ten-year window looks like when the signal is smaller than the noise. A worse pipeline would have quietly smoothed those into the story.
Ten years is a short window for climate claims either way, and this post is really about the plumbing. The point is that I could check the arithmetic in about a minute, by opening the Flight and reading the logs next to the chart.
There's a more selfish reason too. Watching Flights and Dives get created is how you find out what the platform can do :)
Try it
motherduck.com/try, no email needed. If you like what your agent built, claim the org and keep going.
In the meantime, take care of your agents and... your ducks of course.
Maxime Beauchemin, creator of Airflow and Superset, shares how he uses AI agents for data engineering: orchestrating agents on a shared canvas with Agor, context layers and semantics, Okta for Agents security, and automating CEO work with AI assistants.
Since OpenAI slashed the price of GPT 5.6 Luna by 80% this week, low latency AI-powered answers are finally feasible for less than half a penny per answer, AI and DB costs included.
For data questions, GPT 5.6 Luna is intelligence too cheap to meter.
Well documented context, rigorous evals, and a fast analytical engine are now the determining factors.