The Chameleon Edition – gemini-faf-mcp v2.4.0

TL;DR: gemini-faf-mcp now auto-selects its transport — stdio locally, Streamable HTTP on Cloud Run. Same binary, 12 tools, zero config. One binary that’s a local MCP server and a hosted one, decided by its environment.

One Command, Both Modes

gemini-faf-mcp reads its environment and adapts. Run it locally and it speaks stdio — the transport uvx and MCP clients expect. Set a PORT (as Google Cloud Run does) and the same binary serves modern Streamable HTTP: stateless, JSON, no SSE. No flags. No second package. No config. The server decides.

uvx gemini-faf-mcp        →  stdio   (local / MCP client)
PORT=8080  →  python app  →  Streamable HTTP  (Cloud Run)

Twelve tools either way. Identical behavior. The only thing that changes is the door it answers.

Why a Chameleon

A chameleon doesn’t change what it is — it changes how it meets its surroundings. Same here: one codebase, 12 tools, one main() shared by the console script and the container. What shifts is the transport, chosen by where it runs.

Under the hood, the entry point passes the transport explicitly (transport="stdio" when local) instead of leaning on a framework default. The payoff is real: a strict MCP client that used to stall mid-handshake now connects cleanly — initialize, tools/list, tools/call, every time.

Drop It Into Google Antigravity

Google’s agentic IDE, Antigravity, reads one MCP config file — and it accepts both modes.

Local (stdio) — in ~/.gemini/config/mcp_config.json:

{
  "mcpServers": {
    "gemini-faf": { "command": "uvx", "args": ["gemini-faf-mcp"] }
  }
}

Hosted (Streamable HTTP) — same file, the running endpoint:

{
  "mcpServers": {
    "gemini-faf": { "serverUrl": "https://mcpaas.live/gemini/mcp/v1" }
  }
}

One gotcha: Antigravity expects serverUrl — not url, not httpUrl. The same config works in the Gemini CLI, which converges into the Antigravity CLI.

Try It

uvx gemini-faf-mcp

Or point any MCP client at the hosted endpoint — tools execute on Google Cloud Run, fronted at the edge:

https://mcpaas.live/gemini/mcp/v1

The Numbers

  • v2.4.0 — Released June 7, 2026
  • 12 tools — identical across both transports
  • 221/221 — tests passing (FastMCP 3.4)
  • 2 transports, 1 binary — stdio + Streamable HTTP
  • Google Cloud Run — tools execute hosted (us-east1)
  • PyPI + MCP Registry + Gemini Extensions — all on 2.4.0

Originally published on faf.one/blog/chameleon-edition

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

GenAI Validation Playbook: How to Test Large Language Models Before Enterprise Rollout

Next Post

Onto Innovation’s 4D Technology 4Di InSpec SR System for Shop-floor Surface Roughness

Related Posts