gemini-faf-mcp v2.4.0 auto-selects transport based on environment
gemini-faf-mcp v2.4.0 ships a single binary that automatically uses stdio transport when run locally and Streamable HTTP when a `PORT` environment variable is set, as on Google Cloud Run — no flags or config required.
Score breakdown
The release allows a single `gemini-faf-mcp` binary to serve both local MCP clients and cloud-hosted deployments without any configuration changes, while also resolving a handshake compatibility issue with strict MCP clients.
- 01v2.4.0 auto-selects stdio transport locally and Streamable HTTP when a `PORT` env var is set (e.g., on Google Cloud Run) — no flags required.
- 02All 12 tools are available and behave identically across both transports.
- 03The explicit transport selection (`transport="stdio"`) fixes a handshake stall that previously affected strict MCP clients.
wolfejam.dev released `gemini-faf-mcp` v2.4.0, the "Chameleon Edition," which introduces automatic transport selection driven entirely by the runtime environment. When invoked locally via `uvx gemini-faf-mcp`, the server uses stdio — the transport expected by MCP clients. When a `PORT` environment variable is present (as Google Cloud Run sets automatically), the same binary switches to Streamable HTTP: stateless, JSON-based, and without SSE. No flags, no second package, and no configuration file changes are needed; the entry point passes the transport explicitly (`transport="stdio"` when local) rather than relying on a framework default.
The practical benefit highlighted in the post is that a strict MCP client that previously stalled mid-handshake — failing to complete `initialize`, `tools/list`, and `tools/call` — now connects cleanly.
The practical benefit highlighted in the post is that a strict MCP client that previously stalled mid-handshake — failing to complete `initialize`, `tools/list`, and `tools/call` — now connects cleanly. All 12 tools are available and behave identically regardless of transport. The release passes 221/221 tests against FastMCP 3.4. Google's agentic IDE Antigravity reads a single `mcp_config.json` file and accepts both modes: a local `command`/`args` entry for stdio and a `serverUrl` entry for the hosted Streamable HTTP endpoint. The post notes that Antigravity specifically requires the `serverUrl` key — not `url` or `httpUrl`. The hosted endpoint runs on Google Cloud Run in `us-east1`, fronted at the edge at `https://mcpaas.live/gemini/mcp/v1`, and v2.4.0 is published to PyPI, the MCP Registry, and Gemini Extensions.
Key facts
- 01v2.4.0 auto-selects stdio transport locally and Streamable HTTP when a `PORT` env var is set (e.g., on Google Cloud Run) — no flags required.
- 02All 12 tools are available and behave identically across both transports.
- 03The explicit transport selection (`transport="stdio"`) fixes a handshake stall that previously affected strict MCP clients.
- 04221/221 tests pass against FastMCP 3.4.
- 05Google's Antigravity IDE accepts both transport modes via a single `mcp_config.json`, but requires the `serverUrl` key specifically for the HTTP mode.
- 06The hosted endpoint is live at `https://mcpaas.live/gemini/mcp/v1`, running on Google Cloud Run in `us-east1`.
- 07v2.4.0 is published to PyPI, the MCP Registry, and Gemini Extensions.
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Jun 9, 2026 · 17:05 UTC. How this works →