Introducing the CData CLI, your terminal now connected to an AI that knows your data.
The command line never went away. It's where developers live, where automation runs, and increasingly, where AI coding agents do their work. CData Drivers are loved by tens of thousands of developers around the world, and they're the connectivity layer embedded inside the products of leading data-connected ISVs. CData CLI simply hands that same trusted, battle-tested driver surface to your AI.

The problem: your AI is flying blind
Point an AI coding agent at a live data source, such as Salesforce, NetSuite, Snowflake, Jira, or SAP, and watch what happens:
It hallucinates the schema. It invents table and column names that sound right but aren't. Product_Group__c? Product_Line__c? Segment__c? It will confidently try all three.
It doesn't know how the API behaves. Every SaaS API filters differently, paginates differently, and rate-limits differently. The model has no reliable mental model of any of them.
It pulls raw data and aggregates client-side. Lacking push-down, the typical pattern is "dump rows into the context window and let the model do the math," which is slow, expensive, and wrong at scale.
The data model it builds isn't stable. Ask an AI to integrate a source and it improvises a model on the spot: which entities exist, how they relate, and what they're called. Run it again and you get a different improvisation. Application to application integration or data warehouse replication in production requires data modelling. If your agents just generate ad-hoc guess, you cannot get stable output that your business can rely on.
The result is the thing everyone has learned to dread: plausible, confident, wrong.
The insight: your AI already speaks SQL
Every LLM knows SQL.
CData has spent over a decade wrapping hundreds of enterprise data sources, including APIs, SaaS apps, databases, and file stores, in a single, uniform SQL-92 relational model. Tables. Columns. JOINs. WHERE. GROUP BY. The same standard SQL for Salesforce, SAP, and Snowflake.
That means your agent doesn't have to learn anything new. It doesn't need to study a bespoke API or memorize a vendor SDK. It writes the language it already knows, and the driver translates, optimizes, and pushes the work down to the source.
CData CLI's job is to hand that SQL surface to the agent, with the two things an agent needs to stop guessing: a way to see the schema, and a way to run against it, where what it sees is exactly what it gets.
What CData CLI gives your agent
The full terminal experience: never leave the shell
The entire lifecycle is right there at the prompt: find a driver, download it, activate it, connect, and query, all without a single trip to a download portal, an installer wizard, or a web console. The agent can stand up a brand-new data source from search to query, or you can do so in the same terminal you're already working in.
cdatacli drivers search --driver salesforce
cdatacli drivers download --artifact-id
cdatacli drivers activate Salesforce --name "YourName" --email [email protected] --trial
cdatacli connection create --driver "Salesforce" --name sf --connectionstring "..."
cdatacli query sql --connection sf --sql "SELECT ..."
Connection management (CRUD) from the terminal
Create, list, update, and delete saved connections as first-class commands. The agent provisions its own connection, the credentials stay in an encrypted local store, and OAuth happens out-of-band in the browser. Secrets never enter the model's context. (If you're entering credentials manually, do so outside an AI session.)
cdatacli connection create --driver "Salesforce" --name sf \
--connectionstring "AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH"
cdatacli connection list
Schema discovery: ground truth, every time
The agent asks the driver what's there. Tables, columns, data types, procedures, and even picklist values come back as ground truth, not a guess, not a hallucination, not last year's training data. Because the metadata is itself exposed as queryable commands, the agent can search the schema with keywords, filter to the tables it needs, and inspect only the columns that matter, instead of drowning in a full dump. It's the most navigable schema surface available, and it's what turns a 700-table source from a wall of noise into a precise lookup.
cdatacli metadata tables --connection sf --table %Opportunity%
One firm data model: the same every time
This is the quiet superpower. The agent doesn't get to invent how your data is shaped; it reads a clean, curated relational model that CData has already built and battle-tested, and that model is identical across every run, every developer, and every agent. No improvisation, no drift. Stop letting the schema be a guess, and the integration stops being a guess.
Optimized queries: compute at the data layer
Filtering, JOINs, and aggregation are pushed down to the source wherever the API allows. Your AI sees answers, not raw rows. The model's context window holds a COUNT and a top-20, not 50,000 records; it has to be reduced by hand.
cdatacli query sql --connection sf \
--sql "SELECT StageName, COUNT(*) FROM Opportunity WHERE Amount >= 100000 GROUP BY StageName"
No new language. No SDK to learn. No raw-data dump. Schema discovery in, optimized SQL out, and the agent already knew how to do all of it.
Proof, not promises
We put this to the test. We gave fresh AI agents the same real task, which was to find the large, new-business deals for a specific customer segment and a product line and varied only what we let them use.
Without schema discovery, an agent guessing column and picklist names encountered 7x more errors and nearly shipped a query built on a plausible-but-wrong value it had no way to verify.
With CData's schema discovery, the same agent looked up the ground truth, wrote a correct query on the first real attempt, and could prove its result, including catching that the "obvious" value was a decoy. The right answer was even org-specific, involving custom objects and org-specific enum values, which is something no model can know from training and only live discovery can supply.
Against most MCP-style access patterns, such as full schema dumps, no joins, and single-table queries stitched together in the model's head, the same answer costs 2x the context tokens. (This is talking about other MCPs; CData's MCP solutions are much more sophisticated, with queryable schema discovery and intelligent push-downs.)
The pattern is consistent: discovery kills hallucination, and SQL push-down kills the token bloat.
Build with AI. Ship without it.
Here's the line that matters most in an enterprise architecture review: the LLM lives at design time, not in your runtime.
Your AI coding agent helps you discover the schema, validate the query, and generate the integration right there in the terminal while you build. But what you ship is plain, deterministic code calling the CData driver library directly. No model in the request path. No inference cost or latency on every call. No nondeterminism in production. No customer data flows through an LLM. No new vendor to put in your data plane and drag through security review.
This is the distinction that sets CData CLI apart from agent-in-the-loop and MCP-at-runtime designs. Keeping an LLM in the runtime is exactly right when you're building an AI application, and CData supports that case too. But most of the enterprise and ISV integrations don't want that. They want the runtime to be zero-LLM: a battle-tested driver, running the same SQL you already validated, the same way every single time.
| At design time | At runtime |
What's running | AI agent + CData CLI | The CData driver library |
The work | Explore, discover, validate, generate | Execute clean, generated code |
The LLM | Present — doing the heavy lifting | Gone — zero dependency |
Behavior | Interactive, exploratory | Deterministic, repeatable |
You get the productivity of AI exactly where it helps, and none of the runtime risk where it doesn't.
Built for two kinds of builders
Data-connected application developers
Use AI in the terminal to discover the schema, validate the SQL, and generate working application code against the same CData driver you'll ship with. The agent does the exploring; your production code carries no dependency on it at all, exactly as described above.
IT pros and data engineers
If you've ever written a VB, PowerShell, or Python script to move, reshape, or reconcile data between systems, you know the drill: read the docs, guess the field names, handle the pagination, retry the rate limits. Now your terminal has an AI, and with CData CLI, it knows your data. You can run agents on Claude Code or other terminal-based AI tools that provide data and run automated tasks.
The shift
For years, "AI + your data" meant AI + your hallucinations about your data.
CData CLI closes that gap. Schema discovery replaces guessing. SQL replaces bespoke-API improvisation. Push-down replaces client-side brute force. And the LLM stays at design time, so what you ship is clean, deterministic driver code.
Start building with the CData CLI
CData CLI and CData Drivers give AI coding agents real-time, schema-aware access to hundreds of enterprise data sources through a single SQL interface, with built-in push-down optimization and zero runtime LLM dependency. Download the free CData CLI and start a free, 30-day trial of CData Drivers today.
Connect once. Query everything.
CData Drivers give you standards-based access to hundreds of data sources via ODBC, JDBC, ADO.NET, Python, and more. One consistent interface, any tool, any source.
Try them now