Skip to main content
Glama

Vision MCP

MCP server for image analysis using Vision Language Models.

Quickstart

  1. Install uv (Python package manager):

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Configure your MCP client (e.g., Claude Desktop):

Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json:

{
  "mcpServers": {
    "Vision": {
      "command": "uvx",
      "args": ["vision-mcp"],
      "env": {
        "OPENAI_API_KEY": "your-api-key",
        "OPENAI_API_BASE": "https://api.openai.com",
        "OPENAI_MODEL": "gpt-4o"
      }
    }
  }
}

Related MCP server: Image Parse MCP

Environment Variables

Variable

Required

Description

OPENAI_API_KEY

Yes

API key for authentication

OPENAI_API_BASE

Yes

API base URL

OPENAI_MODEL

Yes

Model name for vision tasks

Available Tools

Tool

Description

analyze_image

Analyze images using Vision Language Model

analyze_image

Analyze and understand image content from files or URLs.

Parameters:

  • prompt (str): The text prompt describing what to analyze

  • image_source (str): Image URL or local file path

Supported formats: JPEG, PNG, WebP

License

MIT

Acknowledgments

This project is inspired by MiniMax-Coding-Plan-MCP by MiniMax AI.

Available Tools

1 tool
analyze_imageA
A powerful LLM that can analyze and understand image content from files or URLs, follow your instruction.
Use this tool to analyze images by LLM.
Only support jpeg, png, webp formats. Other formats like pdf/gif/psd/svg and so on are not supported.

Args:
    prompt (str): The text prompt describing what you want to analyze or extract from the image.
    image_source (str): The source location of the image to analyze.
        Accepts:
        - HTTP/HTTPS URL: "https://example.com/image.jpg"
        - Local file path:
            - Relative path: "images/photo.png"
            - Absolute path: "/Users/username/Documents/image.jpg"
        IMPORTANT: If the file path starts with @ symbol, you MUST remove the @ prefix before passing to this function.
        For example:
            - If you see "@Documents/photo.jpg", use "Documents/photo.jpg"
            - If you see "@/Users/username/image.png", use "/Users/username/image.png"
        Supported formats: JPEG, PNG, WebP

Returns:
    Text content with the image analysis result.
ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
image_sourceYes

TDQS

A3.8/5.0
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 of behavioral disclosure. It adds useful context about supported/unsupported image formats and important handling of the '@' prefix in file paths, which goes beyond basic functionality. However, it doesn't disclose other behavioral traits like rate limits, authentication needs, error handling, or what 'powerful LLM' entails operationally, leaving gaps for a tool with mutation-like analysis capabilities.

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 appropriately sized and front-loaded with core functionality in the first sentence. However, it includes some redundancy (e.g., repeating 'LLM' and format lists) and the 'Args:'/'Returns:' section headers add structure but aren't strictly necessary. Most sentences earn their place, particularly the detailed parameter explanations, though minor trimming could improve efficiency.

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 tool's moderate complexity (2 required parameters, no output schema, no annotations), the description is reasonably complete. It covers purpose, parameters, format constraints, and return values ('Text content with the image analysis result'). The main gap is lack of behavioral details like error cases or LLM-specific limitations, but it provides enough context for basic usage without being overwhelming.

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?

The description adds substantial meaning beyond the input schema, which has 0% schema description coverage. It clearly explains both parameters: 'prompt' as 'the text prompt describing what you want to analyze or extract' and 'image_source' with detailed examples of URL formats, local paths, and critical handling of the '@' prefix. This fully compensates for the schema's lack of documentation, providing complete parameter semantics.

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 tool's purpose: 'analyze and understand image content from files or URLs' and specifies it uses an LLM. It distinguishes the action (analyze) and resource (image content), though it doesn't differentiate from siblings since none exist. The initial sentence is slightly redundant with 'powerful LLM' but still communicates core functionality effectively.

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?

The description provides some usage context: 'Use this tool to analyze images by LLM' and specifies supported formats (JPEG, PNG, WebP) while listing unsupported ones. However, it lacks explicit guidance on when to use this tool versus alternatives (no siblings exist) or any prerequisites beyond format constraints. The guidance is implied rather than explicit.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedanalyze_image

TDQS

A3.7/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool 'analyze_image' has a singular, clearly defined purpose of analyzing image content, making disambiguation perfect.

Naming Consistency5/5

A single tool inherently has consistent naming, as there are no other tools to compare it against. The name 'analyze_image' follows a clear verb_noun pattern, which would be consistent if more tools were added.

Tool Count2/5

A single tool for a 'Vision MCP' server feels thin and incomplete for the apparent scope of image analysis. While the tool is powerful, the domain likely requires more operations (e.g., image processing, comparison, or metadata extraction) to be well-scoped, making the count too low.

Completeness2/5

The tool surface is severely incomplete for a vision-related domain. It only provides analysis, with no support for other common operations like image generation, editing, filtering, or batch processing. This will cause agent failures when tasks require more than basic analysis.

Maintenance

ActivityInactive
ResponsivenessNo issues

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/i-richardwang/Vision-MCP'

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