DEV Community

xbill for Google Developer Experts

Posted on • Originally published at xbill999.Medium on

Nano Banana 2 Lite with Claude Code

This article covers the MCP setup and configuration for using Google Nano Banana 2 Lite and underlying Gemini LLM with Claude Code CLI to enhance and extend image operations over the MCP protocol.

What is Google Nano Banana 2 Lite?

Nano Banana 2 Lite (officially known as the Gemini 3.1 Flash-Lite Image model) is Google’s fastest and most cost-efficient AI image generation and editing model. It is built specifically for enterprises and developers who need to generate high-quality images quickly and affordably at a large scale. [1, 2, 3]

Key Features

  • Lightning-Fast Latency: Capable of generating high-quality images in about 4 seconds. [1, 2]
  • Cost-Efficient Pricing: Priced at approximately $0.034 per 1,000 images in Google AI Studio, undercutting standard models and previous versions. [1]
  • Real-World Grounding: Integrates with Google Web and Image Search to produce highly accurate visuals based on real-world information, such as live weather data and exact global locations. [1, 2]
  • Pro-Level Editing: Allows for nuanced image-editing capabilities, aspect ratio control, and text rendering/translation directly onto images. [1, 2]
  • Character Consistency: Retains the fidelity of subjects across multiple generations and scenarios, making it highly effective for storyboarding and marketing campaigns. [1, 2]

More details are here:

Start building with Nano Banana 2 Lite and Gemini Omni Flash

and here:

Gemini 3.1 Flash-Lite Image (Nano Banana 2 Lite) | Gemini Enterprise Agent Platform | Google Cloud Documentation

Haven’t You Done this One Before?

What is old is new.

This article extends a previous article covering using Antigravity CLI with MCP servers. The original article is here:

Nano Banana 2 Lite with MCP, and Antigravity CLI

The same structured approach is used to enable Python MCP servers on Claude Code CLI.

This seems Pretty Basic- why even Bother?!

When configuring a new environment and new tools — the key to a successful deployment is to validate the basic building blocks for the approach. Python MCP servers allow CLI tools like Claude Code to be dynamically extended with a clear approach to enable minimal MCP tools. Before attempting more complicated MCP tools — a set of basic MCP commands with the simplest MCP protocol (stdio) is used to verify the functionality.

What is MCP?

Unless you have been living off grid without Internet- MCP is the new universal connector and next “Big Thing”.

More information is here:

What is Model Context Protocol (MCP)? A guide

Python MCP Documentation

The official GitHub Repo provides samples and documentation for getting started:

GitHub - modelcontextprotocol/python-sdk: The official Python SDK for Model Context Protocol servers and clients

Isn’t MCP overkill?

There are many ways to call models. Native MCP support in Claude Code opens up a new pathway to call the underlying Nano Banana model.

So what is the Secret Sauce?

The Interactions API allows for a clean consistent call to the model.

The Interactions API is Google’s unified interface for building with Gemini AI models and autonomous agents. Rather than using multiple separate endpoints for text chat, tool use, image generation, or background agents, it provides a single, streamlined API to handle complex, stateful workflows. [1, 2, 3]

More information is here:

Interactions API | Gemini API | Google AI for Developers

and here:

Gemini Interactions API | Gemini API | Google AI for Developers

but wait — there’s more!

There is A Skill for That!

You can make the magic happen!

Interactions API: our primary interface for Gemini models and agents

npx skills add google-gemini/gemini-skills --skill gemini-interactions-api
Enter fullscreen mode Exit fullscreen mode

Setup the Basic Environment

At this point you should have a working Python environment and a working Claude Code CLI installation. The next step is to clone the GitHub samples repository with support scripts:

cd ~
git clone https://github.com/xbill9/nb2lite-claude
Enter fullscreen mode Exit fullscreen mode

Then run init.sh from the cloned directory.

The script will attempt to determine your shell environment and set the correct variables:

cd nb2lite-claude
source init.sh
Enter fullscreen mode Exit fullscreen mode

If your session times out or you need to re-authenticate- you can run the set_env.sh script to reset your environment variables:

cd nb2lite-claude
source set_env.sh
Enter fullscreen mode Exit fullscreen mode

Variables like PROJECT_ID need to be setup for use in the various build scripts- so the set_env script can be used to reset the environment if you time-out.

Running the Python Code

First- switch the directory with the Python version of the MCP sample code:

make install
pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

The project can also be linted:

xbill@penguin:~/nb2lite-claude$ make lint
ruff check .
All checks passed!
ruff format --check .
2 files already formatted
mypy .
Success: no issues found in 2 source files
Enter fullscreen mode Exit fullscreen mode

Validation with Claude Code CLI

The final connection test uses the CLI as a MCP client with the Python code providing the MCP server:

 Manage MCP servers
   3 servers
   Project MCPs (/Users/xbill/nb2lite-claude/.mcp.json)                
❯ nb2lite-agent · ✔ connected · 4 tools                                      

   Status: ✔ connected
   Command: python3
   Args: /Users/xbill/nb2lite-claude/server.py                 
 Config location: /Users/xbill/nb2lite-claude/.mcp.json  
              Capabilities: tools                                                          
Tools: 4 tools

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔Tools for nb2lite-agent 4 tools                                                                      
   ❯ 1. generate_image
     2. edit_image
     3. edit_local_image
   ❯ 4. get_help
Enter fullscreen mode Exit fullscreen mode

the tools are reviewed:

❯ list the mcp tools for nb2lite

The nb2lite-agent MCP server exposes 4 tools:

1. generate_image — generates a new image from a text prompt (with aspect_ratio and thinking_level options)
2. edit_image — edits a previously generated image by its interaction ID, given a natural-language edit prompt
3. edit_local_image — edits a local image file on disk using a text prompt
4. get_help — returns help text summarizing the server's config and available tools

✻ Baked for 5s


Enter fullscreen mode Exit fullscreen mode

Enough, Already! Show me the Money!

Claude Code CLI was started up for a hands-on image editing session:

Not a fan of Bananas?

use the mcp tools to edit gen_1782921715_ec8088ac.jpg and make the ghost banana a ghost apple

❯ use the nb2lite mcp tools to make edit_local_1783132225_f3d7a0f5.jpg an apple

  Searched for 1 pattern

I'm locating the file edit_local_1783132225_f3d7a0f5.jpg on disk before editing it.

  Read 1 file, called nb2lite-agent

Edited and saved to /Users/xbill/nb2lite-claude/edit_local_1783133920_af24af48.jpg — a pixel-art yellow apple with stem/leaf, keeping the same eyes/style.
Enter fullscreen mode Exit fullscreen mode

Not a fan of Apples?


❯ use the nb2lite mcp tools with v1_ChczM1pJYXNtVkNmNkQtOFlQd05qT29BRRIXaVhkSWF1Q09KZjZELThZUHdOak9vQUU interaction id - make it a pinapple

  Read 1 file, called nb2lite-agent

Saved to /Users/xbill/nb2lite-claude/edit_1783134165_02f7567c.jpg.

Interaction ID: v1_ChczM1pJYXNtVkNmNkQtOFlQd05qT29BRRIXMVhkSWF0R0xFNHp3anJFUHZiLXYtQTg
Enter fullscreen mode Exit fullscreen mode

One last example — the banner for this article was re-themed in steam-punk style:

❯ use the mcp tools to make the banana pixel image steampunk

  Read 1 file, called nb2lite-agent

Saved to /Users/xbill/nb2lite-claude/edit_1783134280_c49290eb.jpg — Clawd now has brass gears, rivets, goggle-eyes, and mechanical joints, still holding the banana. Interaction ID: v1_Chc2blJJYXRfUEJkYWYtOFlQN002bnFRMBIXUjNoSWFydmROYTJhOU1vUG5vdWhvUXc
Enter fullscreen mode Exit fullscreen mode

One last thought- Where are Agents?

Where are the Agents?

The Claude Code CLI harness itself uses agents to manage the workflow.

The additional touch point for leveraging the MCP interface is that they all are exposed as MCP tools. The MCP tools can be called directly from Agent code or used as a template for Interactions API calls embedded in an Agent.

Summary

The strategy for using MCP with Nano Banana 2 Lite and Claude Code CLI was validated with a incremental step by step approach.

A minimal stdio transport MCP Server was started from Python source code and validated with the CLI running as a MCP client in the same local environment.

This MCP Python server provided all of the management tools to interact with the model and generate high quality cyberpunk banana images.

Top comments (0)