Skip to main content

From Models to Agents: Shipping Enterprise AI Faster with Google’s MCP Toolbox & Agent Development Kit

Google Agent Development Kit logo Google MCP Toolbox logo
This article is an expanded write-up of the talk I recently delivered as a Google Developer Expert during a talk in Denver. The full slide deck is embedded below for easy reference.


Why another “agent framework”?

Large-language models (LLMs) are superb at generating prose, but production-grade systems need agents that can reason, plan, call tools, and respect enterprise guard-rails. Traditionally, that means:

  • Hand-rolling connectors to databases & APIs
  • Adding authentication, rate-limits, and connection pools
  • Patching in tracing & metrics later
  • Hoping your YAML jungle survives the next refactor

Google’s new duo—MCP Toolbox and the Agent Development Kit (ADK)—eliminates that toil so you can treat agent development like ordinary software engineering.

MCP Toolbox in one minute ⏳

What Why it matters
Open-source MCP server Implements the emerging Model Context Protocol; any compliant agent can call tools with a single gRPC/HTTP hop.
YAML-driven “sources → tools → toolsets” Declarative config auto-generates secure SQL & vector-search endpoints—zero boilerplate.
Built-in auth & RBAC authRequired and authenticatedParameters enforce per-call identity without leaking tokens to the LLM.
Observability out of the box OpenTelemetry traces and structured logs flow straight to Cloud Monitoring.

Minimal YAML example

# tools.yaml
sources:
  flights-db:
    kind: cloud-sql-postgres
    project: corp-air
    region: us-central1
    instance: prod
    user: agent_app
    password: $POSTGRES_PASS
    database: flights

tools:
  get_flight_by_id:
    kind: postgres-sql
    source: flights-db
    statement: "SELECT * FROM flights WHERE id = $1"
    parameters:
      - name: id
        type: int
        description: Unique flight id

toolsets:
  flight_tools:
    - get_flight_by_id
$ pip install genai-toolbox
$ mcp-toolbox serve --tools tools.yaml

The MCP Toolbox now exposes get_flight_by_id; any MCP-aware agent can invoke it by name, and Toolbox handles pooling, auth, and SQL-injection safety.

Meet the Agent Development Kit (ADK)

ADK is a model-agnostic runtime that lets you compose single agents or multi-agent teams in Python or Java—think “FastAPI for agents.”

from adk import Agent, Tool
from adk.models import GeminiPro  # or OpenAI, Ollama, etc.

llm = GeminiPro()

# Wrap the MCP tool as an ADK Tool object
flight_tool = Tool.from_mcp("http://localhost:8080", "get_flight_by_id")

flight_agent = Agent(
    name="FlightLookup",
    model=llm,
    tools=[flight_tool],
    system_prompt="You are a helpful flight assistant."
)

if __name__ == "__main__":
    print(flight_agent("When does flight 714 depart?"))

ADK handles function-call serialization, retries, and schema validation—so you stay focused on business logic.

Reference Architecture

  1. User → front-end (chat, Slack, REST API)
  2. ADK agent(s) → route intent, orchestrate planners/executors
  3. MCP Toolbox → exposes SQL, vector search, NL2SQL patterns over Cloud SQL / AlloyDB / BigQuery
  4. Databases & external APIs → secure data plane
  5. Observability → OpenTelemetry → Cloud Trace + Cloud Monitoring

End-to-end sample ✈️

# 1  Provision a Postgres instance on Cloud SQL
gcloud sql instances create flights --database-version=POSTGRES_15 ...

# 2  Load sample data (omitted)

# 3  Start MCP Toolbox
export POSTGRES_PASS=$(gcloud sql users ...)
mcp-toolbox serve --tools tools.yaml

# 4  Run the ADK agent script
python flight_agent.py

Ask the agent: “Is there a later flight to Boston with an empty window seat?”
Behind the scenes it chains NL2SQL → MCP Toolbox → Postgres query → reasoning → answer.

Deployment tips

  • Cloud Run for stateless REST/gRPC endpoints; autoscale to zero.
  • GKE for high-QPS multi-agent clusters—mount MCP config as a secret and use Cloud SQL Auth Proxy.
  • CI/CD – treat tools.yaml like code; linting failures block production deploys, giving you SQL-level change review.

Resources & next steps

Happy hacking — and let me know what agents you build!

Comments

Popular posts from this blog

Racecraft (Project Koru) · Prologue — The Origin Story

Racecraft · Prologue , The Origin Story It Started With a Wine List and a Question About Racing How a happy-hour conversation in the Bay Area turned into a trustable AI race coach , and then into a second version that runs entirely on a phone, on the NPU. This is the prologue to a five-part series. Two years ago(1st November, 2024) I was in the Bay Area for a GDE Summit. If you've never been: it's a couple of days of talks among Google Developer Experts, the kind of people who get unreasonably excited about a new on-device runtime, and then , mercifully , a happy hour where everyone stops performing and just eats. We ended up at a restaurant(Puesto Santa Clara), a long table of GDEs, and I was doing the most important engineering of the evening: trying to decide which wine to order. Across the table was Ajeet Mirwani . I don't even remember how the wine talk turned into racing talk , these things drift , but the moment the word "racing" ...

A Split‑Brain Neuro‑Symbolic Training Method for High‑Velocity Autonomous Coaching from Telemetry

 Author: Rabimba Karanjai Scope: Problem statement + data methodology + model training (no deployment discussion) Abstract Real‑time coaching in motorsport is a safety‑critical learning problem : a system must map noisy, high‑frequency telemetry to short, actionable guidance that remains physically consistent and avoids hazardous recommendations . This paper proposes a “Split‑Brain” training formulation that separates (i) a semantic coaching target (what action/critique should be expressed) from (ii) a reflexive interface (how actions are represented as compact, verifiable tokens). The approach trains a Small Language Model (SLM) in the Gemma family [1] using QLoRA fine‑tuning [2] , and introduces a telemetry tokenizer plus teacher‑student synthesis pipeline to generate instruction‑action pairs at scale. Core contribution: a reproducible method to convert “ golden lap ” differential tel...

The Throughput Trap: Benchmarking vLLM on OpenXLA and the Reality of Production LLM Serving

vLLM Systems · DevLab 2026, Deep Dive I was recently invited by the Google TPU team to speak at the OpenXLA Summer DevLab 2026 . This post breaks down our deep-dive evaluation of the matured vLLM + OpenXLA stack, the fundamental engineering mismatches between CUDA and XLA serving paths, and why traditional capacity metrics are lying to you. If you are operating large language models at enterprise scale right now, your platform architecture team is likely staring at a massive infrastructure crossroads: Should we migrate our core serving workloads from GPUs to TPUs? Historically, NVIDIA's CUDA ecosystem was the only serious option for user-facing, low-latency LLM generation. But here in 2026, the economics and infrastructure options have transformed. Google TPUs are highly available, cheaper per chip, and the open-source serving stack built around vLLM and OpenXLA has officially achieved absolute production readiness. Yet, when our infrast...