Skip to main content
Glama
dhanavathsrikanth

screenshotapi-mcp

Server Quality Checklist

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

  • Disambiguation4/5

    Tools are mostly distinct: render-screenshot captures full pages, capture-element targets specific DOM elements, convert-to-markdown extracts text, get-screenshot retrieves by ID, and get-usage is account-related. The only minor overlap is between the two capture tools, but their descriptions clearly differentiate full-page vs. element capture.

    Naming Consistency5/5

    All tool names follow a consistent verb-noun pattern with hyphenated lowercase (render-screenshot, capture-element, convert-to-markdown, get-usage, get-screenshot). The verbs clearly indicate actions, and the nouns identify the object, making the naming predictable and easy to infer.

    Tool Count5/5

    With 5 tools, the server is well-scoped for a screenshot utility. Each tool serves a distinct purpose without redundancy, covering the core capture, retrieval, conversion, and account management needs. This count is appropriate and not overwhelming or thin.

    Completeness4/5

    The tool surface covers the primary workflow: capturing screenshots (full-page and element), converting to markdown, retrieving past captures, and checking usage. Minor gaps exist, such as no tool for listing all captures or deleting them, but these are not essential for the core screenshot API functionality and can be worked around.

  • Average 3.6/5 across 5 of 5 tools scored.

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

    • No community issues in the last 6 months
    • 1 commit 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
  • 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

  • Behavior3/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It mentions the return format and lists supported features (device emulation, dark mode, ad/cookie/tracker blocking, geo-targeting, full-page), which is helpful. However, it does not disclose any potential failures, auth requirements, rate limits, or the nature of the returned URL (e.g., temporary vs. permanent), leaving gaps in behavioral context. It is 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 concise, with two sentences that front-load the primary action and return info. It avoids redundancy and is easy to scan. It could be slightly more structured (e.g., separating features), but it is efficient and clear.

    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 has 15 parameters and no output schema, the description provides only a high-level overview. It fails to mention how it differs from the sibling 'get-screenshot', which is critical for tool selection. It also does not mention any constraints (e.g., URL accessibility, authentication) or elaborate on the returned image URL's properties. This incompleteness leaves an agent uncertain about when and how to use it correctly.

    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 baseline is 3. The description references many features that map to parameters (e.g., dark_mode, block_ads, country, full_page), but these are already well-described in the schema. The description adds little semantic value beyond grouping these features together; it does not clarify any parameter's deeper behavior or edge cases.

    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 'Capture' and the resource 'screenshot of any website URL', and also mentions the return values (image URL, dimensions, file size). However, it does not differentiate from the sibling tool 'get-screenshot', which likely performs a similar function, so it loses a point for not distinguishing between similar tools.

    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-screenshot' or 'capture-element'. It simply states what it does without any context on selection criteria, prerequisites, or exclusions. An agent would have no basis to choose this over its siblings.

    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 behavioral burden. It only states the purpose and the efficiency aspect (not rendering entire page). It does not disclose what happens if the selector is not found, whether it waits for the element, or any side effects. The description adds almost nothing beyond the schema, which already documents parameters.

    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, front-loaded sentence that immediately states the action and purpose. Every word contributes to the tool's function, with no filler or redundancy.

    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 complexity (12 parameters, 2 required, no output schema, no annotations), the description is minimal. It does not explain return behavior (presumably an image), error handling, or constraints like element visibility. An agent might need more guidance on how to use it correctly, such as whether the element must be in the viewport or if scrolling is handled.

    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 every parameter already has a description. The tool description itself does not add any extra meaning about parameters, so the baseline 3 applies. It does not clarify relationships between parameters or typical usage patterns.

    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 states exactly what the tool does: capture an element via CSS selector, with concrete examples (headers, articles, widgets). It also differentiates itself by noting it avoids rendering the entire page, which hints at its distinct role among siblings like render-screenshot and get-screenshot.

    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 clear usage context: when you need a specific DOM element like a header or widget. It does not explicitly name alternatives or state when not to use it, but the phrase 'without rendering the entire page' implies a contrast with full-page capture tools, providing context without explicit exclusions.

    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 responsibility for disclosing behavioral traits. It mentions 'render a webpage' but does not explain potential failures (JS-dependent pages, timeouts, rate limits) or whether output is synchronous. This leaves the agent without important operational expectations.

    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?

    Two purposeful sentences with no filler. The primary action and purpose are stated first, and the use cases follow. Every word contributes to the agent's understanding, achieving ideal succinctness.

    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 simplicity (one parameter, no output schema, no nested objects), the description is largely complete. It communicates the goal and typical uses. However, because there are no annotations, a mention of expected behavior on dynamic content would make it fully robust. Still, it is adequate for straightforward invocation.

    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% (the single 'url' parameter is documented as 'URL of the page to convert to Markdown'). The description adds no additional meaning beyond the schema, so it meets the baseline but does not exceed it. Since it is a single well-described parameter, this is acceptable.

    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?

    Clearly states the verb (render/convert) and resource (webpage to Markdown). The phrase 'clean Markdown' adds specificity. It is easily distinguishable from sibling tools that focus on screenshots or usage, and no ambiguity exists about what the tool accomplishes.

    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?

    Provides use-case context ('extracting readable text... for analysis, summarization, or data processing') but does not explicitly contrast with alternatives like render-screenshot or get-screenshot. It implies when to use but omits any when-not guidance. A clear exclusion would strengthen this dimension.

    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 burden of disclosing behavior. It clearly implies a read operation ('retrieve') and mentions polling, but does not describe error handling, return format, or whether the response is a status vs. image data. It is accurate but lacks depth for a tool with no output schema.

    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 sentence that front-loads the core action and then adds usage context. Zero waste, every word earns its place.

    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?

    For a simple get-by-id operation, the description covers the action and usage, but with no output schema, it leaves the agent wondering about return values (e.g., does it return the image, a status, or a URL?) and error conditions. This is a meaningful gap for a polling tool, so it is merely adequate.

    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 parameter is fully documented as 'The screenshot job ID to retrieve.' The description adds context about polling, but adds no extra meaning to the id parameter itself. Baseline of 3 applies.

    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 states a specific verb ('Retrieve') and resource ('screenshot job'), and clarifies it is for polling async jobs or retrieving prior captures. This clearly distinguishes it from sibling creation tools like render-screenshot and capture-element.

    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?

    Explicitly tells when to use it (poll async jobs, retrieve previously captured screenshots), which gives clear context. It does not explicitly name alternatives or when-not-to-use, but the sibling names make the distinction obvious, so it earns a 4 rather than a 5.

    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 provided, the description must carry full behavioral disclosure. It implies a read-only operation but does not mention authentication requirements, rate limits, or that no side effects occur. The description is sufficient for a basic read tool but lacks extra transparency about potential constraints.

    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 sentence that front-loads the main action ('Check your ScreenshotAPI account usage') and efficiently lists the key outputs in a dash-delimited series. There is no redundancy or filler.

    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 zero parameters and no output schema, the description provides a reasonable enumeration of what the tool reports (remaining screenshots, credits, plan details, feature entitlements). It does not specify the exact return format (e.g., JSON structure), but for a simple account-usage check this is mostly sufficient. A minor gap is the lack of mention of how data is returned.

    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 tool has zero parameters, so the baseline is 4 per the rubric. The description adds context about what the returned information covers (remaining screenshots, credits balance, etc.), which is helpful even though it is not parameter-related. No further parameter semantics are needed.

    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 verb 'Check' and resource 'ScreenshotAPI account usage', enumerating specific data points (remaining screenshots, credits balance, plan details, feature entitlements). It unambiguously distinguishes this from sibling tools that render or capture screenshots.

    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 this tool is for account status inquiries but does not explicitly state when to use it over siblings or provide any exclusions. Since siblings are all screen-capture related, an agent can infer the purpose, but no explicit guidance is given.

    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

screenshotapi-mcp MCP server

Copy to your README.md:

Score Badge

screenshotapi-mcp 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/dhanavathsrikanth/screenshotapi-mcp'

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