Databases & Backend

MCP Development: Gemini CLI + AWS EKS Guide

Google's Gemini CLI promises smooth MCP dev on AWS EKS. But after 20 years watching Valley smoke, I smell AWS meter running. Here's the no-fluff path.

Terminal screenshot of Gemini CLI connecting to Python MCP server on AWS EKS

Key Takeaways

  • Stdio transport keeps MCP dev dead simple — start here.
  • AWS EKS automates Kubernetes pain, but watch the bills.
  • Python + FASTMCP = minimal servers; scale via HTTP later.

Gemini CLI for MCP dev? Overhyped already.

I’ve chased Silicon Valley’s shiny objects for two decades now — from Docker’s container revolution to Kubernetes’ cluster chaos — and this MCP development with Gemini CLI and Amazon AWS EKS combo feels eerily familiar. Python MCP servers via stdio transport on a managed Kubernetes playground? Sounds lean. But dig in: Google’s flogging its LLM CLI while AWS pockets the EKS bills. Who’s actually making money here? Hint: not the solo dev tweaking pyenv versions at 2 a.m.

Look, Python’s dominated AI tooling forever. Rapid prototyping, endless libs — it’s why you’re here. But version hell? pyenv saves your bacon.

admin@ip-172-31-70-211:~/gemini-cli-aws/mcp-stdio-python-aws$ python --version
Python 3.13.12

That’s your baseline. Clean, consistent. No excuses.

Why Python for MCP Servers — Really?

But here’s the thing — or the cynical vet’s unique insight: this stdio MCP push echoes 2015’s Docker Compose craze. Back then, everyone swore local simplicity would conquer prod. Nope. It birthed Kubernetes bloat, and AWS EKS became the tollbooth. Prediction? MCP’s stdio transport shines for toy projects, but scale to real AI apps — HTTP over EKS fleets — and you’re feeding Amazon’s empire. Google gets LLM lock-in; you get yamlfiles. History rhymes, folks.

EKS itself? Amazon’s pitch is gold.

Amazon Elastic Kubernetes Service (EKS) is a fully managed service from Amazon Web Services (AWS) that makes it easy to run Kubernetes on AWS without needing to install, operate, or maintain your own Kubernetes control plane. It automates cluster management, security, and scaling, supporting applications on both Amazon EC2 and AWS Fargate.

Easy? If “easy” means handing over your credit card. Still, for local dev mimicking prod — smart move. No homebrew K8s nightmares.

Can Gemini CLI Cut the Dev Drudgery?

Install it. Simple.

npm install -g @google/gemini-cli
gemini

Auth with Google — boom, you’re in. But Node versions? nvm or bust. Inconsistent envs kill momentum faster than a bad pitch deck.

Shift to the repo: clone https://github.com/xbill9/gemini-cli-aws. Run init.sh. It sniffs your shell, sets vars like PROJECT_ID. Session dies? set_env.sh revives it. Practical. No unicorn promises.

Now, stdio transport — the gateway drug. Both client (Gemini CLI) and server (Python MCP) cozy up locally. FASTMCP lib abstracts it. Minimal server? Hello World style.

Cd to mcp-stdio-python-aws. Tweak, test. Gemini CLI pings it — connection gold. Extend with tools. Python code stays pure, no cruft.

One line. Thrilling? No. Functional? Yes.

Is AWS EKS Overkill for MCP Hello Worlds?

Switch gears: HTTP transport. Same code, different pipe.

mcp.run(
    transport="http",
    host="0.0.0.0",
    port=port,
)

Local or remote — doesn’t care. Cd mcp-https-python-eks. make release. Validate. EKS shines here: spin clusters sans ops sweat. But local-first? Why pay for Fargate fireworks on a laptop sim?

Step-by-step, incremental. That’s the win. Setup env vars. Gemini CLI humming. Minimal server validates. Add tools via CLI nudges — it’s iterative magic, minus the sales slideware.

Skeptical aside: Gemini’s “Code Assist Standard” upgrade nag? Classic freemium trap. Stick to free tier; prod’s where they nickel-and-dime.

Deep dive on pyenv woes. Python 3.13 mainstream — great. But cross-platform? Chaos without it. EKS sidesteps by containerizing everything. Your local AWS sim? EC2 instances or Fargate pods, scaled or idled.

Tools abstraction? MCP libs nail it. Stdio for dev speed. HTTP for distrib. No rewrite. Smart engineering — rare in AI land.

Wander a bit: remember TensorFlow’s early days? Python wrappers on C++ beasts. MCP feels similar — protocol over LLM plumbing. But Google’s CLI? It’s the shiny IDE bait.

Why Does This Matter for AI Devs?

Devs crave speed. Gemini CLI delivers real-time file chats, MCP integration. @path/to/file prompts — editor in terminal. No VS Code bloat if you’re CLI purist.

But cynicism check: AWS EKS lock-in. Alternatives like k3s exist. Why EKS? Familiarity, sure. Managed bliss, yeah. Bill shock? Inevitable.

Build it yourself. Clone, init, python –version, gemini auth. Stdio server up. HTTP next. Tools pile on. EKS deploys if you dare.

Paragraph breather. Solid.

PR spin callout: “Rapid development”? Python’s gift, not Gemini’s. CLI’s just the messenger. FASTMCP? Credit there — stdio/http toggle without tears.

Scale prediction revisited. Indie hackers love stdio. Enterprises? EKS HTTP swarms, billed per node-hour. AWS wins big. Google gets data. You? Resume line.

Tinker time. Grab the repo. Skip npm drama with nvm. Auth once. Build.

Hands-On: Zero to MCP Server

Detailed now. Home dir: git clone gemini-cli-aws. source init.sh. Python 3.13 via pyenv. Gemini CLI global.

MCP stdio: cd mcp-stdio-python-aws. python server.py (or whatever minimal). gemini –mcp-stdio. Ping. Works.

Extend: @add-tool in CLI. Python appends. Reload. Loop.

HTTP variant: cd mcp-https-python-eks. make release. curl test or gemini remote connect.

EKS twist: eksctl create cluster (docs linked). Deploy yaml. kubectl port-forward. Local feels prod.

Pitfalls? Auth timeouts — set_env.sh. Node mismatches — nvm use 20.x. Python deps — pip freeze.

Real talk: this ain’t revolutionary. It’s glue — Gemini LLM + MCP protocol + Python + EKS stack. Incremental value, though.


🧬 Related Insights

Frequently Asked Questions

What is MCP development with Gemini CLI?

MCP (Model Context Protocol) lets Gemini CLI talk to custom Python servers via stdio or HTTP. Build AI tools locally, extend to EKS.

How to set up Gemini CLI on AWS EKS for MCP?

npm install -g @google/gemini-cli, auth with Google, clone gemini-cli-aws repo, source init.sh, run make release in sample dirs.

Does Python 3.13 work best for MCP servers?

Yes — mainstream version. Use pyenv for consistency across local and EKS pods.

Aisha Patel
Written by

Former ML engineer turned writer. Covers computer vision and robotics with a practitioner perspective.

Frequently asked questions

What is MCP development with Gemini CLI?
MCP (Model Context Protocol) lets Gemini CLI talk to custom Python servers via stdio or HTTP. Build AI tools locally, extend to EKS.
How to set up Gemini CLI on AWS EKS for MCP?
npm install -g @google/gemini-cli, auth with Google, clone gemini-cli-aws repo, source init.sh, run make release in sample dirs.
Does Python 3.13 work best for MCP servers?
Yes — mainstream version. Use pyenv for consistency across local and EKS pods.

Worth sharing?

Get the best Developer Tools stories of the week in your inbox — no noise, no spam.

Originally reported by dev.to

Stay in the loop

The week's most important stories from DevTools Feed, delivered once a week.