Nano Banana MCP Server (CLIProxyAPI Edition)
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a distinct, non-overlapping purpose: generate_image for image creation/editing, maintenance for system cleanup tasks, show_output_stats for statistics viewing, and upload_file for file uploading. There is no ambiguity in their functions, and an agent can easily select the correct tool based on the task.
Naming Consistency3/5The naming is mixed, with generate_image and upload_file using a verb_noun pattern, while maintenance and show_output_stats are more noun-based or descriptive. This inconsistency makes the pattern less predictable, though the names are still readable and clear in intent.
Tool Count4/5With 4 tools, the count is reasonable for a server focused on image generation and file management. It covers core operations without being overly sparse or bloated, though it might benefit from a few more specialized tools for advanced image editing or configuration.
Completeness4/5The tool set covers key workflows: image generation/editing, system maintenance, statistics viewing, and file uploading. Minor gaps exist, such as tools for deleting uploaded files or managing image metadata more directly, but agents can likely work around these with the provided tools.
Average 4/5 across 4 of 4 tools scored. Lowest: 3.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating this is a safe read operation. The description adds some context by specifying 'statistics' and 'recently generated images,' which hints at the tool's scope and output type. However, it doesn't disclose additional behavioral traits like performance characteristics, data freshness, or error handling, so it only adds moderate value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the key information: 'Show statistics about the output directory and recently generated images.' It avoids redundancy and wastes no words, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, read-only operation) and the absence of an output schema, the description is minimally adequate. It covers what the tool does but lacks details on output format, error cases, or integration with siblings. Without annotations or schema to fill gaps, it meets basic needs but could be more informative for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is given because the tool has no parameters, and the description doesn't attempt to compensate unnecessarily, maintaining clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with 'Show statistics about the output directory and recently generated images,' which includes a specific verb ('Show') and resources ('output directory,' 'recently generated images'). However, it doesn't explicitly differentiate from sibling tools like 'maintenance,' which might also involve directory operations, so it doesn't reach a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't specify if this is for monitoring purposes, debugging, or how it relates to siblings like 'generate_image' or 'upload_file.' This lack of context leaves the agent without clear usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true and openWorldHint=true, indicating safe operations with flexible parameters. The description adds valuable behavioral context beyond annotations by specifying what each operation does (e.g., 'Remove expired Files API entries', 'Clean up database inconsistencies') and mentioning the workflows.md patterns. However, it doesn't disclose potential side effects like performance impact or execution time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured and concise: a brief introductory sentence followed by a clear bulleted list of operations with specific actions. Every sentence earns its place by providing essential information without redundancy. The front-loaded structure immediately communicates the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, multiple operations) and rich annotations (readOnlyHint, openWorldHint), the description provides good contextual completeness. It explains what each operation does, references external documentation (workflows.md), and covers the tool's scope well. The main gap is the lack of output information (no output schema), but the description compensates reasonably given the annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all parameters thoroughly. The description adds meaningful context by explaining what each operation does (e.g., 'Check Files API storage usage vs. ~20GB budget' for check_quota), which helps the agent understand the semantic purpose beyond the parameter definitions. However, it doesn't provide additional parameter-specific guidance beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs maintenance operations following specific patterns, then enumerates five distinct operations with specific verbs and resources (e.g., 'Remove expired Files API entries', 'Clean old local files'). It distinguishes itself from sibling tools like generate_image or upload_file by focusing on system maintenance rather than content creation or file management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the list of available operations (e.g., use check_quota for storage monitoring), but lacks explicit guidance on when to choose this tool over alternatives or prerequisites for use. No when-not-to-use scenarios or comparisons with sibling tools are provided, leaving usage context somewhat implied rather than clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false (indicating mutation) and openWorldHint=true (suggesting external API interaction). The description adds valuable context beyond annotations: it specifies the API target ('Gemini Files API'), mentions file size constraints ('larger than 20MB'), and describes reuse scenarios. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences) with zero wasted words. The first sentence states purpose and return value, the second provides usage guidelines. Every element serves a clear purpose, and information is front-loaded appropriately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (file upload to external API), annotations cover safety aspects, and the description adds practical usage context. The main gap is lack of output schema, but the description mentions return values ('URI & metadata'). For a mutation tool with external API interaction, this is reasonably complete though could benefit from more behavioral details like error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents both parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain path format constraints or display name usage). This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Upload a local file') and target ('Gemini Files API'), and specifies the return value ('return its URI & metadata'). It distinguishes from sibling tools like 'generate_image' by focusing on file upload rather than image generation. However, it doesn't explicitly differentiate from other potential file operations beyond the scope of provided siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Useful when the image is larger than 20MB or reused across prompts.' This gives clear criteria for when to use this tool versus alternatives (e.g., for large files or repeated use cases), though it doesn't name specific alternative tools since none are provided in siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond annotations. While annotations indicate readOnlyHint=true and openWorldHint=true, the description explains practical behaviors: automatic mode detection, local filesystem reading to avoid token usage, and return formats (MCP image content blocks and structured JSON with metadata). It doesn't contradict annotations and provides operational insights not covered by structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized. It starts with a clear purpose statement, then lists usage modes in a bullet-like format, and ends with operational details. Every sentence adds value, though the final sentence about return formats could be slightly more concise. Overall, it's efficient and front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, multiple modes) and rich schema coverage (100%), the description provides good contextual completeness. It explains usage modes, behavioral traits, and output formats, compensating for the lack of an output schema. However, it could briefly mention limitations or error cases to achieve a perfect score, but it's largely sufficient for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all 14 parameters thoroughly. The description adds minimal parameter semantics beyond the schema, mainly by grouping parameters into usage modes (e.g., input_image_path_* for multi-image conditioning). This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate new images or edit existing images using natural language instructions.' It specifies the verb ('generate or edit'), resource ('images'), and distinguishes from siblings like 'upload_file' and 'maintenance' by focusing on image creation/modification rather than file management or system operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance by detailing four distinct input modes (pure generation, multi-image conditioning, File ID editing, File path editing) and explaining how the tool automatically detects mode based on parameters. It also distinguishes from sibling tools by not overlapping with their functions (e.g., 'upload_file' is for uploading, while this tool uses uploaded or local files).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ion-aluminium/nanobanana-mcp-cliproxyapi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server