Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct input type: vision_analyze for images, vision_ocr for text extraction from images, vision_video for videos, and vision_document for documents. The description explicitly advises using vision_ocr over vision_analyze for text extraction, eliminating ambiguity.

    Naming Consistency4/5

    All tools follow a consistent vision_ prefix and use lowercase snake_case. However, vision_analyze uses a verb while vision_ocr, vision_video, and vision_document use nouns or acronyms, creating a minor inconsistency in part of speech.

    Tool Count5/5

    With 4 tools, the server is well-scoped for its domain of multimodal vision analysis. Each tool addresses a different input modality (images, OCR, videos, documents), leaving no obvious gaps while avoiding unnecessary bloat.

    Completeness5/5

    The set covers the core capabilities one would expect from a vision MCP server: general image analysis, OCR, video understanding, and document Q&A. No essential operations are missing for the stated purpose of analyzing visual content.

  • Average 4.2/5 across 4 of 4 tools scored.

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

    • No community issues in the last 6 months
    • 8 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.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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool extracts all text from images using a vision model, which implies a non-destructive read operation. However, it does not disclose details like whether the model has limitations on image size, supported formats, or rate limits, making the transparency adequate but not thorough.

    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 short and front-loaded with the main purpose. The Args and Returns sections are structured clearly. It is reasonably concise, though the Returns line adds minimal value since an output schema exists.

    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 has only 1 parameter and an output schema, the description covers the key input semantics and purpose. The sibling context adds differentiation. However, it lacks detail on output format (e.g., concatenated or structured) and potential limitations, but the output schema likely covers return structure.

    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?

    The description adds some meaning by explaining images are 'Image references (http(s) URL, local file path, or data URI)', which clarifies the type beyond the schema's simple 'string' specification. With schema description coverage at 0% and only 1 parameter, the description compensates partially but could provide more detail like format expectations or size limits.

    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 extracts all text from images via a vision model. The verb 'Extract' and resource 'images' with OCR via vision model provides a specific purpose, and it distinguishes itself from sibling tools like vision_analyze (likely for analysis not OCR) and vision_video (for video).

    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 lists accepted image types (URL, path, or data URI) which gives context for when to use, but it does not explicitly say when not to use this tool versus alternatives like vision_analyze or vision_document. The guidelines are implied but lack explicit exclusions or comparisons.

    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 burden. It reveals some behavioral traits like model override defaults and provider-specific handling of the 'thinking' parameter. However, it does not mention side effects, rate limits, authentication needs, or failure modes, which are typical transparency concerns for a tool without annotation support.

    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 front-loaded with a one-sentence purpose, followed by a compact use-case line and an explicit pointer to OCR. The Args/Returns structure is clean and each sentence provides necessary context without fluff. Despite detailing 5 parameters, it remains appropriately concise.

    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 description covers purpose, usage, all parameters, and return value. Since an output schema is indicated, return-value detail is sufficient. It could be more complete by mentioning image count/size limits or error behavior, but overall it provides robust context for an AI agent to invoke the tool.

    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 description coverage is 0%, but the description compensates exceptionally by explaining every parameter in detail: images (URL/path/data URI), prompt (with example), model (default behavior), max_tokens (cap), and thinking (provider compatibility). This adds substantial meaning beyond the raw 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 opens with a specific verb and resource ('Analyze one or more images with a vision model'), enumerates supported content types, and explicitly distinguishes from a sibling tool ('For text extraction prefer vision_OCR'). This clearly differentiates it from vision_ocr, vision_video, and vision_document.

    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 an explicit alternative for a specific use case (text extraction → vision_OCR) and states general applicability (photos, screenshots, layouts, etc.). However, it does not address when to use vision_video or vision_document, leaving some ambiguity among 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?

    Since no annotations are provided, the description carries the full burden. It discloses key behaviors: default model configuration, optional reasoning chain support, and limits on response length. It also notes that thinking is ignored by providers that don't support it. No contradictions with annotations.

    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 well-structured with a clear header, parameter descriptions, and return value note. It is concise but provides necessary details. A slight reduction from 5 because the parameter explanations could be more terse without losing clarity.

    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 complexity (5 parameters, 2 required) and the presence of an output schema, the description is largely complete. It explains all parameters, usage tips, and return type. It could briefly mention what happens with the 'thinking' parameter for models that do support it.

    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 description adds significant meaning beyond the input schema. It explains that 'videos' can be URLs, local file paths, or data URIs; clarifies what 'prompt' should contain with temporal examples; specifies optional model override and response length cap; and details the 'thinking' parameter's compatibility. This is particularly valuable given the 0% schema coverage.

    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 it understands one or more videos with a vision model, which is a specific verb+resource combination. It also distinguishes itself from sibling tools like vision_analyze (likely for images/analysis) and vision_ocr (text extraction) by explicitly focusing on videos and temporal questions.

    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 on when to use this tool (understanding videos) and includes tips like 'for temporal questions be explicit about time points.' However, it does not explicitly mention when NOT to use it or direct the agent to alternative sibling tools for non-video use cases.

    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?

    No annotations are provided, so the description carries full burden. It clearly states return value (text answer), explains optional features (thinking enables reasoning chain, notes provider-specific behavior), and notes model default behavior. However, it could be more transparent about document size limitations or auth/access 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?

    The description is efficiently structured with a one-liner purpose, a usage recommendation sentence, and clearly labeled parameter list. Every sentence adds value, there is no redundancy, and the overall length is appropriate for the tool complexity.

    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?

    Given the tool has an output schema (partial burden relief), 5 parameters, and no annotations, the description covers purpose, parameter semantics, usage guidance, and return value completely. It addresses the tool's complexity well, leaving no obvious gaps for safe invocation.

    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?

    Schema coverage is 0%, so the description fully compensates by explaining all 5 parameters: files (URL, path, or data URI), prompt (with example), model (optional override), max_tokens (length cap), and thinking (reasoning chain toggle with provider caveat). This is well beyond what the bare schema provides.

    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 answers questions about various document formats (pdf/doc/docx etc.) and identifies specific use cases like reports, papers, spec sheets, and extracting data from tables/charts. The scope ('ask questions about documents') is specific and distinct from potential sibling tools (e.g., vision_analyze, vision_ocr).

    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 gives explicit when-to-use guidance ('Great for reports, papers, spec sheets...') and provides example prompts. It also implies when alternatives might be needed by listing sibling tools like vision_ocr and vision_video, but does not explicitly say when NOT to use this tool or name specific alternatives for different tasks.

    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

dsh-vision MCP server

Copy to your README.md:

Score Badge

dsh-vision 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/smjda0719/dsh-vision'

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