What if the highway stops database in BigQuery is owned by an external infrastructure team that changes table schemas every quarter?
The problem with direct tools: embedding raw BigQuery SQL inside your agent repository couples your agent lifecycle to an external database.
The MCP solution: wrap the external database query in a standalone MCP Server (@mcp.tool()).
Dual transport: run over stdio locally (05b) or expose over HTTP SSE (port=8002 in 05d) so any authorized agent can discover and call tools dynamically!
Logging: MCP stdio servers communicate over stdout, so all logs MUST go to stderr.