TIM MCP - Travel Impact Model for AI agents

What started as a weekend experiment ended up being the perfect “sandbox” for my recent work on AI agents. I built an MCP (Model Context Protocol) server for Google’s Travel Impact Model (TIM) to help AI assistants like Claude and Gemini calculate flight emissions accurately.

The Backstory

Before leaving Google, I was working on getting TIM to support Scope 3 emissions reporting and trying to get it into Data Commons. Ever since seeing Data Commons available on MCP, I’ve been thinking about revisiting this.

LLMs sometimes “hallucinate” emissions numbers when asked about flight carbon footprints. By providing a structured tool via MCP, agents can now get authoritative data directly from the Travel Impact Model API.

Features

  • Authoritative Data: Any AI agent that supports MCP can now get real emissions data instead of estimates.
  • Scope 3 Support: Works with both future flight planning AND historical Scope 3 reporting (WTW, TTW, WTT emissions).
  • Docker Ready: Containerized with Docker for easy, “one-command” launch.
  • Multi-client Support: Compatible with Claude Desktop, Claude Code, Gemini CLI, and other MCP-enabled tools.

Lessons Learned

Building this adapter taught me a few things about the current state of AI tooling:

  1. Documentation is critical: The TIM API has some rough edges, but giving the MCP adapter the right instructions made it much more robust.
  2. MCP is powerful but nascent: Debugging MCP can be challenging, but the standardization means this works with ANY compatible AI client.
  3. The “Magic Moment”: Feeding Claude a CSV of past flights and watching it automatically recognize it could use the Scope 3 endpoint to calculate total emissions was a real highlight.

Demo

Check out the recording below to see how an AI agent uses the tool to get authoritative emissions data:

You can find the source code and setup instructions on GitHub.