Skip to main content
Glama
runapi-ai

Nano Banana MCP Server

by runapi-ai

Why This Package?

@runapi.ai/nano-banana-mcp is a focused Model Context Protocol server for the Nano Banana model line on RunAPI. It gives MCP-compatible assistants direct access to 2 endpoints and 5 model variants without loading the full RunAPI catalog.

Use this per-model server when an agent should stay scoped to Nano Banana. Use @runapi.ai/mcp when one assistant should discover every RunAPI model line.


Related MCP server: GPT Image MCP Server

Install

Add it to Claude Code:

claude mcp add nano-banana -s user -- npx -y @runapi.ai/nano-banana-mcp

Use project scope when the server should be shared with a repository:

claude mcp add nano-banana -s project -- npx -y @runapi.ai/nano-banana-mcp

Codex, Cursor, Windsurf, VS Code, Roo Code, and other MCP hosts can use the same stdio command:

{
  "mcpServers": {
    "nano-banana": {
      "command": "npx",
      "args": ["-y", "@runapi.ai/nano-banana-mcp"]
    }
  }
}

check_pricing works before sign-in. For task creation and status polling, ask your assistant to call the login tool. It opens a browser login and saves credentials to ~/.config/runapi/config.json, the same file used by runapi login. Headless and CI hosts can still set RUNAPI_API_KEY before starting the MCP host.

Ready-made examples are in examples/ for Claude, Cursor, Windsurf, VS Code, and Roo Code.


Tools

Tool

Auth

Purpose

edit_image

Yes

Create a Nano Banana edit image task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

text_to_image

Yes

Create a Nano Banana text to image task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

get_task

Yes

Fetch the current status and latest payload for an existing task.

check_pricing

No

Look up current pricing for a Nano Banana model and endpoint.


Models

Nano Banana covers 5 model variants across 2 endpoints. Each tool accepts the models listed for it:

Tool

Models

edit_image

nano-banana-2-lite, nano-banana-edit

text_to_image

nano-banana, nano-banana-2, nano-banana-2-lite, nano-banana-pro

Model availability can change between releases. Use check_pricing or the Nano Banana model page for the current catalog view.


Agent Prompts

Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.

Create a task

Run a Nano Banana edit image task with RunAPI.

The assistant can call check_pricing, then edit_image, and return the task id, status, and output URLs.

Submit without waiting

Create the task but don't wait for it to finish.

The assistant calls the create tool with wait: false and returns the task id. Check on it later with get_task.

Check pricing before creating

Check current Nano Banana pricing, then create the task if it matches my request.

The assistant calls check_pricing and can link to the Nano Banana model page for the canonical catalog entry.


Configuration

The server resolves auth in this order:

  1. RUNAPI_API_KEY environment variable, useful for headless and CI hosts

  2. ~/.config/runapi/config.json, created by the MCP login tool or runapi login

  3. No key, which still allows check_pricing

The config file is normally managed by login. A pre-provisioned headless config can use:

{
  "apiKey": "your_runapi_key"
}

Do not commit real API keys.


Resource

URL

Nano Banana model page

https://runapi.ai/models/nano-banana

npm package

@runapi.ai/nano-banana-mcp

GitHub repository

runapi-ai/nano-banana-mcp

RunAPI MCP overview

runapi.ai/mcp

RunAPI docs

runapi.ai/docs


License

Licensed under the Apache License, Version 2.0.

Available Tools

4 tools
check_pricingA

Look up RunAPI pricing for the nano-banana model line.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel slug. Defaults to the line's primary model.
actionNoEndpoint name. Defaults to the endpoint that offers the model.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. 'Look up pricing' clearly indicates a read-only operation, and the tool appears safe and non-destructive. However, it does not mention any additional traits like rate limits or authentication requirements, but for a simple lookup, this level of transparency is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a single sentence that fully communicates the tool's purpose without any extraneous words. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the tool is a simple lookup with no output schema, the combination of a clear description and a well-defined schema provides sufficient context for an AI agent to use the tool. The only missing element is usage guidelines, but for this low complexity, the overall completeness is high.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with each parameter having its own description and enum values. The tool description does not add any additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: looking up RunAPI pricing for the nano-banana model line. The verb 'look up' and the specific resource 'pricing for the nano-banana model line' make the purpose unambiguous, and it distinguishes this tool from siblings like edit_image, get_task, and text_to_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. Users must infer from the tool name and context, but there is no explicit 'when to use' or 'consider using X instead' information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_imageB

Create a Nano Banana task on RunAPI (edit image). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
aspect_ratioNo
output_formatNo
waitNoPoll until the task reaches a terminal status.
timeout_msNo
poll_interval_msNo
modelNoRunAPI model slug for this model line.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions returning a task id and status, implying async behavior, but does not explain the task lifecycle, how to provide an input image (missing from schema), or the role of parameters like wait and timeout_ms. No annotations exist to supplement this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently communicates the primary action and return value. No extraneous information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an async task-based tool with 6 parameters, the description is too minimal. It omits crucial details like how to provide the image, how to use polling/wait mechanisms, and what the output URLs represent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (2 of 6 parameters have descriptions). The description adds no parameter-level information, so it fails to compensate for the low coverage. The lack of an image input parameter in the schema is puzzling and not addressed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a Nano Banana task for editing images, distinguishing it from sibling tools like text_to_image which generates new images. The verb 'Create' and resource 'edit image' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives like text_to_image or get_task. The description only states what it does, not the context or prerequisites for using it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_taskB

Fetch the current status and latest result payload for a nano-banana task.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask id returned when the task was created.
actionYesEndpoint the task was created on.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It indicates a read-only fetch but does not disclose error handling, prerequisites, or what happens if the task_id is invalid. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with key action and resource. No unnecessary words, perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch tool with no output schema, the description provides basic return info (status, payload) but lacks details on error responses or interpretation. Adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for both task_id and action. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Fetch', the resource 'task', and what is returned ('current status and latest result payload'). It effectively distinguishes from sibling tools (check_pricing, edit_image, text_to_image) which are for other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The context is implied (after creating a task), but no disclaimers or comparisons to siblings are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_to_imageC

Create a Nano Banana task on RunAPI (text to image). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
aspect_ratioNo
output_formatNo
output_resolutionNo
waitNoPoll until the task reaches a terminal status.
timeout_msNo
poll_interval_msNo
modelNoRunAPI model slug for this model line.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It states it creates a task and returns outputs, but does not mention that the operation is asynchronous (implied by task id), whether it is destructive, or any side effects like cost. The polling behavior via 'wait' parameter is not explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a single sentence containing a parenthetical. It is front-loaded with the primary action. While not verbose, it lacks structure, but for a short description, it is adequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 parameters, no output schema, and complex nested behavior (async task creation with polling), the description is far too sparse. It does not explain how to use the returned task id, what status results look like, or how the polling parameters interact. The description is incomplete for effective agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 29% (2 of 7 parameters described). The tool description adds no additional meaning to any parameter. It fails to compensate for the low coverage, leaving agents uninformed about crucial parameters like aspect_ratio, output_format, and output_resolution.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create'), the resource ('a Nano Banana task on RunAPI'), and context ('text to image'). It also mentions return values. However, it does not differentiate from the sibling 'edit_image', which could be confused for a similar image creation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'edit_image' or 'get_task'. There are no prerequisites, required parameters, or context indicating typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct function: pricing lookup, text-to-image generation, image editing, and task status retrieval. No overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., check_pricing, edit_image), making them predictable and easy to understand.

Tool Count5/5

With 4 tools covering pricing, two image generation types, and task monitoring, the count is well-scoped for the server's purpose without being excessive or insufficient.

Completeness4/5

The tool surface covers the core workflows (text-to-image, editing, and task retrieval) but lacks task lifecycle management like cancellation or listing, though this is a minor gap.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/runapi-ai/nano-banana-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server