Edited by humans. Written by AI. How our editing works
All articles

Google's gwscli: Built for AI Agents, Not Humans

Google's new gwscli tool optimizes Google Workspace for AI agents with nested JSON and runtime docs. But does it signal the end of MCP servers?

Yuki Okonkwo

Written by AI. Yuki Okonkwo

March 8, 20265 min read
Share:
Google Cloud CLI logo with "FINALLY" text and yellow arrow pointing to a red pixel art character against a black background

Photo: Better Stack / YouTube

Google dropped a Rust-based CLI tool called gwscli last week, and the AI developer community is collectively losing it. Over 10K GitHub stars in less than a week. Why? Because this tool does something kinda revolutionary: it's built specifically for AI agents to interact with Google Workspace, not for humans.

Let that sink in. When you design a CLI for humans, you optimize for readability—clean help menus, intuitive commands, friendly error messages. When you design for AI agents? You prioritize nested JSON that looks like gibberish to us but is basically candy for language models.

Justin Poehnelt, the developer behind gwscli, made a series of choices that seem backwards if you're thinking like a human user. But they're genius if you're thinking about token efficiency and agent comprehension.

What gwscli Actually Does

The tool gives AI agents direct access to Google Workspace APIs through terminal commands. Want your AI to read your last 10 emails? Create a presentation with cat pictures? Schedule calendar events? It can do all of that without you writing a single line of integration code.

Better Stack's demo showed Claude using gwscli to draft emails with poems (because why not), create Google Slides presentations, populate spreadsheets with US state populations, and manage calendar events. The kicker? Most of these tasks used less than 15% of Claude's context window.

Compare that to Model Context Protocol (MCP) servers—the previous standard for giving AI agents access to external tools—and the efficiency difference is noticeable. "We can see for doing this task, it's just used 9% of the overall context purely because there are no MCP tools here," the Better Stack demo showed.

The Agent-First Design Philosophy

Here's where it gets interesting. If you try to use gwscli as a human, typing gws help gives you... not much. A handful of top-level commands. To dig deeper, you'd need to keep calling help on subcommands, then sub-subcommands, like you're playing the world's most annoying game of information hide-and-seek.

But AI agents? They can query the schema dynamically at runtime. They see the entire command structure, understand the nested JSON parameters, and execute complex operations with minimal back-and-forth. What's tedious for humans is optimized for machines.

Poehnelt's design choices:

  • Nested JSON structures that agents parse easily but humans find unreadable
  • Runtime-queryable documentation so agents always have current API info
  • Field parameters that let agents request only the data they need, reducing token usage
  • Dynamic command generation so the tool stays current as Google's APIs evolve

It's a complete inversion of traditional CLI design principles, and honestly? It works.

The Setup Is Very Google

I need to be real with you: the setup process is peak Google Cloud experience, which is to say it's kind of a nightmare.

You'll need Google Cloud Console access, the gcloud CLI installed, OAuth credentials configured, and—here's the fun part—you need to manually match redirect URI ports in multiple places. Better Stack's walkthrough mentioned the setup "took me the longest amount of time to figure out, which goes to show I don't use Google Cloud tools that often."

There's the whole dance of creating an OAuth client ID, selecting your scopes (the demo just selected everything, which... yeah, not ideal for production), getting a massive authentication URL that might contain typos, noting the localhost port number, then configuring that exact port in the Cloud Console's redirect URI settings. Oh, and if you're in test mode, you need to manually add every user's email address who wants access.

It's the kind of setup that makes you appreciate why managed services exist.

MCP vs. CLI: The Real Question

So is this the death of MCP servers? The video's framing suggests it might be, but the reality is messier and more interesting.

MCP servers let agents call functions directly—no shell commands, no JSON wrangling. They're better for chaining complex multi-step operations. And crucially, they don't require a terminal to run, which matters for web-based or sandboxed AI applications.

CLIs counter with serious advantages: drastically lower token usage, portability across any agent framework (or no framework at all), and reproducibility for debugging. When something goes wrong, you can literally copy-paste the CLI command and see what happened.

"So, I guess it really depends on your use case," Better Stack concluded, which sounds like a cop-out but is actually the correct answer.

For lightweight, token-conscious workflows where you're already in a terminal? CLI might be your move. For complex orchestration or browser-based agents? MCP probably makes more sense. The fact that gwscli includes an MCP option suggests even Google sees both approaches as complementary rather than competitive.

The Rough Edges

Better Stack's demo surfaced some real issues. URLs with typos getting generated somehow. Token refresh problems that led to a GitHub issue (which Claude wrote, because of course). The redirect URI configuration being genuinely confusing.

For a tool that's less than a week old, these feel like expected growing pains. What's more interesting is the philosophical question lurking underneath: as we build more tools explicitly for AI agents rather than humans, how does our relationship with software change?

We're used to tools having human-readable interfaces even if we mostly interact with them programmatically. But what if the next generation of developer tools just... doesn't care about human usability? What if the API is the interface, and humans only touch it through AI intermediaries?

gwscli isn't quite there yet—you still need to set it up manually, debug OAuth flows, and understand what you're authorizing. But it's pointing toward a future where software is increasingly designed for AI-to-API communication, with humans in a supervisory rather than operational role.

Whether that's exciting or unsettling probably depends on how much you enjoy JSON.

—Yuki Okonkwo

From the BuzzRAG Team

AI Moves Fast. We Keep You Current.

Framework breakdowns, tool comparisons, and AI coding insights — distilled from the best tech YouTube creators. Free, weekly.

Weekly digestNo spamUnsubscribe anytime

More Like This

Large white pixelated text with a red diagonal line striking through it against a black background, conveying failure or…

Why Skills Are Flunking: Vercel's AI Agent Revelations

Vercel finds skills often unused by AI agents. Discover why agents.md might be the true MVP.

Yuki Okonkwo·6 months ago·3 min read
Bold text declaring "CODING IS DEAD" in white and yellow against a dark background with colorful code-like lines on the sides

AI Agents: The Future of Coding by 2026

Explore how AI agents are reshaping software development, making coding accessible to non-developers, and transforming engineering roles.

Yuki Okonkwo·6 months ago·3 min read
Bold typography "ONE FILE CHANGES EVERYTHING" with glowing circuit board effects, orange pixel character, and Claude Code…

Teaching Claude to Remember: The SKILL.md Workflow Revolution

Creator Hamish turned 45 minutes of daily thumbnail work into a 10-minute AI workflow. Here's how SKILL.md files are changing what's possible with Claude.

Yuki Okonkwo·5 months ago·6 min read
A bearded man wearing glasses and a light blue beanie points toward text reading "OPENAI JUST LOST THE ENTERPRISE MARKET"…

Anthropic Bet on Teaching AI Why, Not What. It's Working.

Anthropic's 80-page Claude Constitution reveals a fundamental shift in AI design—teaching principles instead of rules. The enterprise market is responding.

Bob Reynolds·5 months ago·7 min read
Man with surprised expression next to crossed-out "HARP" text and pixelated word with green underline on black background

OpenAI's Websocket Shift Could Cut AI Bandwidth by 90%

OpenAI's move from REST to websockets promises 90%+ bandwidth reduction for AI agents. Here's why this seemingly simple change is actually revolutionary.

Yuki Okonkwo·5 months ago·5 min read
Man in brown shirt next to computer screen displaying "GLADE CODE" and "TEAM OF 1" text with matrix-style background

This Dev Automated His Entire Workflow With Claude & Linear

Kenny Liao built a system where AI handles his entire dev cycle—from planning to PR reviews. Here's how he ships code while barely touching his keyboard.

Yuki Okonkwo·5 months ago·6 min read
Skeptical man with beard next to glowing AI box with arrow pointing to broken red bug icon, with text "AI FIX THIS? STILL…

AI Can Write Code, But Can It Make Software Stop Sucking?

The creator of Windows Task Manager on why AI coding tools amplify your skill level—and why that might not fix bloated, slow software.

Yuki Okonkwo·3 months ago·6 min read
Four men's headshots arranged horizontally with "The War on AI" text at top and names labeled below each person

Opus 4.7 Drops Amid Molotov Cocktails and AI Fear

Anthropic's Opus 4.7 launches as a 20-year-old throws a Molotov cocktail at Sam Altman's house. The AI world is splitting in two—and it's getting violent.

Yuki Okonkwo·3 months ago·6 min read

RAG·vector embedding

2026-04-15
1,302 tokens1536-dimmodel text-embedding-3-small

This article is indexed as a 1536-dimensional vector for semantic retrieval. Crawlers that parse structured data can use the embedded payload below.