Banana Image MCP
Server Quality Checklist
Latest release: v1.1.0
- Disambiguation2/5
generate_blog_cover and generate_image have nearly identical descriptions and purposes—both use Gemini AI, convert to WebP, and upload to Qiniu. An agent cannot determine which to use for creating blog covers versus general images based on the descriptions provided.
Naming Consistency5/5All tools follow a consistent verb_noun snake_case pattern (generate_blog_cover, generate_image, upload_image) with clear action-oriented verbs.
Tool Count4/5Three tools is reasonable for an image generation and CDN upload service, though the functional redundancy between the two generation tools effectively reduces the distinct capability count to two.
Completeness3/5The set covers basic generation and upload workflows but lacks lifecycle management operations (delete, list, retrieve metadata). The redundant generation tools suggest an incomplete design rather than comprehensive coverage.
Average 3.8/5 across 3 of 3 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 7 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?
With no annotations provided, the description carries the full disclosure burden. It successfully documents the multi-step pipeline (generation, conversion, upload) and external dependencies, but fails to disclose critical behavioral traits like whether the CDN upload is idempotent, what happens on naming collisions, or what the tool returns (URL, path, or binary).
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, efficiently structured sentence that front-loads the action and logically flows through the processing pipeline (generate → convert → upload). Every word serves a purpose with no redundancy.
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 absence of both annotations and output schema, the description should explain return values and side effects (e.g., 'returns public CDN URL'). It adequately covers the input workflow but leaves critical gaps regarding the operation's output and mutation characteristics.
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?
The input schema has 100% description coverage, establishing a baseline of 3. The description adds minimal semantic value beyond the schema, though it implicitly reinforces that 'slug' relates to blog posts through the workflow context. No additional parameter constraints or format details are provided.
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 explicitly states the specific verb (Generate), resource (blog cover image), AI technology (Google Gemini), format conversion (WebP), and destination (Qiniu CDN). This specificity effectively distinguishes it from the generic 'generate_image' and single-purpose 'upload_image' siblings.
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?
While the specificity of 'blog cover' implies the intended use case, the description does not explicitly state when to choose this tool over 'generate_image' or 'upload_image', nor does it mention prerequisites like requiring valid CDN credentials or prompt engineering best practices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the WebP conversion side effect and CDN URL return, but omits mutation safety details (overwrite behavior, idempotency, whether local files are deleted), authentication requirements, or error conditions.
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?
Single sentence of 15 words with zero waste. Front-loaded with the core action, includes all key elements (source types, destination, transformation, output), and avoids filler words or redundant phrases.
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?
For a 3-parameter upload tool with no output schema, the description adequately covers the essential contract: input handling, processing side effects, and return value. Minor gaps remain regarding error handling, overwrite semantics, and authentication, but the core functionality is well-documented.
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?
Schema description coverage is 100%, establishing a baseline of 3. The description adds minimal parameter-specific context beyond the schema, though 'local or remote' reinforces the source parameter's dual-purpose nature. No additional syntax guidance or format examples are provided.
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 specific action (upload), resource type (image), destination (Qiniu CDN), transformation (convert to WebP), and return value (CDN URL). It effectively distinguishes from siblings generate_image and generate_blog_cover by emphasizing 'upload' versus generation.
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?
While the verb 'upload' implies usage for existing images versus generating new ones, the description lacks explicit when-to-use guidance or named alternatives. It does not clarify whether to use this versus the generate_* siblings when both might apply.
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?
With no annotations provided, the description carries the full disclosure burden and succeeds in revealing the AI provider (Google Gemini), format conversion (WebP), storage destination (Qiniu CDN), and return value type (CDN URL). It lacks rate limits, authentication requirements, or error handling details, but covers the essential behavioral chain adequately.
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, efficiently structured sentence that front-loads the action sequence. Every clause provides distinct value: AI provider identification, format specification, storage destination, and return type. Zero redundancy or filler content.
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?
For a 3-parameter tool with no output schema, the description adequately covers the full operation lifecycle from generation through delivery. It mentions the return value (CDN URL) despite lacking a formal output schema. Minor gap: no mention of error conditions, latency expectations, or image dimension constraints.
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?
Input schema has 100% description coverage, establishing a baseline of 3. The description focuses on the operational workflow rather than adding parameter-specific semantics (e.g., prompt length constraints, slug format rules, valid path values). No additional parameter context is provided beyond the schema definitions.
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 uses specific verbs (generate, convert, upload, return) and clearly identifies the resource (image), AI provider (Google Gemini), format (WebP), and destination (Qiniu CDN). It distinguishes from sibling 'upload_image' by including generation capability and from 'generate_blog_cover' by implying general-purpose use through the absence of blog-specific constraints.
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?
While the description implies usage through its specific workflow (generation + conversion + upload), it lacks explicit guidance on when to choose this over 'upload_image' (for existing files) or 'generate_blog_cover' (for specific blog formatting). The agent must infer the appropriate use case from the described behavior chain.
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/xinpengfei520/banana-image-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server