Skip to main content
Glama

@geekflare/mcp

Official MCP (Model Context Protocol) server for the Geekflare. Connect Geekflare's web intelligence tools directly to Claude, Cursor, Windsurf, and other AI assistants.

Setup

Get an API Key

Sign up at geekflare.com/api and copy your API key from the dashboard.

Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "geekflare": {
      "command": "npx",
      "args": ["-y", "@geekflare/mcp"],
      "env": {
        "API_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor / Windsurf

Add to your MCP settings:

{
  "mcpServers": {
    "geekflare": {
      "command": "npx",
      "args": ["-y", "@geekflare/mcp"],
      "env": {
        "API_KEY": "your-api-key-here"
      }
    }
  }
}

Docker

{
  "mcpServers": {
    "geekflare": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "API_KEY=your-api-key-here", "geekflare/mcp"]
    }
  }
}

Related MCP server: Forage-mcp

Available Tools

webScrape

Scrape full page content from any URL. Returns HTML, Markdown, JSON, or LLM-optimised text — including structured data via ready-made extraction templates, custom CSS/XPath schemas, or AI-powered extraction.

| Parameter | Type | Default | Description | | ------------------ | --------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | --------- | --------------------------------------- | | url * | string | — | Target URL | | device | desktop | mobile | desktop | Device to emulate | | format | array | ["markdown"] | Output formats (up to 3): html, markdown, json, markdown-llm, html-llm, text, text-llm | | proxyMode | boolean | "auto" | false | false never uses a proxy, auto retries through one if the site blocks the request, true always uses one | | proxyCountry | string | — | Route through a country ISO code (e.g. "us"), used when a proxy is active | | renderJS | boolean | auto | Execute JavaScript before extracting. If omitted, resolved automatically based on whether the page needs it | | fileOutput | boolean | false | Return a download URL instead of inline content | | blockAds | boolean | true | Block ads during scrape | | stealth | boolean | false | Bypass CAPTCHAs (slower) | | waitTime | number | 0 | Seconds to wait after page load before capturing content | | extractionMode | default | cssSchema | xpathSchema | template | default | Only used when format includes json | | template | product | contact | — | Ready-made extraction template when extractionMode is template | | extractionSchema | object | — | Custom field-extraction schema for cssSchema/xpathSchema modes | | aiPrompt | object | — | AI-powered extraction/analysis of the scraped page. Supports prompt, schema, listing, summary, sentiment, and keywords modes. Adds +6 credits |


metaScrape

Scrape meta tags — title, description, Open Graph, Twitter cards, and more.

| Parameter | Type | Default | Description | | -------------- | --------- | ---------- | ----------------------------------------------- | ----------------- | | url * | string | — | Target URL | | device | desktop | mobile | desktop | Device to emulate | | format | json | markdown | json | Response format | | proxyCountry | string | — | Country ISO code | | renderJS | boolean | true | Whether to execute JavaScript | | fileOutput | boolean | false | Return a download URL instead of inline content | | blockAds | boolean | true | Block ads during scrape |


brand

Get structured brand information for a website domain, including brand identity, logos, colors, typography, social profiles, links, page metadata, and company information.

The brand tool supports two levels of brand intelligence:

  • standard — Returns structured brand information available from the website.

  • enriched — Includes additional LLM-synthesized company intelligence when available.

| Parameter | Type | Default | Description | | --------- | ---------- | ---------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------- | | url * | string | — | Target URL | | refresh | boolean | false | Force an on-demand fetch and refresh the cached brand data | | mode | standard | enriched | standard | Depth of brand data to return. enriched includes LLM-synthesized company intelligence |

Example

{
  "url": "https://example.com",
  "mode": "enriched"
}

To bypass cached data and fetch fresh information:

{
  "url": "https://example.com",
  "refresh": true,
  "mode": "enriched"
}

The response may include:

  • Brand name, tagline, description, and slogan

  • Logos and favicon

  • Brand colors and palette

  • Fonts and typography

  • UI component styles and spacing

  • Social profiles

  • Important website links

  • Page metadata and Open Graph information

  • Company information such as industry, founded year, employee range, revenue range, company type, and target audience when available

Enriched company information depends on the publicly available information for the domain, so individual fields may be omitted.


screenshot

Capture a screenshot of any website. Supports full-page, element-only, Retina, dark mode, transparent backgrounds, and AI-friendly link highlighting.

| Parameter | Type | Default | Description | | ----------------------- | --------- | -------- | --------------------------------------------------------------- | ----------------- | ------------ | | url * | string | — | Target URL | | device | desktop | mobile | desktop | Device to emulate | | type | png | jpeg | webp | png | Image format | | proxyCountry | string | — | Country ISO code | | fullPage | boolean | false | Capture the full page | | selector | string | — | CSS selector for the element to capture | | fallbackToFullPage | boolean | false | Fall back to a full-page capture if selector isn't found | | blockAds | boolean | true | Block ads | | hideCookie | boolean | true | Remove cookie banners | | skipCaptcha | boolean | true | Bypass anti-bot challenges | | addTimestamp | boolean | false | Add a timestamp | | highlightLinks | boolean | false | Draw borders around links/buttons — useful for AI vision models | | pageHeight | number | — | Custom page height in pixels | | viewportWidth | number | — | Viewport width | | viewportHeight | number | — | Viewport height | | captureBeyondViewport | boolean | — | Capture content beyond the configured viewport | | delay | number | — | Seconds to wait after page load | | quality | number | 90 | Image quality for JPEG/WEBP | | scaleFactor | number | — | Device pixel ratio | | theme | light | dark | auto | auto | Color scheme | | removeBackground | boolean | false | Remove page background (PNG only) | | disableAnimations | boolean | false | Freeze CSS animations before capture | | inline | boolean | false | Return image data inline instead of a CDN URL |


Search the web and return clean, structured results. Supports web, news, and image search with optional AI-grounded answers.

| Parameter | Type | Default | Description | | ---------------- | --------- | ---------- | -------------------------------------------------- | ---------- | --------------- | ------ | --- | --------------- | | query * | string | — | Search query | | limit | number | 10 | Number of results | | time | string | — | Time filter: any, d, w, m, y, d7, h6 | | location | string | — | Country ISO code to localise results | | source | web | news | images | web | Search source | | category | general | code | pdf | research | linkedin | wiki | — | Search category | | format | json | markdown | html | json | Response format | | includeDomains | array | — | Only include these domains | | excludeDomains | array | — | Exclude these domains | | groundedAnswer | boolean | false | Generate an AI answer synthesised from results | | scrape | boolean | false | Also scrape top result pages | | scrapeLimit | number | 3 | How many pages to scrape when scrape is enabled |


dnsRecord

Look up DNS records for a domain.

Parameter

Type

Default

url *

string

types

array

All supported types

Supported DNS record types:

A, AAAA, CNAME, MX, NS, SOA, TXT, CAA, SRV


siteStatus

Check if a site is up or down.

Parameter

Type

Default

url *

string

proxyCountry

string

followRedirect

boolean

false


redirectCheck

Trace the full redirect chain of a URL.

Parameter

Type

url *

string

proxyCountry

string


Find all broken links on a webpage.

Parameter

Type

Default

url *

string

proxyCountry

string

followRedirect

boolean

false


url2Pdf

Convert any URL to a downloadable PDF.

| Parameter | Type | Default | Description | | --------------- | ---------- | ----------- | -------------------------- | ----------------- | -------- | ------- | --------- | ---- | ---------- | | url * | string | — | Target URL | | device | desktop | mobile | desktop | Device to emulate | | format | a4 | a3 | a5 | a6 | letter | legal | a0a2 | a4 | Paper size | | orientation | portrait | landscape | portrait | Page orientation | | proxyCountry | string | — | Country ISO code | | scale | number | — | Zoom level | | margin.top | number | 25 | Top margin in mm | | margin.bottom | number | 25 | Bottom margin in mm | | margin.left | number | 25 | Left margin in mm | | margin.right | number | 25 | Right margin in mm | | hideCookie | boolean | true | Remove cookie banners | | skipCaptcha | boolean | true | Bypass anti-bot challenges | | addTimestamp | boolean | false | Add a timestamp |


openPorts

Scan open ports on a host. Optionally perform service and version detection on ports found open.

| Parameter | Type | Description | | ---------------- | ------- | ------------------------------------------------------------- | ----- | ------ | ------ | ----------------------- | | url * | string | Target URL or hostname | | topPorts | 50 | 100 | 500 | 1000 | 5000 | Scan top N common ports | | portRanges | string | Custom ranges, e.g. "80,443,1000-1010" | | detectServices | boolean | When true, also run service/version detection on open ports |

Service Detection

Set detectServices: true to perform Nmap service/version detection on ports found open.

{
  "url": "example.com",
  "topPorts": 100,
  "detectServices": true
}

When successful, the response includes a services array containing information such as:

  • Port number

  • Port state

  • Detected service name

  • Product name

  • Product version

  • Additional service information

  • Inferred OS type, when available

Example response structure:

{
  "data": [22, 80, 443],
  "services": [
    {
      "port": 22,
      "state": "open",
      "service": {
        "name": "ssh",
        "product": "OpenSSH",
        "version": "9.6"
      }
    },
    {
      "port": 443,
      "state": "open",
      "service": {
        "name": "https"
      }
    }
  ]
}

Service detection is best-effort and can take longer than a standard port scan.

If service detection is requested but cannot be completed, the API can return a servicesError field. The data field containing the discovered open ports remains available.


tlsScan

Inspect TLS/SSL configuration — protocols, ciphers, certificate details.

Parameter

Type

url *

string


loadTime

Measure full page load time from any location. Optionally test reachability from multiple locations at once.

Parameter

Type

Default

Description

url *

string

Target URL

proxyCountry

string

Country ISO code

followRedirect

boolean

false

Follow redirects

targetCountries

array of string

Up to 3 ISO country codes to also test via proxy, alongside the default US test. Returns a per-location breakdown when set


mixedContent

Detect mixed content issues (HTTP resources on HTTPS pages).

Parameter

Type

Default

url *

string

proxyCountry

string

followRedirect

boolean

false


dnsSec

Check if DNSSEC is enabled and properly configured for a domain.

Parameter

Type

url *

string


mtr

Run an MTR (My Traceroute) network diagnostic test.

Parameter

Type

Default

url *

string

proxyCountry

string

followRedirect

boolean

false


ping

Ping a host and return latency.

Parameter

Type

url *

string


lighthouse

Run a full Lighthouse audit — performance, SEO, accessibility, and best practices.

| Parameter | Type | Default | Description | | ---------------- | --------------- | -------- | -------------------------- | ----------------- | | url * | string | — | Target URL | | device | desktop | mobile | desktop | Device to emulate | | proxyCountry | string | — | Country ISO code | | followRedirect | boolean | false | Follow redirects | | parameters | array of string | — | Extra Lighthouse CLI flags |


Environment Variables

Variable

Required

Description

API_KEY

Your Geekflare API key

API_BASE_URL

Override the API base URL (default: https://api.geekflare.com)

License

MIT

Available Tools

20 tools
dnsRecordC

Retrieve DNS records for a domain

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
typesNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, error handling, or rate limiting. The bare description leaves the agent without critical operational context.

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 sentence, free of fluff. While it could be more structured (e.g., listing parameters), it achieves conciseness without extraneous content.

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?

With 2 parameters, no output schema, and no annotations, the description does not provide enough context. It omits what the output looks like, default behavior for 'types', and error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%; only 'url' has a description ('Target URL'). 'types' lacks any description in the schema, and the tool description adds no extra meaning. With limited schema detail, the description fails to compensate.

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 'Retrieve DNS records for a domain' with a specific verb and resource. It distinguishes well from sibling tools like dnsSec, which likely focus on security records.

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 on when to use this tool versus alternatives like dnsSec or other diagnostic tools. The agent receives no context for selection.

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

dnsSecB

Check if DNSSEC is enabled for a domain

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL

TDQS

B3.3/5.0
Behavior2/5

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

The description is minimal and does not disclose any behavioral traits beyond the basic check. No annotations are provided to fill the 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?

Single sentence with no fluff. Front-loads the action and is appropriately sized for a simple tool.

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, the description is adequate but lacks output format information. For a check tool, the agent would benefit from knowing the return type (e.g., boolean or status).

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 already describes the 'url' parameter as 'Target URL'. The tool description uses 'domain' which may cause confusion, but the schema coverage is 100%, so the description adds little extra meaning.

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 ('Check if enabled') and resource ('DNSSEC for a domain'). It distinguishes from sibling tools like dnsRecord which handles DNS records.

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 on when to use this tool versus alternatives. No context about prerequisites or scenarios is provided.

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

httpHeaderB

Fetch HTTP response headers for a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
proxyCountryNoCountry code for proxy routing
followRedirectNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for disclosure. It does not mention any behavioral traits such as redirect handling (a parameter exists but is not described), error conditions, or rate limits. The description is too minimal to be transparent.

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, concise sentence that front-loades the core purpose. Every word is necessary, and there is no superfluous content.

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 having no output schema and a moderate number of parameters, the description does not explain return values, parameter usage details, or how this tool fits among 19 siblings. The agent lacks sufficient context for correct 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 coverage is 67% (two of three parameters have descriptions). The tool description adds no value beyond what the schema already provides. It does not explain the effect of proxyCountry or followRedirect beyond their schema descriptions.

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 'Fetch' and the resource 'HTTP response headers' for a URL. It is distinct from sibling tools like brokenLink, dnsRecord, etc., which 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 over alternatives (e.g., httpProtocol, metaScrape). There is no mention of context or exclusions, leaving the agent to infer based on the name alone.

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

httpProtocolC

Detect HTTP protocol versions supported by a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
followRedirectNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It omits whether the tool makes network requests, any side effects, or safety profile. Only the basic action is stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is a single 7-word sentence, making it concise. However, it may be under-specified for the tool's complexity, sacrificing clarity for brevity.

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?

With no output schema and many sibling tools, the description should explain output format or version detection scope. It is incomplete, leaving agents uncertain about what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: url has minimal description 'Target URL', followRedirect has none. The description adds no extra meaning to parameters, failing to clarify format, constraints, or the role of followRedirect.

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 detects HTTP protocol versions for a URL, using a specific verb and resource. It distinguishes from siblings like httpHeader (which inspects headers) and redirectCheck, but lacks precision on what 'detect' returns.

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 on when to use this tool versus alternatives such as httpHeader, tlsScan, or siteStatus. The description does not mention context or exclude cases.

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

lighthouseC

Run Lighthouse audit on a website

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
deviceNodesktop
proxyCountryNoCountry code for proxy routing
followRedirectNo
parametersNoExtra Lighthouse CLI parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must carry the transparency burden. It only states 'Run Lighthouse audit' without mentioning side effects, resource usage, rate limits, or output format. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

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

The description is extremely concise but under-specified. It is too short to be useful, and every word does not earn its place because it fails to add substantive guidance.

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

Completeness1/5

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

For a complex tool with 5 parameters and no output schema, the description is completely inadequate. It lacks any explanation of the audit process, return value, or limitations, leaving the agent with insufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, but the description adds no value beyond the schema. It does not explain parameter behaviors or constraints, leaving the agent reliant solely on the schema.

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 runs a Lighthouse audit on a website, but does not distinguish it from sibling tools like loadTime or screenshot. It is clear but lacks specificity about what Lighthouse measures (performance, accessibility, etc.).

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 on when to use this tool versus alternatives such as loadTime or webScrape. The description gives no context for selection.

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

loadTimeC

Measure page load time for a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
proxyCountryNoCountry code for proxy routing
followRedirectNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavior. It only says 'measure page load time' without indicating whether it executes JavaScript, waits for resources, or has side effects. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

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

While very short, the description is under-specified for a tool with 3 parameters and no output schema. Conciseness sacrifices necessary detail.

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

Completeness1/5

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

No output schema, no explanation of what is returned or how the measurement is performed. In a context with 19 sibling tools, the description fails to provide enough information for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, but the description adds nothing beyond what the schema provides. It does not explain the meaning of proxyCountry or followRedirect, nor does it clarify the required url parameter's format.

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 'measure page load time for a URL', which is a specific verb and resource. It distinguishes from siblings like ttfb (time to first byte) or lighthouse (performance audit) by focusing on overall load time, though not explicitly.

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 on when to use loadTime vs alternatives such as ttfb or lighthouse. The description lacks context for appropriate usage or exclusions.

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

metaScrapeC

Scrape meta tags from a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
deviceNodesktop
renderJSNo
formatNojson
proxyCountryNoCountry code for proxy routing
fileOutputNo
blockAdsNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only says 'scrape meta tags', omitting details about network requests, potential side effects, or limitations. The agent cannot assess safety or performance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is extremely concise (one sentence), but this comes at the expense of necessary information. It is not optimally structured for quick comprehension of all relevant details.

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 tool with 7 parameters and no output schema, the description is far from complete. It doesn't explain return format, what types of meta tags are extracted, or how configuration options affect behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (29%) and the description adds no parameter details beyond what's in the schema. Parameters like device, renderJS, and format remain unexplained, forcing the agent to guess their roles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The description clearly states the action (scrape) and resource (meta tags from a URL), but does not distinguish it from sibling tools like webScrape or screenshot, which might also scrape page content.

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 on when to use this tool versus alternatives, nor on prerequisites or context. The agent is left to infer usage from the name alone.

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

mixedContentC

Check for mixed content issues on a site

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
proxyCountryNoCountry code for proxy routing
followRedirectNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It does not explain that mixed content scanning typically requires an HTTPS site, whether it scans all pages or just the given URL, or if it follows redirects (despite a 'followRedirect' parameter). No mention of rate limits, authentication, or result format.

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 extremely concise (one sentence, no extraneous words). However, it could be restructured to front-load more details without losing brevity, e.g., by mentioning the scope (single page vs. full site).

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 tool with 3 parameters, no output schema, and no annotations, the description is insufficient. It does not describe return values (list of URLs, issues count), how to interpret results, or the tool's scope (e.g., single page crawl vs. site-wide). Siblings like 'lighthouse' have richer descriptions for context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (url and proxyCountry described, followRedirect missing). The description adds no additional meaning beyond the schema; it does not explain the 'followRedirect' parameter's role or the effect of 'proxyCountry'. For a tool with moderate coverage, the description should compensate but fails to.

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 'Check for mixed content issues on a site' uses a specific verb and resource, clearly indicating the tool's function. It distinguishes from siblings like 'lighthouse' (which covers broader audits) and 'brokenLink' (link checking) by focusing on the well-known mixed content security issue.

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 on when to use this tool versus alternatives such as 'lighthouse' or 'webScrape'. There is no mention of prerequisites (e.g., HTTPS site required) or situations where this tool might not apply.

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

mtrC

Perform MTR network diagnostic test

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
proxyCountryNoCountry code for proxy routing
followRedirectNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like network impact, permissions, or rate limits. It only states the test type, omitting that MTR may send many packets and take time. No mention of return format or side effects.

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 concise sentence, efficient in length. It is front-loaded with the core action and resource, but could benefit from additional structure to highlight key aspects.

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 (network diagnostic with potential side effects, 3 parameters, no output schema), the description is too minimal. It lacks return value information, behavioral caveats, or usage context, failing to make the tool complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions for the three parameters are present ('Target URL', 'Country code for proxy routing', default for followRedirect), but the tool description adds no additional meaning. Context indicates 67% schema coverage, yet the description fails to compensate for any missing schema 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 'Perform MTR network diagnostic test' clearly states the action (perform) and resource (MTR network diagnostic test). While MTR is a specific tool, the description does not explicitly differentiate it from siblings like ping or traceroute, but it is sufficiently specific to understand the tool's function.

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 on when to use this tool versus alternatives (e.g., ping, traceroute). The description does not mention when MTR is preferable or any prerequisites, leaving the agent without decision support.

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

openPortsC

Scan open ports on a host

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
topPortsNoScan top N ports
portRangesNoCustom port ranges e.g. 80,443,1000-1010

TDQS

C2.9/5.0
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 disclosing behavioral traits. It does not address whether the scan is safe, destructive, rate-limited, or reveals any side effects, leaving agents uninformed about potential risks or constraints.

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 concise sentence with no extraneous information. While it is short, it is appropriately front-loaded and objectively efficient.

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 absence of annotations and output schema, the description should provide more context about the scan behavior, output format, and potential impact. It is too brief to adequately prepare an agent for 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 coverage is 100% with descriptions for all three parameters. The tool description does not add extra meaning beyond the schema, meeting the baseline expectation for high-coverage parameters.

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 'Scan open ports on a host' uses a specific verb and resource, clearly distinguishing this tool from sibling tools that focus on web scraping, DNS, or HTTP checks. However, it could be more precise about the scope (e.g., a single host vs. network).

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 alternative network scanning tools or under what conditions (e.g., permission needed). No exclusions or prerequisites are mentioned.

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

pingC

Ping a host

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL or IP

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden. It only says 'Ping a host' without detailing what ping entails (e.g., ICMP echo requests), potential limitations (e.g., ICMP blocking), or expected output format.

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 very short (three words), which is efficient for a simple tool. However, it could include more context without losing conciseness.

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, no output schema), the description is minimally adequate. However, it lacks behavioral details that would help an agent invoke it correctly, especially among many sibling network diagnostic tools.

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 'url' parameter has a description). The tool description adds no additional meaning beyond the schema, so baseline 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 'Ping a host' clearly states the action and resource, using a specific verb. However, it does not differentiate from sibling tools like mtr or openPorts, which also relate to network connectivity.

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 usage guidance is provided. The description does not indicate when to use ping versus alternative tools such as mtr, ttfb, or siteStatus for diagnosing network issues.

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

redirectCheckB

Check the redirect chain of a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
proxyCountryNoCountry code for proxy routing

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the purpose. It does not disclose output format, behavior on errors (e.g., infinite redirects), or any side effects.

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 concise sentence with no wasted words. It could benefit from slightly more detail, but it is not overly verbose.

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 absence of an output schema and the presence of many sibling tools, the description is too minimal. It does not clarify what the tool returns or how it differs from related checks.

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 descriptions for both parameters. The description adds no extra semantic value beyond the schema, so it meets the baseline of 3.

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 'Check the redirect chain of a URL' uses a specific verb ('Check') and resource ('redirect chain of a URL'), clearly distinguishing it from sibling tools like brokenLink or httpHeader.

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 on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or context for its use.

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

screenshotC

Capture a screenshot of a website

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
deviceNodesktop
typeNopng
proxyCountryNoCountry code for proxy routing
fullPageNo
blockAdsNo
hideCookieNoHide cookie consent banners
skipCaptchaNo
addTimestampNo
highlightLinksNoDraw borders around links (useful for AI vision)
pageHeightNoHeight of page for partial screenshot
viewportWidthNoViewport width
viewportHeightNoViewport height
delayNoSeconds to wait before screenshot
qualityNoImage quality for JPEG/WEBP
scaleFactorNoDevice pixel ratio

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It only says 'capture a screenshot', omitting key details like whether the operation is read-only, impact on the target, output format (image binary), rate limits, or authentication needs. This is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

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

The single-sentence description is concise but overly simplistic for a tool with 16 parameters. It front-loads the purpose but sacrifices necessary detail. Every sentence should earn its place; here, one sentence is insufficient, making the description too brief for the complexity.

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

Completeness1/5

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

Given the high parameter count (16), no output schema, and no annotations, the description is severely incomplete. It fails to explain return values (e.g., image bytes, error handling), default behaviors (e.g., fullPage defaults to false, blockAds true), or practical constraints. An agent lacks critical info for correct 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 coverage is 63%, and the description adds no additional meaning to parameters. Baseline is 3 because the schema already describes many parameters, but the description fails to clarify nuanced defaults or usage contexts, especially for complex parameters like proxyCountry or skipCaptcha.

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 a website', making the primary action and target obvious. However, it does not distinguish this tool from siblings like url2Pdf or lighthouse, which also capture visual representations.

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 on when to use this tool versus alternatives. With 19 sibling tools, explicit contexts or exclusions would help an agent choose correctly. The description implies general use but lacks any comparative decision cues.

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

siteStatusC

Check if a site is up or down

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
proxyCountryNoCountry code for proxy routing
followRedirectNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'Check if a site is up or down'. It does not disclose how 'up' or 'down' is determined (e.g., HTTP status, timeout), nor any side effects or requirements.

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 at one sentence, but lacks structure. It is appropriately short for a simple tool, though could include more context without being verbose.

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 no output schema and sibling tools cover similar checks, the description is incomplete. It does not explain the meaning of 'up' or 'down', expected behavior, or how results are reported.

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 67%, so baseline is 3. The tool description adds no additional meaning beyond the schema, and the followRedirect parameter lacks any description in both.

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 checks if a site is up or down, which is a specific verb and resource. However, it does not differentiate from siblings like ping or openPorts that also check availability.

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 on when to use this tool versus alternatives like ping or loadTime. The description lacks context on appropriate scenarios or exclusions.

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

tlsScanB

Scan TLS/SSL configuration of a domain

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits such as what happens on failure, timeouts, or what aspects of TLS/SSL are checked (e.g., certificate validity, cipher suites).

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 sentence with no padding. However, given the lack of additional context, it may be too terse; still, it avoids unnecessary words.

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?

With only one parameter and no output schema or annotations, the description should provide more context about what the scan entails, expected output, or limitations. It falls short for a security scanning tool.

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 a clear parameter description ('Target URL'). The tool description adds no further meaning beyond the schema, meeting the baseline but offering no extra value.

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?

Description clearly states the verb 'Scan' and resource 'TLS/SSL configuration of a domain.' This uniquely identifies the tool among siblings like dnsRecord, httpHeader, etc., which do not overlap in functionality.

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 on when to use this tool versus alternatives, nor are there any exclusions or context about prerequisites. The description simply states the action.

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

ttfbC

Measure Time To First Byte (TTFB) for a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
followRedirectNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only states 'measure' but does not explain effects (e.g., network request, no side effects), read-only nature, or limitations like redirect handling (though a followRedirect param exists).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is a single, front-loaded sentence. It is concise but lacks some useful detail; however, it is not overly verbose.

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 simple tool with 2 params and no output schema, the description does not explain the return value (e.g., TTFB in ms) or the effect of followRedirect. It is incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (url described, followRedirect not). The description adds no meaning beyond the schema; url is simply 'Target URL' and followRedirect is not mentioned. Does not compensate for low coverage.

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 (Measure) and resource (Time To First Byte for a URL). It is specific and distinct from sibling tools like brokenLink or dnsRecord.

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 on when to use this tool versus others. The description does not mention prerequisites, contexts, or alternatives.

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

url2PdfD

Convert a URL to PDF

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
deviceNodesktop
formatNoa4
orientationNoportrait
proxyCountryNoCountry code for proxy routing
scaleNoZoom level (0–2)
marginNo
hideCookieNo
skipCaptchaNo
addTimestampNo

TDQS

D1.8/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the full burden of behavioral transparency. The one-sentence description discloses no behavioral traits: it does not mention authentication needs, page loading behavior, JavaScript execution, or any side effects. This is insufficient for a tool with 10 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

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

The description is extremely concise (one short sentence), but conciseness should not sacrifice usefulness. The single sentence does not provide enough information to be valuable, and it is not structured to convey key points. The description should be expanded to cover behavioral and parametric aspects.

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

Completeness1/5

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

Given the tool's complexity (10 parameters, nested objects, and 18 sibling tools) and the absence of an output schema, the description is woefully incomplete. It fails to explain what the PDF output contains, how dynamic content is handled, or the effect of parameters like 'hideCookie' and 'skipCaptcha'. The description adds no context beyond the tool's name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 30%, yet the description adds no information about any parameters. It does not explain the meaning of 'device', 'format', 'proxyCountry', 'margin', or other options. The nested object for margin is completely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The description states 'Convert a URL to PDF', which is a clear verb+resource combination. However, it does not differentiate this tool from siblings like screenshot or webScrape, which also capture web content. The lack of scoping reduces clarity.

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 on when to use this tool versus alternatives. The sibling list includes tools for screenshots, web scraping, and performance audits, but the description gives no indication of when PDF conversion is preferred. There are no when-to-use or when-not-to-use instructions.

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

webScrapeC

Scrape a webpage with custom options

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL
deviceNodesktop
formatNoOutput format(s). Up to 3.
proxyCountryNoCountry code for proxy routing
renderJSNoExecute JavaScript before extracting
fileOutputNoReturn a download URL instead of inline data
blockAdsNo
stealthNoBypass CAPTCHAs (slower)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, so description must compensate. It does not mention behaviors like blocking, rate limits, or that stealth mode is slower. The impact of options like renderJS is not explained beyond schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

Single sentence is concise but under-specified. Could include key details like supported formats or default behavior without being overly long.

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?

No output schema and no description of return values or failure modes. Given 8 parameters and no annotations, the description is incomplete for an agent to fully understand the tool's 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?

Schema coverage is 75%, so baseline is 3. The description adds no extra meaning beyond schema; 'custom options' is generic. Schema descriptions for parameters are adequate but not enhanced.

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 verb 'Scrape' clearly indicates the action, and 'webpage' specifies the resource. However, 'with custom options' is vague and doesn't differentiate from sibling tools like metaScrape or screenshot.

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 on when to use this tool versus alternatives like metaScrape for metadata or lighthouse for performance. The description provides no context for ideal use cases.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 20 tool updatesv0.3.4
    • First observedbrokenLink
    • First observeddnsRecord
    • First observeddnsSec
    • First observedhttpHeader
    • First observedhttpProtocol
    • First observedlighthouse
    • First observedloadTime
    • First observedmetaScrape
    • First observedmixedContent
    • First observedmtr
    • First observedopenPorts
    • First observedping
    • First observedredirectCheck
    • First observedscreenshot
    • First observedsearch
    • First observedsiteStatus
    • First observedtlsScan
    • First observedttfb
    • First observedurl2Pdf
    • First observedwebScrape

TDQS

B3/5.0

Scored across 20 tools

Disambiguation5/5

Each tool has a distinct purpose, ranging from DNS checks to performance measurements, with no apparent overlap. An agent can reliably select the correct tool for a given task.

Naming Consistency5/5

Tools follow a consistent camelCase pattern (e.g., brokenLink, dnsRecord, httpHeader) with occasional single-word names (ping, search) that do not break consistency.

Tool Count4/5

20 tools is on the higher side but justified by the broad scope of web and network diagnostics. Each tool serves a specific function, and the count feels appropriate rather than bloated.

Completeness4/5

The tool set covers a wide range of diagnostic and scraping tasks, including DNS, HTTP, security, performance, and network tools. Minor gaps exist (e.g., no whois lookup) but the surface is largely complete for its domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    A local MCP server that lets AI agents bypass bot detection, geo-restrictions, and JavaScript rendering challenges when scraping the web, backed by ScraperAPI's services
    28
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server giving AI agents real-time web search, page scraping, company intelligence, email discovery, local lead generation, and a persistent knowledge graph. Pay only for what you use, no subscriptions.
    12 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A comprehensive MCP server providing 15 web tools including search, scraping, screenshots, SEO audits, and DNS/SSL checks through a single installation. It delivers clean, LLM-optimized outputs so AI agents can focus on reasoning rather than parsing raw HTML.
    15
    9 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.
    41
    MIT