Skip to main content
Glama
quickstraw

vision-helper-mcp-server

by quickstraw

Analyze Image with a Vision Model (Vision Helper)

vision_helper_analyze_image
Read-onlyIdempotent

Analyze images with a vision model: extract descriptions, transcribe text, or compare multiple images. Accepts URLs, file paths, or base64 data and returns text analysis.

Instructions

Analyze one or more images using a vision-capable model from OpenRouter. Use this whenever you need to know what is in an image but you cannot see images yourself.

This is the Vision Helper MCP server's own analysis tool (distinct from any other vision server you may have configured). It loads the image(s) — from a URL, a local file path, a file:// URI, a data: URI, or raw base64 — and sends them to a vision model, then returns that model's analysis as text.

Security notes: local files are read and sent to OpenRouter only when explicitly requested; only image content is uploaded and only if it is a supported format (PNG, JPEG, WebP, or GIF, per OpenRouter). Remote URLs are validated against private/internal hosts and redirects before fetching.

Args:

  • image (string | string[]): Image source(s). Accepted forms: http(s) URL, local file path, file:// URI, data: URI (data:image/png;base64,...), or raw base64. Pass an array to analyze several images together (e.g. to compare them). Relative file paths resolve against the MCP client's working directory — prefer absolute paths or URLs.

  • prompt (string, optional): What the vision model should look for, e.g. 'Transcribe all text in this screenshot' or 'Describe the objects and colors'. Defaults to a general detailed description.

  • model (string, optional): OpenRouter model ID, e.g. 'google/gemini-3.6-flash'. Defaults to the OPENROUTER_MODEL environment variable, then to 'google/gemini-3.6-flash'. Use vision_helper_list_models to see current options.

  • max_tokens (number, optional): Max tokens for the answer (64-16000).

  • temperature (number, optional): Sampling temperature (0-2).

Returns: Text containing the vision model's analysis, prefixed with the model and image sources used. Long analyses are truncated at 25000 characters with a marker.

Examples:

Error Handling:

  • "Error: No OpenRouter API key found..." -> run vision_helper_check_config to see how keys are resolved.

  • "Error: Model not found..." -> run vision_helper_list_models and pass a valid model id.

  • "Error: Image is N bytes, which exceeds MAX_IMAGE_SIZE..." -> shrink the image or raise MAX_IMAGE_SIZE.

  • "Error: ... only accept PNG, JPEG, WebP, or GIF ..." -> convert the image to a supported format.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
imageYesImage to analyze: a URL, local file path, data URI, raw base64, or an array of these.
modelNoOpenRouter model ID to use for vision analysis, e.g. 'google/gemini-3.6-flash'. Defaults to the OPENROUTER_MODEL environment variable, then to a built-in default. Use vision_helper_list_models to discover current vision-capable models.
promptNoOptional instruction for the vision model describing what to look for. Example: 'Transcribe all text in this screenshot'. When omitted, a general detailed description is used.
max_tokensNoMaximum number of tokens for the vision model's answer.
temperatureNoSampling temperature (0-2). Lower is more deterministic.
Behavior5/5

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

Beyond annotations (readOnlyHint, openWorldHint, idempotentHint), the description discloses security behavior (local file reads only when requested, URL validation against internal hosts), format limitations (PNG/JPEG/WebP/GIF), and output truncation at 25000 characters. It also reveals default model resolution order, granting deep transparency without contradicting 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/5

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

The description is long but every section earns its place. It is front-loaded with the core purpose, then organized into Args, Returns, Examples, and Error Handling. The structure allows quick scanning and is free of filler.

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

Completeness5/5

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

For a tool with 5 parameters, no output schema, and security implications, the description covers all bases: input formats, defaults, return value format, error handling, and usage examples. It is fully self-contained and enables correct invocation without external lookup.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds substantial value: it enumerates accepted forms for 'image', explains relative path resolution, provides concrete examples for each parameter, states ranges and defaults for max_tokens/temperature, and clarifies model fallback logic. This greatly exceeds baseline schema explanations.

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 opens with a specific verb+resource: 'Analyze one or more images using a vision-capable model.' It clearly distinguishes itself from sibling tools by stating it is the Vision Helper's own analysis tool and distinct from other vision servers. Purpose is unambiguous and context-rich.

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?

It explicitly states when to use: 'Use this whenever you need to know what is in an image but you cannot see images yourself.' It also warns against confusion with other vision servers and directs users to sibling tools (check_config, list_models) in error cases, providing clear alternative guidance.

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

Install Server

Other Tools

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/quickstraw/vision-helper-mcp-server'

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