Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: scrape_as_markdown handles single webpage scraping, scrape_batch handles multiple webpages, search_engine scrapes single search queries, and search_engine_batch handles multiple search queries. There is no overlap in functionality, making tool selection straightforward for an agent.

    Naming Consistency5/5

    All tool names follow a consistent snake_case pattern with clear verb_noun structures: scrape_as_markdown, scrape_batch, search_engine, and search_engine_batch. The naming is predictable and aligns well with the actions each tool performs.

    Tool Count5/5

    With 4 tools, the server is well-scoped for web scraping and search functionality. Each tool earns its place by covering distinct aspects of the domain: single and batch operations for both webpage scraping and search engine queries, avoiding bloat while providing essential coverage.

    Completeness4/5

    The tool set covers core web scraping and search operations effectively, including single and batch modes. A minor gap exists in lacking tools for more advanced interactions like form submission or dynamic content handling, but the provided tools support key workflows without dead ends.

  • Average 3.3/5 across 4 of 4 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 carries the full burden of behavioral disclosure. It mentions scraping and the return format, but lacks critical details such as rate limits, authentication needs, potential for blocking, or whether it's a read-only operation. For a scraping tool with zero annotation coverage, this is a significant gap in transparency.

    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 highly concise and front-loaded: two sentences efficiently cover the action, supported engines, and output format without wasted words. Every sentence earns its place by providing essential information in a compact form.

    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 a scraping tool with no annotations, no output schema, and low schema coverage, the description is incomplete. It omits behavioral risks (e.g., rate limiting), error handling, and detailed output expectations beyond 'markdown'. For a tool that interacts with external APIs and returns unstructured data, more context is needed for safe and 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?

    Schema description coverage is low (33%), with only the 'cursor' parameter documented. The description adds minimal value beyond the schema: it implies the 'query' parameter is for search terms and 'engine' selects from the listed options, but doesn't explain semantics like query formatting or cursor usage. Baseline 3 is appropriate as the description partially compensates but doesn't fully address the coverage gap.

    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: 'Scrape search results from Google, Bing or Yandex' specifies the verb (scrape) and resource (search results), and 'Returns SERP results in markdown' indicates the output format. However, it doesn't explicitly differentiate from sibling tools like scrape_as_markdown or search_engine_batch, which appear related but have unspecified distinctions.

    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 its siblings (scrape_as_markdown, scrape_batch, search_engine_batch). It mentions the supported search engines but offers no context on alternative scenarios, prerequisites, or exclusions, leaving the agent to infer usage based on tool names alone.

    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. It discloses output format differences (JSON for Google, Markdown for Bing/Yandex), which is useful behavioral context. However, it doesn't mention rate limits, authentication needs, error handling, or what 'simultaneously' entails (parallel vs sequential). For a batch operation tool, 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?

    Extremely concise with two sentences that each add value. First sentence states core functionality, second sentence provides critical output format information. No wasted words, perfectly front-loaded with essential information.

    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, 0% schema description coverage, and no output schema, the description is incomplete for a batch search tool. It covers purpose and output formats but misses parameter explanations, error conditions, rate limits, and detailed behavioral traits. For a tool handling multiple search engines with different output formats, more context is needed.

    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 0%, so the description must compensate. It adds some meaning by mentioning engine-specific output formats, which relates to the 'engine' parameter. However, it doesn't explain the 'queries' array structure, 'cursor' parameter purpose, or the 1-10 item limit. The description provides partial context but doesn't fully compensate for the schema's lack of descriptions.

    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: 'Run multiple search queries simultaneously' specifies the verb and resource. It distinguishes from siblings like 'search_engine' (likely single query) and 'scrape_as_markdown'/'scrape_batch' (different operations), though not explicitly named. However, it doesn't fully differentiate from 'scrape_batch' which might also handle multiple items.

    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 explicit guidance on when to use this tool versus alternatives is provided. The description mentions output formats for different engines, but doesn't state when to choose this batch tool over single-query tools like 'search_engine' or scraping tools. Usage context is implied but not clearly defined.

    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. It discloses key behavioral traits: batch processing of multiple URLs (implied by 'multiple webpages'), advanced content extraction, output in MarkDown, and ability to bypass bot detection/CAPTCHA. However, it lacks details on rate limits, error handling, authentication needs, or what 'advanced options' entail, leaving gaps for a mutation-like operation.

    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 efficiently convey core functionality. The first sentence covers purpose and output, while the second adds behavioral context. No wasted words, though it could be more structured by explicitly separating features from limitations.

    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 no annotations, no output schema, and a single parameter with full schema coverage, the description is moderately complete. It covers what the tool does and key capabilities (bypassing bot detection), but lacks details on return values, error cases, or performance constraints, which are important for a web scraping tool with potential complexity.

    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%, with the schema fully documenting the 'urls' parameter (array of URIs, min 1, max 10). The description adds no parameter-specific semantics beyond implying batch processing through 'multiple webpages URLs.' Since schema coverage is high, baseline 3 is appropriate as the description doesn't significantly enhance parameter understanding.

    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: 'Scrape multiple webpages URLs with advanced options for content extraction and get back the results in MarkDown language.' It specifies the verb (scrape), resource (webpages), and output format (MarkDown). However, it doesn't explicitly differentiate from sibling tools like scrape_as_markdown, which might be for single URLs, so it misses full sibling distinction.

    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 mentions 'advanced options for content extraction' and ability to 'unlock any webpage even if it uses bot detection or CAPTCHA,' but doesn't specify when to choose this over scrape_as_markdown or search_engine tools. No explicit alternatives or exclusions are provided.

    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 adds valuable context about capabilities ('unlock any webpage even if it uses bot detection or CAPTCHA') and output format ('MarkDown language'), but doesn't cover important behavioral aspects like error handling, rate limits, authentication requirements, or what 'advanced options' specifically entail.

    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 perfectly concise with two sentences that each earn their place. The first sentence states the core functionality and output format, while the second adds important capability context. There's zero wasted language and it's front-loaded with the main purpose.

    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 (web scraping with advanced capabilities), no annotations, no output schema, and only 0% schema description coverage, the description is adequate but has clear gaps. It covers the basic purpose and some capabilities well, but doesn't address error cases, performance characteristics, or detailed behavioral expectations that would be important for an AI agent.

    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?

    With 0% schema description coverage and only 1 parameter, the description compensates well by explaining the parameter's purpose ('scrape a single webpage URL') and context. While it doesn't provide format details beyond what the schema indicates (URI format), it adds meaningful semantic context about what the URL parameter represents in this scraping context.

    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 tool's purpose with specific verbs ('scrape a single webpage URL') and resources ('webpage'), and distinguishes it from siblings by specifying 'single webpage' (vs. batch operations) and 'MarkDown language' output format. It provides a complete picture of what the tool does.

    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 provides clear context for when to use this tool ('scrape a single webpage URL'), but doesn't explicitly mention when not to use it or name alternatives. It implies usage for single-page scraping with advanced extraction needs, but lacks explicit comparison to sibling tools like scrape_batch for multiple URLs.

    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

brightdata-mcp MCP server

Copy to your README.md:

Score Badge

brightdata-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/bright-cn/brightdata-mcp'

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