Blog

MCP gateway notes and guides.

From the team behind Gatana: what shipped, why, and how to put it to work.

Three app-style icon tiles on a soft background: orange curly braces, the Gatana mark on a dark tile, and a purple lambda

Code Mode vs. Direct Tool Calls: We Measured

One model, three data tasks, five runs each: tools called directly, then through Gatana's code mode. On 10,000 orders, direct calls were right 2 times out of 5 at 1.3 million prompt tokens per run. Code mode was right 5 of 5 at 30,000 tokens, in 12 seconds instead of 10 minutes.

Three app-style icon tiles on a soft background: a blue stopwatch, the Gatana mark on a dark tile, and a teal lightning bolt

How Much Latency Does an MCP Gateway Add? 6.6 Milliseconds in Our Latest Test.

Our latest test measured 6.6 ms of added latency per tool call on Hetzner with an AMD Ryzen™ 5 3600, with the gateway and the upstream server on MCP revision 2026-07-28. The same build adds 9.6 ms against a 2025-era server. We made 21,900 timed calls across three repetitions. Here are the setup, exact figures, and raw data.

A cyclist in sharp focus speeding past a background blurred into horizontal bands of blue, with one red stripe along the road

We Converted 300 Public OpenAPI Specs to MCP Tools. Here Is What Broke.

A measured answer to how well OpenAPI converts to MCP: 262 of 300 public specs converted on the first run, 299 after we fixed four defects in our own converter, and the generated schemas shrank eightfold. Method, numbers and the per-spec data are included.

Diagram of one SKILL.md document flowing through the Gatana gateway into the skills folders of Claude Code, Codex and Hermes, and to agents connected over MCP

Skills: Teach Every Agent How Your Organization Works

A skill is a Markdown document that tells an agent how a job is done in your organization. Gatana now stores your skills in one place, installs them into the folders Claude Code, Codex, Cursor and others read, and keeps them current at the start of every session.

A white rounded tile with the Python logo, tilted and floating above a blue surface

Python Support for Runnable Code Servers

You can now write Runnable Code servers in Python 3.13. Put a schema dict and your functions in main.py, and Gatana deploys it and exposes the functions as MCP tools, the same way it does for Node.js.

Diagram of a chat client, a desktop app, and a terminal connecting through the Gatana gateway to a tool layer containing a Postgres database, an internal API, and more

How to Connect Claude to Your MCP Gateway

Point claude.ai, Claude Desktop, and Claude Code at one URL and every MCP server behind your Gatana gateway shows up in Claude. Step-by-step setup for OAuth and personal access tokens.

Diagram of an MCP server on Gatana opening one-way connections to a Postgres database, an internal API, and a subnet router inside a dashed tailnet boundary, with the return path blocked

Tailscale VPN Support

Executable Apps and Runnable Code deployed on Gatana can now join your Tailscale network. The server reaches the databases and internal APIs on your tailnet. Nothing on the tailnet can reach the server.

Server deployment tab showing CPU, memory, and storage usage charts, with a storage tile reading 476Mi of 2Gi

Persistent Storage in the Gateway

In-gateway deployments of Executable Apps and Runnable FaaS can now keep a managed volume mounted at /data. Files survive restarts, redeploys, and idle stops, fully encrypted.

Abstract geometric illustration for the MCP specification revision

MCP's Largest Revision Yet Lands July 28

The 2026-07-28 spec makes MCP stateless, formalizes extensions, and hardens authorization. Here's what's changing, and what it means for everything behind your gateway.

Abstract illustration of layered identity profiles

Profiles: Programming the Identity Layer of Your Tool Gateway

The gateway between agents and your systems is where identity, credentials, and access control live. Profiles are how you make that boundary do exactly what your organization needs — per user, team, token, or IdP claim.

Abstract illustration of a governed boundary between systems

So why MCP? Honestly: it doesn't matter that much.

The value isn't the protocol — it's the governed boundary between agents and your systems. MCP is simply the standard everyone already speaks at that boundary.

Dark computer screens displaying API and application code

Your REST API is Already an MCP Server

Point Gatana at an OpenAPI spec and every endpoint becomes a typed MCP tool — no wrapper code to write or maintain.

Blue abstract modular grid pattern

Call Any MCP Tool Over HTTP

Gatana's MCP HTTP API exposes every tool as an OpenAPI endpoint, so LLMs can orchestrate tools from code instead of pushing large payloads through the context window.