Skip to main content
Glama
rog0x
by rog0x

Server Quality Checklist

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

  • Disambiguation3/5

    web_extract and web_multi_extract are clearly related, with the latter being just a parallel variant, and html_to_markdown overlaps with web_extract for URL-to-content conversion. Search and monitor are clearly distinct, but the extraction/convert boundary could cause misselection.

    Naming Consistency3/5

    Most tools follow web_<action>, but html_to_markdown breaks the prefix pattern and uses a different target_to_target style. The pair web_extract/web_multi_extract is consistent, but overall naming conventions are mixed.

    Tool Count5/5

    Five tools is a well-scoped size for a web utility server, covering search, monitoring, extraction, and conversion without unnecessary bloat. Each tool earns its place, though the single vs. multi extract duplication is minor.

    Completeness4/5

    The toolkit covers core web operations: search, availability/response checking, single-URL and multi-URL extraction, and HTML-to-markdown conversion. Minor gaps exist (e.g., no URL validation or site traversal), but agents can accomplish common web tasks without dead ends.

  • 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
    • 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 status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description must carry the full burden of behavioral disclosure. It does not mention whether the tool handles JavaScript-rendered pages, follows redirects, requires authentication, or what the structured output format looks like. For an extraction tool, these are significant gaps that could affect invocation 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?

    The description is a single, efficient sentence that lists the exact content types extracted. It is front-loaded with the action and resource, with zero filler words, 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 that there is no output schema and no annotations, the description should explain what the return value looks like or any limitations (e.g., dynamic content handling, robots.txt restrictions). It merely lists extracted elements without indicating the structure or format, leaving the agent underinformed about the tool's actual behavior.

    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 covers the single parameter 'url' with a description ('URL to extract content from'), so schema coverage is 100%. The description adds no additional semantic detail beyond what the schema already gives, so 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.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb 'extract' with a clear resource 'URL' and enumerates the content types (title, headings, paragraphs, links, images, metadata). This makes the tool's purpose unambiguous and differentiates it from siblings like web_search (searching) and html_to_markdown (format conversion), even without naming them.

    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 given on when to use this tool versus alternatives such as web_multi_extract or web_search. The description states what the tool does but not in which scenarios it should be chosen, nor does it mention any exclusions or prerequisites.

    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 parallel execution, which is a meaningful trait, but omits other important behaviors such as error handling per URL, rate limits, authentication requirements, and the exact format of the returned results. The description is skeletal for a tool that could fail partially.

    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 two short sentences with no redundant words. The core action and differentiator are front-loaded, and every sentence adds value. It is 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?

    Despite being a batch operation, the description lacks crucial details: how failures are represented, whether output is raw HTML or extracted text, and any limits on parallelism or URL count. With no output schema and no annotations, the agent has little guidance on expected behavior beyond 'returns results,' leaving significant ambiguity.

    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 input schema fully describes the only parameter ('Array of URLs to extract content from') with 100% coverage. The description adds no additional meaning beyond what the schema provides, so the baseline of 3 is appropriate.

    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 ('Extract'), a resource ('content from multiple URLs'), and a distinguishing trait ('in parallel'). This clearly differentiates it from the sibling web_extract, which likely handles a single URL. The purpose is unambiguous.

    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 phrase 'from multiple URLs' establishes clear context for when to use this tool (i.e., when there is more than one URL). However, it does not explicitly name the alternative web_extract for single-URL cases, nor provide explicit 'when not to use' guidance. It implies the use case well but stops short of explicit routing.

    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 carries the burden of behavioral disclosure. It discloses that the tool returns structured output (titles, URLs, snippets) but does not discuss potential limitations such as rate limiting, pagination, error handling, or whether results respect user preferences. For a read-only search operation, this is acceptable 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, straightforward sentence with no filler. It front-loads the core action and provides essential output details without redundancy.

    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?

    For a simple search tool with fully documented parameters and no output schema, the description is sufficient. It gives the agent an understanding of what it does and what it returns. The lack of any caveats about rate limits or usage constraints is a minor gap, but the tool's simplicity makes it largely complete.

    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 both parameters (query and num_results) are already documented with types and descriptions. The description adds no additional meaning beyond the schema for these parameters, only an overview of the output. Since the schema handles parameter semantics adequately, a baseline of 3 is appropriate.

    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 action ('Search the web'), specifies the engine (DuckDuckGo), and describes the output format (structured results with titles, URLs, and snippets). It is easily distinguishable from sibling tools like web_extract or web_monitor, which have 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 explicit guidance on when to use this tool versus alternatives. It does not mention situations where a different sibling tool (e.g., web_extract for page content, web_monitor for changes) would be more appropriate. Usage context is only implied by the name and purpose.

    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 carries the full burden of behavioral disclosure. It mentions checking up, measuring response time, and getting HTTP details, but does not specify what constitutes 'HTTP details' (e.g., status code, headers, response time units) or any side effects. It is clear but superficial, lacking depth.

    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, efficiently worded sentence that front-loads the primary purpose ('Check if a website is up') followed by secondary details. Every phrase earns its place with no redundancy or filler.

    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 simplicity (one parameter) and no output schema, the description is adequate but incomplete. It does not explain what the output looks like (e.g., response time in milliseconds, HTTP status code) or clarify the meaning of 'HTTP details', which are crucial for an agent to interpret the result 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?

    The input schema already describes the 'url' parameter as 'URL to monitor' with 100% coverage. The description adds 'website' context but no additional semantic meaning about format or constraints. This meets the baseline for high schema coverage but does not exceed it.

    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 specific verbs ('check', 'measure', 'get') and a clear resource ('website', 'HTTP details'), which unambiguously defines the tool's purpose. It is easily distinguishable from siblings like web_extract (content extraction) and web_search (searching).

    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 when to use this tool (for uptime monitoring, response time, HTTP details) but provides no explicit guidance on when not to use it or alternatives. It lacks statements like 'use web_extract for content' or 'use web_search for search queries', leaving the selection to inference.

    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 must disclose behavioral traits itself. It does mention that it fetches URLs, removes scripts/styles/navigation, and produces clean markdown. However, it omits information about rate limits, error handling, whether dynamic content is supported, or the exact format of the returned markdown. It provides some useful context but is not comprehensive.

    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, tightly written sentence that front-loads the primary action and includes all essential information without any filler. Every word contributes to understanding the tool's purpose.

    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?

    For a simple tool with only two optional parameters and no output schema, the description covers the core functionality well. It explains the input types, the conversion process, and the cleaning behavior. The absence of a statement of return value is minor since 'convert to markdown' implies the output is markdown. However, given the sibling web tools, a brief note on when to use this specific tool would improve completeness, but it is largely 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 coverage is 100%, with both parameters having clear descriptions ('URL to fetch and convert' and 'Raw HTML to convert (use instead of url)'). The description adds no new meaning beyond this—it merely restates that it accepts HTML or a URL. The mutual exclusivity is already conveyed in the schema via 'use instead of url', so no additional value is added.

    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 ('Convert') plus the resource ('HTML content or a URL') and the output ('clean, readable markdown'). It also specifies what is removed (scripts, styles, navigation), making it clearly distinct from sibling web extraction tools which would not produce markdown.

    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 the tool is used when you have HTML or a URL and want markdown, but it does not explicitly contrast with sibling tools like web_extract or web_multi_extract. No guidance on when not to use it or which alternative is better for other purposes is provided.

    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-web-tools MCP server

Copy to your README.md:

Score Badge

mcp-web-tools 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/rog0x/mcp-web-tools'

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