omni-vision-pro
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a completely different content type: images, source code/directories, and zip archives. There is no overlap or ambiguity between their purposes.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern: analyze_images, read_code_context, read_zip_context. The naming is uniform and predictable.
Tool Count5/5With only 3 tools, the server is well-scoped and each tool has a distinct, focused responsibility. The count is at the lower end but well within the typical range for a focused utility server.
Completeness3/5The server covers images, source code, and zip files, but lacks support for other common file types like PDFs, generic plain text, or non-zip archives. This leaves notable gaps in a general-purpose 'context extraction' server.
Average 4.1/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
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already indicating read-only and idempotent behavior, the description adds valuable context: operates entirely in memory, does not extract to disk, applies filtering categories, and returns a virtual file tree and text contents. 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that front-loads the main verb and object, then packs in filters, return type, and safety behavior without redundancy or waste.
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?
The description covers the core purpose, return type, and safety aspects, and annotations cover the read-only profile. However, it omits explanations for the optional parameters and does not address edge cases (e.g., password-protected zips, empty archives). Given low schema coverage, these are notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'path' has a description). The description does not compensate for undocumented 'max_files' and 'max_output_bytes'—it doesn't mention them or explain their function. The filtering categories listed are internal behaviors, not parameter meanings, leaving the agent without guidance.
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 tool's purpose: 'Inspect a .zip archive entirely in memory' with specific filtering and return behavior. It distinguishes itself from sibling tools (read_code_context, analyze_images) by focusing on ZIP archives and in-memory processing.
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?
The context implies this tool is for reading ZIP archives, but the description does not explicitly mention when to use it versus alternatives or state exclusions. It lacks guidance like 'for code files use read_code_context' or 'not for large archives beyond limits'.
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?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds valuable behavioral detail beyond annotations: it does not follow symlinks and filters out vendor/build folders, binaries, and secret files. This explains the 'clean' output promise. It could further clarify edge cases (e.g., behavior with missing paths or the effect of max_files), but the added filtering context is meaningful.
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, well-structured sentence that front-loads the core action ('Read a source file or directory'), then incrementally adds the filtering rules and the return behavior. Every clause adds information and there is no redundancy or filler.
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?
The description covers the core purpose and the most important filtering behaviors, and annotations cover safety. However, it omits details about the two limit parameters, the exact structure of the returned tree/contents, and any error behavior. Given the absence of an output schema, these gaps leave the description not fully self-sufficient for an agent making invocation decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'path' has a description). The description does not compensate for the under-documented 'max_files' and 'max_output_bytes' parameters; it only reiterates that 'path' can be a file or directory, which the schema already says. The two limiting parameters remain unexplained, and the description adds no new semantic value for them.
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 a specific verb ('Read') plus a clear resource ('a source file or directory') and elaborates with filtering criteria (no symlinks, omits vendor/build folders, binaries, secrets) and a stated output ('clean tree and contents'). This clearly differentiates it from sibling tools like analyze_images and read_zip_context, which target different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading source code while excluding non-essential or sensitive files, giving clear context. However, it does not explicitly state when to prefer this tool over the listed siblings or provide exclusion criteria (e.g., 'for images use analyze_images'). It lacks explicit alternatives or when-not-to-use guidance.
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?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds valuable context such as resizing, strict processing order, and the use of specific external models (Gemini, OpenAI, OCR), which justifies the expected behavior. It doesn't mention potential network dependencies or rate limits, but the core behavioral traits are disclosed.
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, dense sentence that front-loads the action and follows a logical sequence (resolve, resize, analyze, return). Every clause contributes information, with no filler or redundancy.
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?
With only 2 parameters and no output schema, the description provides a fairly complete picture of the workflow and the return format ('delimited JSON context'). It could be more specific about the JSON structure and any prerequisites, but given the annotations and simplicity, it's adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover both parameters at 100% coverage. The description enriches the meaning by specifying that image_paths are local/OpenCode references, that order matters for analysis, and that images are resized—details not present in the schema. It also ties the prompt to the analysis focus implied by the pipeline.
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 ('Resolve', 'resize', 'analyze') and names the resources (local/OpenCode image paths) and the processing pipeline (Gemini, OpenAI, OCR). It clearly distinguishes from sibling tools like read_code_context and read_zip_context, which target code and zip files, not images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the tool is for analyzing images and outlines the ordered process, making it obvious when to use it. It doesn't explicitly exclude other tools, but the sibling names (read_code_context, read_zip_context) show they serve different content types, so the context is clear.
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/0xnurrabby/omni-vision-pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server