Skip to main content
Glama
hoangdn3

OpenRouter MCP Multimodal Server

by hoangdn3

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation4/5

    Most tools have distinct purposes targeting different resources or actions, such as analyzing audio vs. images vs. chat completions. However, 'mcp_openrouter_analyze_image' and 'mcp_openrouter_multi_image_analysis' could cause some confusion as both handle image analysis, though the multi-image variant is specialized for batch processing.

    Naming Consistency3/5

    The naming is mixed: some tools use a consistent 'mcp_openrouter_' prefix for multimodal functions (e.g., 'mcp_openrouter_analyze_audio'), while others like 'get_model_info' and 'search_models' follow a simpler verb_noun pattern without the prefix. This inconsistency reduces predictability but remains readable.

    Tool Count5/5

    With 7 tools, the count is well-scoped for a multimodal server focused on model interactions and analysis. It covers key areas like model management, chat, and various media analyses without being overwhelming or too sparse.

    Completeness4/5

    The toolset provides solid coverage for OpenRouter's multimodal capabilities, including model search/info, chat, and audio/image analysis. A minor gap is the lack of tools for video analysis or other media types, but core workflows are well-supported.

  • Average 3/5 across 7 of 7 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior2/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 retrieves information but doesn't specify whether it's a read-only operation, what permissions are needed, how errors are handled, or what the response format looks like. This leaves significant gaps for an AI agent to understand the tool's behavior.

    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 a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'detailed information' includes, how the data is structured, or potential error conditions. For a tool with no structured behavioral hints, this leaves the AI agent with insufficient context to use it effectively.

    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 schema description coverage is 100%, with the single parameter 'model' documented as 'The model ID to get information for'. The description adds no additional meaning beyond this, such as examples of model IDs or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

    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 verb ('Get') and resource ('detailed information about a specific model'), making the purpose understandable. However, it doesn't distinguish this tool from sibling tools like 'search_models' or 'validate_model', which likely serve different but related functions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate (e.g., for retrieving metadata) or when to use siblings like 'search_models' (for finding models) or 'validate_model' (for checking compatibility).

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't mention authentication requirements, rate limits, cost implications, response format, error conditions, or what types of analysis are possible. For a tool that likely involves API calls and costs, this is a significant gap.

    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 a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with clear parameters documented in the schema.

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

    Completeness2/5

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

    Given no annotations and no output schema, the description should provide more context about what the analysis returns, typical use cases, limitations, or prerequisites. As a vision analysis tool likely making external API calls, the current description is insufficient for an agent to understand the full behavioral context.

    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?

    Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. This meets the baseline expectation when schema coverage is high.

    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 action ('Analyze') and resource ('an image'), specifying the service provider ('using OpenRouter vision models'). It distinguishes from some siblings like audio analysis or chat completion, but doesn't explicitly differentiate from 'mcp_openrouter_multi_image_analysis' which handles multiple images.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided about when to use this tool versus alternatives. The description doesn't mention when to choose single-image analysis over multi-image analysis, or when vision analysis is appropriate versus other sibling tools like chat completion or audio analysis.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It mentions sending and receiving messages but doesn't cover rate limits, authentication requirements, costs, response formats, error handling, or any constraints beyond what's implied by the name. For a tool that likely involves API calls with potential costs and limits, this is insufficient.

    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 a single, efficient sentence that communicates the core functionality without unnecessary words. It's appropriately sized for the tool's complexity and gets straight to the point with zero wasted verbiage.

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

    Completeness2/5

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

    For a chat completion tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the response looks like, potential costs, rate limits, or how it differs from sibling tools. Given the complexity of the input schema (supporting multimodal messages) and the absence of structured behavioral hints, more context is needed for effective use.

    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?

    With 100% schema description coverage, the baseline is 3. The description adds no parameter-specific information beyond what's already documented in the comprehensive schema, which details model selection, message structure with roles and multimodal content, and temperature range. No additional parameter context is provided.

    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 action ('Send a message') and target ('OpenRouter.ai') with the outcome ('get a response'), making the purpose immediately understandable. However, it doesn't distinguish this chat completion tool from its sibling tools like audio/image analysis tools, which would require more specific differentiation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_model_info', 'search_models', and various analysis tools available, there's no indication of when chat completion is appropriate versus when to use other OpenRouter capabilities.

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

  • Behavior2/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 mentions receiving 'detailed responses' but doesn't specify format, length, or structure of outputs. It also omits critical details like rate limits, authentication requirements, error handling, or whether the operation is idempotent. For a tool with no annotations and no output schema, this leaves significant gaps in understanding its behavior.

    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 a single, efficient sentence that front-loads the core functionality ('Analyze multiple images at once with a single prompt') and adds value ('receive detailed responses'). There is no wasted text, repetition, or unnecessary elaboration, making it highly concise and well-structured.

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

    Completeness2/5

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

    Given the complexity of analyzing multiple images with AI, the lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'detailed responses' entail, potential limitations (e.g., image count, size), or how errors are handled. For a tool with 4 parameters and no structured output documentation, more context is needed to ensure reliable use.

    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?

    Schema description coverage is 100%, so the input schema fully documents all parameters. The description adds no additional meaning beyond what's in the schema, such as examples of valid prompts or image types. However, it does imply the tool handles multiple images, which aligns with the 'images' array parameter. Given high schema coverage, a baseline score of 3 is appropriate.

    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 multiple images at once with a single prompt and receive detailed responses.' It specifies the verb ('analyze'), resource ('multiple images'), and scope ('at once'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'mcp_openrouter_analyze_image' (single vs. multiple image analysis), which prevents a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'mcp_openrouter_analyze_image' for single-image analysis or 'mcp_openrouter_chat_completion' for non-image tasks, nor does it specify prerequisites, constraints, or exclusions. Usage is implied by the name and description but not explicitly stated.

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

  • Behavior2/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 mentions searching and filtering but doesn't cover key aspects like whether this is a read-only operation, potential rate limits, authentication needs, or what the output format looks like (e.g., list of models with details). This leaves significant gaps for a tool with 8 parameters.

    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 a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized for a search tool, though it could be slightly more structured by front-loading key details like the resource type more prominently.

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

    Completeness2/5

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

    Given the complexity (8 parameters, nested objects) and lack of annotations or output schema, the description is insufficient. It doesn't explain behavioral traits, return values, or usage context, making it incomplete for effective agent operation despite the clear purpose.

    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 schema description coverage is 100%, so the input schema fully documents all parameters. The description adds no additional parameter semantics beyond what's in the schema, such as explaining relationships between parameters or usage examples. This meets the baseline for high schema coverage.

    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 action ('search and filter') and resource ('OpenRouter.ai models'), making the purpose evident. However, it doesn't explicitly differentiate this tool from sibling tools like 'get_model_info' or 'validate_model', which likely serve different purposes but aren't contrasted here.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'get_model_info' or 'validate_model'. It mentions filtering criteria but doesn't specify scenarios or prerequisites for selecting this tool over others, leaving the agent without contextual usage direction.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden but only states the action without behavioral details. It doesn't disclose traits like whether it's read-only, if it requires authentication, rate limits, or what happens on invalid input (e.g., error handling). This is a significant gap for a tool with zero annotation coverage.

    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 a single, efficient sentence: 'Check if a model ID is valid'. It's front-loaded with the core purpose, has zero waste, and is appropriately sized for this simple tool.

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

    Completeness2/5

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

    Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is incomplete. It lacks context on behavioral traits, usage guidelines, and output expectations (e.g., boolean result or error details), making it inadequate for effective agent use despite the simple schema.

    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 schema description coverage is 100%, with the parameter 'model' documented as 'The model ID to validate'. The description adds no additional meaning beyond this, such as format examples or validation criteria. Baseline 3 is appropriate since the schema does the heavy lifting.

    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: 'Check if a model ID is valid' specifies the verb ('check') and resource ('model ID'), making it understandable. However, it doesn't distinguish from sibling tools like 'get_model_info' or 'search_models', which might also involve model IDs but serve different purposes.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like verifying model existence before operations or contrast with siblings like 'get_model_info' for detailed info or 'search_models' for discovery, leaving usage context unclear.

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

  • Behavior2/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 mentions that the tool transcribes audio and provides raw content, but it lacks details on behavioral traits such as rate limits, authentication needs, error handling, or whether the operation is read-only or has side effects. This is a significant gap for a tool with no annotation coverage.

    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 concise and well-structured in a single sentence, front-loaded with the core purpose ('Transcribe audio files and provide raw content') followed by supporting details. Every part earns its place without redundancy, making it efficient for an agent to parse.

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

    Completeness3/5

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

    Given the tool's complexity (audio transcription with model selection), lack of annotations, and no output schema, the description is moderately complete. It covers the basic purpose and input sources but misses behavioral context and output details. It's adequate as a minimum viable description but has clear gaps in guiding the agent fully.

    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?

    Schema description coverage is 100%, so the input schema already documents both parameters (audio_url and model) thoroughly. The description adds minimal value beyond the schema by reiterating supported formats and sources, but it doesn't provide additional semantic context like examples of model choices or usage tips. Baseline 3 is appropriate as the schema does the heavy lifting.

    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: 'Transcribe audio files and provide raw content.' It specifies the action (transcribe), resource (audio files), and output (raw content). However, it doesn't explicitly differentiate from sibling tools like mcp_openrouter_chat_completion or mcp_openrouter_analyze_image, which handle different media types, so it misses the top score.

    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 implies usage by mentioning supported file formats (wav/mp3) and sources (CDN URLs or local paths), but it doesn't provide explicit guidance on when to use this tool versus alternatives. For example, it doesn't compare to sibling tools like mcp_openrouter_chat_completion for text-based tasks or specify prerequisites. This leaves some ambiguity for the agent.

    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

mcp-ocr-fallback MCP server

Copy to your README.md:

Score Badge

mcp-ocr-fallback 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/hoangdn3/mcp-ocr-fallback'

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