Hydra Vision MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hydra Vision MCPdiagnose this error screenshot and tell me how to fix it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
hydra-vision-mcp
A vision MCP server for image understanding, OCR, error diagnosis, diagrams, charts and UI analysis. Connect a text-only coding agent to a vision model through an OpenAI-compatible API.
Run
Requires Node.js 22+. No FFmpeg dependency.
export HYDRA_API_KEY='your-upstream-key'
export HYDRA_BASE_URL='https://your-provider.example/v1'
export HYDRA_MODEL='public/kimi-k3'
npx --yes @carlory/hydra-vision-mcp@latestlatest is the only publication channel. Tested main snapshots receive an automatically generated internal npm version. See publishing. The command becomes available when a snapshot has been published.
For a local checkout:
npm ci
npm run build
node dist/index.jsConfigure your MCP client using examples/mcp.json. The process uses stdio; tool logs go to stderr. Use an absolute path to npx or node if a desktop client cannot find it.
Related MCP server: vision-mcp
Registered tools
Tool | Purpose | Arguments |
| General image understanding |
|
| OCR and code transcription |
|
| Diagnose error screenshots |
|
| Architecture, UML and flowcharts |
|
| Charts and dashboards |
|
| Generate code, prompts, specs or descriptions |
|
| Compare expected and actual UI |
|
output_type accepts code, prompt, spec, or description. Each task uses its own prompt, parameter validation and text-only response format.
Local images are PNG/JPEG files up to 5 MB, encoded as data URLs. HTTP(S) image URLs are forwarded unchanged for the provider to retrieve. The tool does not download remote images or expose returned image blocks to the host model. Data URLs are generated internally; they are not accepted as user-facing file paths.
The analyze_video implementation is retained at src/tools/video-analysis.js but is not registered as an MCP tool. It uses native video_url, with no frame extraction or fallback. Video analysis is not invoked by tests.
These tools provide model-based visual reasoning, including OCR and UI comparisons. They do not use a separate OCR engine or pixel-difference algorithm. The host model chooses when to call tools; attachment handling is controlled by the client.
Configuration
Variable | Default | Purpose |
| Required for analysis | Upstream provider key |
| Required for analysis | API root; |
|
| Vision model |
|
| Request timeout |
|
| Output limit; adjust for your provider's model |
|
| Sampling temperature |
|
| Nucleus sampling |
Requests use thinking: { "type": "enabled" } and non-streaming responses. The backend forwards the tool's messages without rewriting prompts. Provider errors are returned as MCP tool errors. Tools retry failed operations with exponential backoff. No extra cache or structured analysis response is added.
Tool discovery works without a provider key. Configuration does not automatically load .env; local users can use Node's --env-file=/path/to/private.env.
Development
npm ci
npm run check
npm run test:packageChecks cover task prompt stability, image tool requests and responses, concurrent backend isolation, CLI stdio and isolated npm package installation. npm run test:live is an opt-in real-provider image test. Neither ordinary tests nor live tests invoke video analysis or launch Claude.
Code is organized by responsibility: MCP registration, tools, prompts, media handling, services and API providers.
License
See LICENSE, LICENSES and THIRD_PARTY_NOTICES.md.
Available Tools
7 toolsanalyze_data_visualizationA
Analyze data visualizations, charts, graphs, and dashboards to extract insights and trends.
Use this tool ONLY when the user has a data visualization image and wants to understand the data patterns or metrics. This tool specializes in interpreting visual data representations.
Do NOT use for: UI mockups, error messages, or technical architecture diagrams.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | What insights or information you want to extract from this visualization. | |
| image_source | Yes | Local file path or remote URL to the image | |
| analysis_focus | No | Optional: specify what to focus on (e.g., 'trends', 'anomalies', 'comparisons', 'performance metrics'). Leave empty for comprehensive analysis. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool specializes in interpreting visual data representations but does not disclose potential limitations (e.g., image format requirements, handling of multiple images, or that it returns textual insights). The core behavior is clear, but additional context would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the main purpose, then usage guidance, then exclusions. Every sentence adds value and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with no output schema and no annotations. The description adequately covers purpose, scope, and exclusions. It lacks explicit mention of the output format, which would be helpful for the agent, but the core context is complete enough for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter (prompt, image_source, analysis_focus) already has a description. The tool description does not add any extra meaning about parameters, which is acceptable given the schema fully covers them. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Analyze data visualizations, charts, graphs, and dashboards to extract insights and trends.' It clearly distinguishes this tool from siblings like extract_text_from_screenshot and understand_technical_diagram by focusing on data visualizations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'Use this tool ONLY when the user has a data visualization image and wants to understand the data patterns or metrics.' It also lists exclusions (UI mockups, error messages, technical architecture diagrams), making when/when-not usage very clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_imageA
General-purpose image analysis for scenarios not covered by specialized tools.
Use this tool as a FALLBACK when none of the other specialized tools (ui_to_artifact, extract_text_from_screenshot, diagnose_error_screenshot, understand_technical_diagram, analyze_data_visualization, ui_diff_check) fit the user's need.
This tool provides flexible image understanding for any visual content.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Detailed description of what you want to analyze, extract, or understand from the image. Be specific about your requirements. | |
| image_source | Yes | Local file path or remote URL to the image |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of disclosure. It accurately describes a read-only analysis tool and mentions flexibility, but does not disclose output format, limitations, or error behavior. This adds some context but leaves gaps common for analysis tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two short sentences that front-load the purpose and usage. It includes a list of siblings but keeps it compact and relevant. Every sentence earns its place without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description sufficiently covers the fallback context and general capabilities. Given the simplicity of the tool (2 params, no output schema), it does not need to explain return values. It could mention limitations of the fallback nature, but overall it is complete enough for effective selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are well-described in the schema. The tool description itself adds no extra parameter-specific meaning beyond noting the tool's general purpose. Baseline for full schema coverage is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a general-purpose image analysis tool, with a specific verb ('analyze') and resource ('image'). It explicitly lists sibling tools, distinguishing itself as a fallback rather than a specialized handler, which makes its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: 'Use this tool as a FALLBACK when none of the other specialized tools... fit the user's need.' It names the alternatives, making the selection criteria very clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnose_error_screenshotA
Diagnose and analyze error messages, stack traces, and exception screenshots.
Use this tool ONLY when the user has an error screenshot and needs help understanding or fixing it. This tool specializes in error analysis and provides actionable solutions.
Do NOT use for: code extraction, UI analysis, or diagram understanding.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Description of what you need help with regarding this error. Include any relevant context about when it occurred. | |
| context | No | Optional: additional context about when the error occurred (e.g., 'during npm install', 'when running the app', 'after deployment'). Helps with more accurate diagnosis. | |
| image_source | Yes | Local file path or remote URL to the image |
TDQS
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 communicates that the tool specializes in error analysis and 'provides actionable solutions,' implying a read-analyze-advise workflow. While it doesn't mention edge cases like image quality or privacy, the core behavior is clear and not contradicted by any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, front-loading the primary function and then providing usage guidance and exclusions in separate short paragraphs. Every sentence contributes meaningful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only 3 parameters, all documented in the schema. The description explains when to use it and what it returns ('actionable solutions'), which is enough for selection and invocation. It does not specify failure modes (e.g., unreadable images), but this is not essential for basic use. The explicit do-not-use list adds valuable contextual grounding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for all three parameters, achieving 100% coverage, so the baseline of 3 applies. The description adds context about the tool's purpose but does not introduce parameter-level details beyond the schema, which is appropriate given the strong schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb phrase 'Diagnose and analyze' and identifies the exact resource: 'error messages, stack traces, and exception screenshots.' It also differentiates itself from sibling tools by explicitly excluding code extraction, UI analysis, and diagram understanding, making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this tool ONLY when the user has an error screenshot and needs help understanding or fixing it.' It also provides clear exclusion criteria ('Do NOT use for: code extraction, UI analysis, or diagram understanding'), offering strong guidance relative to the sibling image analysis tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_text_from_screenshotA
Transcribe visible text from screenshots without repairing or beautifying the source.
Use this tool ONLY when the user has a screenshot containing text and wants to extract it. This tool specializes in OCR for code, terminal output, documentation, and general text extraction.
Do NOT use for: UI design conversion, error diagnosis, or diagram understanding.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Instructions for verbatim transcription. Specify the text to extract, output format, and any explicitly requested character normalization. | |
| image_source | Yes | Local file path or remote URL to the image | |
| programming_language | No | Optional: specify the programming language if the screenshot contains code (e.g., 'python', 'javascript', 'java'). Leave empty for auto-detection or non-code text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose one valuable trait: transcription is verbatim with no repair or beautification, which prevents an agent from expecting cleaned-up output. However, it says nothing about return format (plain text transcript?), handling of large/multi-page images, language coverage, or failure modes on unreadable text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short blocks: purpose first, then the positive trigger, then the exclusion list. Front-loaded and free of filler; the only near-redundancy is 'general text extraction' restating the opening sentence, which is minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter OCR tool with no output schema, the definition covers purpose, trigger, exclusions, and the verbatim-output stance well. It stops short of describing what the caller receives back or any limits on image size/format, which matters since there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (prompt, image_source, programming_language) are already documented in the schema, including the optional language hint. The description adds no syntax, format, or constraint detail beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Transcribe') and resource ('visible text from screenshots') plus a distinguishing constraint ('without repairing or beautifying the source'). The exclusions named in the description map directly onto siblings (ui_to_artifact, diagnose_error_screenshot, understand_technical_diagram), so an agent can separate this tool from its alternatives without reading any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the positive trigger ('ONLY when the user has a screenshot containing text and wants to extract it') and enumerates when not to use it ('UI design conversion, error diagnosis, or diagram understanding'). The alternatives are essentially named by their function, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_diff_checkA
Compare two UI screenshots to identify visual differences and implementation discrepancies.
Use this tool ONLY when the user wants to compare an expected/reference UI with an actual implementation. This tool is specialized for UI quality assurance and design-to-implementation verification.
Do NOT use for: general image comparison, error diagnosis, or analyzing single UIs.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Instructions for the comparison. Specify what aspects to focus on or what level of detail is needed. | |
| actual_image_source | Yes | Local file path or remote URL to the image | |
| expected_image_source | Yes | Local file path or remote URL to the image |
TDQS
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 states the tool identifies visual differences and implementation discrepancies, but does not disclose whether it is non-mutating, what output format it returns, or any limitations/error behavior. The read-only nature is inferable from 'compare' and 'diff_check', but not fully explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: four sentences, with the core purpose front-loaded in the first sentence. The subsequent sentences add value by specifying when to use, specialization, and exclusions without unnecessary repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three simple string parameters and no output schema, the description covers purpose, use cases, and exclusions effectively. It does not explain the return value or output format, but that is not critical for such a straightforward comparison tool; the description is sufficiently complete for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (expected_image_source, actual_image_source, prompt) described as local file path/remote URL or instructions. The description adds context by mapping 'expected/reference' to expected_image_source and 'actual implementation' to actual_image_source, but does not go beyond the schema in explaining parameter syntax or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Compare two UI screenshots to identify visual differences and implementation discrepancies', using a specific verb and resource. It also distinguishes this tool from siblings by focusing on UI quality assurance and design-to-implementation verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this tool ONLY when the user wants to compare an expected/reference UI with an actual implementation' and lists clear exclusions: 'Do NOT use for: general image comparison, error diagnosis, or analyzing single UIs.' This provides effective when/when-not guidance, implicitly steering users to sibling tools like analyze_image or diagnose_error_screenshot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_to_artifactA
Convert UI screenshots into various artifacts: code, prompts, design specifications, or descriptions.
Use this tool ONLY when the user wants to:
Generate frontend code from UI design (output_type='code')
Create AI prompts for UI generation (output_type='prompt')
Extract design specifications (output_type='spec')
Get natural language description of the UI (output_type='description')
Do NOT use for: screenshots containing text/code to extract, error messages, diagrams, or data visualizations.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Detailed instructions describing what to generate from this UI image. Should clearly state the desired output and any specific requirements. | |
| output_type | Yes | Type of output to generate. Options: 'code' (generate frontend code), 'prompt' (generate AI prompt for recreating this UI), 'spec' (generate design specification document), 'description' (natural language description of the UI). | |
| image_source | Yes | Local file path or remote URL to the image |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It reveals behavioral limitations (unsuitable for text/code extraction, error messages, etc.) and conveys the core transformation behavior. It stops short of detailing output formats, failure modes, or prerequisites, but the provided context is largely sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized into a clear opening sentence, a bulleted list of use cases, and an explicit exclusion list. While slightly longer than the minimal viable, every section contributes to effective instruction without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with the fully described input schema, covers the tool's purpose, valid output types, specific use cases, and content exclusions. The absence of an output schema is offset by the schema's enum descriptions, making the overall description complete enough for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's bullet list largely mirrors the output_type enum values already documented in the schema, adding little new parameter-level meaning. No additional detail is given for image_source or prompt beyond their schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: converting UI screenshots into code, prompts, specs, or descriptions. It differentiates itself from sibling tools by explicitly listing excluded content types like text/code extraction, error messages, diagrams, and data visualizations, which correspond to other tools' scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use scenarios for each output_type and lists concrete 'Do NOT use' cases (screenshots with extractable text/code, error messages, diagrams, data visualizations), making tool selection unambiguous for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
understand_technical_diagramA
Analyze and explain technical diagrams including architecture diagrams, flowcharts, UML, ER diagrams, and system design diagrams.
Use this tool ONLY when the user has a technical diagram and wants to understand its structure or components. This tool specializes in interpreting visual technical documentation.
Do NOT use for: UI screenshots, error messages, or data visualizations/charts.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | What you want to understand or extract from this diagram. | |
| diagram_type | No | Optional: specify the diagram type if known (e.g., 'architecture', 'flowchart', 'uml', 'er-diagram', 'sequence'). Leave empty for auto-detection. | |
| image_source | Yes | Local file path or remote URL to the image |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the tool's specialty and scope but doesn't mention output format, limitations, or any requirements beyond image input. For an analysis tool, this is adequate but not rich; no contradictions with annotations (none present).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each serving a purpose: defining the tool, giving usage directives, stating its specialization, and listing exclusions. There is no fluff or redundancy; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema and annotations, the description provides a complete picture of the tool's purpose, scope, and usage boundaries. The main gap is the unspecified return format, but 'explain' implies a text response, so the completeness is high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning each parameter (image_source, prompt, diagram_type) has its own description. The tool description adds no additional parameter-level semantics beyond what the schema already provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb+resource: 'Analyze and explain technical diagrams' and enumerates specific types (architecture, flowcharts, UML, ER, system design). It distinctly separates this from siblings by providing explicit exclusions, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use ('Use this tool ONLY when...') and when-not-to-use ('Do NOT use for: UI screenshots...') but does not name specific alternative tools. Despite this, it offers clear usage boundaries and context, which is nearly a 5 except for the missing explicit alternatives.
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.
7 tool updates
v0.0.0- First observed
analyze_data_visualization - First observed
analyze_image - First observed
diagnose_error_screenshot - First observed
extract_text_from_screenshot - First observed
ui_diff_check - First observed
ui_to_artifact - First observed
understand_technical_diagram
TDQS
Scored across 7 tools
Each tool targets a distinct image type or task (UI conversion, OCR, error diagnosis, technical diagrams, data viz, UI diff, general fallback) and descriptions explicitly state boundaries with 'Do NOT use for' exclusions, so an agent can easily select the right tool. The fallback is clearly defined as a last resort, preventing overlap.
All names use snake_case, but 5 of 7 follow a verb_noun pattern while 'ui_to_artifact' and 'ui_diff_check' start with a noun/adjective and use non-verb constructions. This mixed convention is readable but not fully consistent.
7 tools is well-scoped for an image analysis server, with six specialized tools covering common visual tasks plus one explicit fallback. Each tool has a clear purpose and no tool feels redundant.
The surface covers major screenshot and diagram analysis needs (UI conversion, OCR, error diagnosis, technical diagrams, data viz, UI diff) and includes a general fallback for uncovered cases. Minor gaps exist, such as structured data extraction from charts or non-UI image comparison, but agents can work around these via the fallback.
Maintenance
Related MCP Connectors
Image & PDF tools for AI agents: compress, convert, resize, PDF, AI vision, pipeline.
Generate images, GIFs, videos, and PDFs from HTML, URLs, or templates — from your AI agent.
PDF, image, video, OCR, screenshot, SQL, QR and text tools for agents. No API key, no signup.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to analyze images, extract text, compare images, and analyze video through any OpenAI-compatible vision model.4154 npm20MIT
- AlicenseAqualityCmaintenanceGives text-only coding agents the ability to 'see' images, videos, and screenshots by routing them to a vision model and returning structured text.814 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to analyze images using any OpenAI-compatible vision API, providing tools for image analysis, OCR, error diagnosis, diagram understanding, and chart analysis.MIT
- AlicenseAqualityAmaintenanceGives text-only LLM coding agents vision by routing images to a multimodal model and returning detailed textual descriptions. Supports local files, URLs, clipboard, base64, raw bytes, and multiple providers like OpenAI, Anthropic, and Gemini.155 npm13MIT