Designing CLIs for Agents, Not Humans — Pedro Lopez, Airbyte
Airbyte built two distinct interfaces—the Multi-Client Platform (MCP) server and the Command Line Interface (CLI)—to allow AI agents to access its Context Store, a search-optimized index of data from various SaaS tools (e.g., Zendesk, Stripe). The MCP is designed for non-technical users, prioritizing ease of integration into existing agent platforms (like ChatGPT). Conversely, the CLI is built for technical users, offering a more powerful, structured interface optimized for complex, long-running tasks and leveraging Unix capabilities like pipes. Both interfaces are thin wrappers over Airbyte's core platform APIs, ensuring data consistency and scalability.
Key takeaways
-
Designing for Agents vs. Humans
CLIs must be designed with agents in mind, requiring JSON input/output and consistent Noun-Verb command structures. For agents, the structure must be dead obvious, and skills should ship with the tool to aid discovery.
-
MCP Best Practices
9:12
When building an MCP, keep the tool count small by using progressive discovery of capabilities. Furthermore, OAuth is the required authentication method, and users expect long-lived sessions, unlike traditional web applications.
-
CLI vs. MCP Use Cases
MCPs are ideal for non-technical users and quick prototyping/one-off reports. CLIs are better suited for technical users, complex workflows, and long-running tasks that benefit from Unix piping capabilities.