Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.2.0

  • Disambiguation5/5

    flow_status, generate_image, and download_image each have clearly distinct purposes: checking connection state, creating new images, and fetching existing images. There is no overlap between them, so an agent can easily select the right tool.

    Naming Consistency4/5

    All names use lowercase with underscores, but two are verb_noun (generate_image, download_image) while flow_status is noun_noun. This is a minor inconsistency, but the pattern is otherwise predictable and readable.

    Tool Count5/5

    Three tools is well-scoped for a single integration focused on Google Flow image generation. Each tool has a clear role, and nothing feels extraneous or missing at a high level.

    Completeness4/5

    The core workflow of checking status, generating images, and downloading them is covered. However, the set lacks listing or deleting existing images, which could be a minor gap if agents need to manage existing media without knowing its ID.

  • Average 3.9/5 across 3 of 3 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • 1 of 1 community issues answered or closed in the last 6 months
    • 20 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under Apache 2.0.

  • 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.json to 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, the description carries the full behavioral burden. It discloses two genuinely non-obvious traits: the closest-native-aspect-ratio-and-crop behavior for exact sizes, and the zero-credit cost. However, it reveals no side effects such as where files land, how long generation may block, or what the invocation returns.

    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?

    Three sentences, each earning its place: the main verb and outcome, the size/cropping behavior, and the cost call. The size example is front-loaded as the most decision-relevant detail. There is no redundancy or filler.

    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?

    An 11-parameter tool with no output schema and no annotations needs more than this. The description covers only purpose and size behavior; it says nothing about count variants, reference-based iteration workflows, output format, the destination folder default, or what the tool returns after saving files. These are meaningful gaps for an agent planning a real task.

    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 coverage is 100%, so the baseline is 3. The description does add a unifying model of how size, aspect, and fit interact (generate at the closest native AR, then crop), which goes slightly beyond restating individual fields, but most parameter meaning is already fully captured in the schema itself.

    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?

    Opens with a specific verb and resource, 'Generate one or more images with Google Flow and save them to disk', which clearly states the core action and output. It implicitly contrasts with flow_status and download_image, but it does not disambiguate from the closely named sibling generate_batch.

    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 offers no explicit when-to-use guidance and names no alternatives. The 'costs no credits' note is a useful decision signal, and the size/crop behavior aids usage, but nothing tells an agent when to choose this over generate_batch or download_image.

    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, the description carries the full behavioral burden. It correctly communicates a non-mutating download action and optional cropping, but it does not disclose details such as whether an existing out_file is overwritten, how missing or invalid media_id values are handled, or other runtime side effects.

    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, front-loaded sentence that states the action, the resource scope, and the optional crop capability. No wasted words and no unnecessary repetition of schema-provided details.

    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?

    The combination of description and rich schema covers the necessary invocation path: media_id identifies the image, out_file defines the destination, and size/fit/background control cropping. It is missing only minor behavioral caveats about failures and overwriting, but those are not essential to correct invocation.

    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 80%, and most parameters already have substantive descriptions such as 'WIDTHxHEIGHT format' and 'The extension decides the format.' The description adds minor semantic value by mentioning 'optional cropping to an exact size,' but the schema does the heavy lifting.

    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 uses a specific verb and resource: 'Download an image that already exists in Flow by its media id.' This clearly distinguishes it from siblings such as generate_image or generate_batch, which create images, and from flow_status or list_library, which inspect state.

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

    Usage Guidelines4/5

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

    The phrase 'already exists in Flow' and 'by its media id' signal that this is the retrieval step after generation, not a generation tool. It does not explicitly name alternatives or exclusions, but an agent can infer the appropriate context without ambiguity.

    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?

    No annotations are provided, so the description carries the full burden. It does usefully explain the two library categories and the relationship to upload reuse and download. However, it remains silent on other behavioral aspects such as whether the operation is read-only, what fields are returned, ordering, pagination, or authentication requirements.

    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?

    A single well-formed sentence structured with a colon and parentheticals, making it dense but highly scannable. Every clause adds distinct information, and the most important action is front-loaded. There is no filler or repetition of schema fields.

    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 the simple tool shape — one optional filtered parameter with full schema coverage and no output schema — the description provides sufficient context for the primary action and meaningful notes on how the listed images can be used. It does not need to restate the filter enum because the schema already documents it, and the parenthetical references to reference_library_names and download_image anticipate follow-up actions.

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

    Parameters4/5

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

    The schema covers 100% of the parameter, so the baseline is 3. The description also adds meaning to the enum categories by explaining what 'uploads' and 'generated images' signify in terms of reusability and downloadability. The description goes beyond a bare enum listing without repeating schema details.

    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?

    Begins with an explicit verb and resource: 'List the images in the Flow project library.' The description clearly splits the content into uploads and generated images, and by referencing download_image it distinguishes this listing tool from the retrieval sibling. An agent can immediately tell what the tool does and how it connects to the other tools.

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

    Usage Guidelines3/5

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

    Usage context is implied rather than explicitly stated. The description explains that uploads can be reused via reference_library_names and generated images can be re-downloaded with download_image, but it never directly says 'use this when you need to see available images' or contrasts list_library with generate_image/generate_batch. This leaves usage timing to inference.

    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, the description carries the burden of behavioral disclosure. It reveals that the tool checks connection-related details and implies a read-only operation, but it does not describe side effects, error handling, or return format. It adds some context beyond a bare 'check status' but lacks deeper behavioral specifics.

    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 concise: one sentence specifying the check and one giving usage guidance. It is front-loaded with the action and scope, with no redundant wording or unnecessary details.

    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?

    Given the simplicity (no params, no annotations) and lack of output schema, the description is somewhat complete but misses return value information. It tells the agent what is checked and when to call it, but it does not explain what the tool returns or how to interpret the result, which would be valuable since there is no output schema.

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

    Parameters4/5

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

    The tool has zero parameters, and the input schema is empty. The baseline for 0 params is 4, and the description does not need to explain parameter semantics. It appropriately focuses on the tool's purpose rather than parameters.

    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 checks a connection to the Google Flow Chrome window, detailing specific aspects (signed-in session, account, open project, credit balance). This specific verb-resource combination distinguishes it from sibling tools like generate_image and download_image, which serve entirely different purposes.

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

    Usage Guidelines4/5

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

    The description provides explicit guidance: 'Call this first when something fails.' This tells the agent when to use the tool, but it does not mention when not to use it or suggest alternative tools. Still, the clear directive covers a key usage scenario.

    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 disclosure burden. It usefully reveals parallel execution, one browser tab per prompt, a 4-job limit, and the lack of reference-image support. It does not describe whether the call waits for completion or what it returns, but the behavioral character is mostly clear.

    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 three tight sentences with no filler: it states what the tool does, how it behaves, when it is faster, what limits apply, and which sibling to use instead. Every sentence earns its place.

    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?

    The input side is thoroughly covered by the schema and the description, and the sibling relationship is clear. However, since there is no output schema, the description should state what the call produces or returns, and whether it blocks until images finish generating. That gap prevents full contextual completeness.

    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%, so the parameters are already well documented there. The description adds at most a reminder that each job can carry its own size and basename, but it does not materially deepen the parameter meaning beyond the schema.

    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 specifies a clear verb and resource: generate several different prompts at once, in parallel, with one browser tab per prompt. It also explicitly distinguishes this tool from generate_image, which removes any ambiguity about its purpose.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance: use this when generating multiple prompts in parallel because it is much faster than repeated calls, and explicitly tells the agent to use generate_image when reference images are involved. This makes the routing decision straightforward.

    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

nano-banana-mcp MCP server

Copy to your README.md:

Score Badge

nano-banana-mcp MCP server

Copy to your README.md:

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/frannkurt/nano-banana-mcp'

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