Skip to main content
Glama
bzsasson

Screaming Frog SEO Spider MCP Server

by bzsasson

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool targets a distinct action (crawl, status, list, export, read, aggregate, delete, check, storage) with clear descriptions that prevent confusion. No two tools have overlapping purposes.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (e.g., crawl_site, export_crawl, read_crawl_data). Two tools (sf_check, storage_summary) deviate slightly, but the overall pattern is still predictable and readable.

    Tool Count5/5

    9 tools is well-scoped for the server's purpose of crawling websites and analyzing data. Each tool serves a necessary function without redundancy or excess.

    Completeness4/5

    The set covers the full workflow: initiate crawl, check status, list crawls, export data, read/aggregate results, and clean up. Minor gaps exist (e.g., no direct crawl statistics without export), but agents can work around them.

  • Average 4.4/5 across 9 of 9 tools scored. Lowest: 3.7/5.

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

    • 2 of 3 community issues answered or closed in the last 6 months
    • 10 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, so the tool is known to be non-destructive. The description adds no additional behavioral context beyond that—no mention of potential errors, latency, or what 'status' means. With annotations covering the safety profile, the description is minimally adequate.

    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 extremely concise: one clear sentence for purpose, followed by a compact parameter list. Every word is necessary and front-loaded. No redundancy or fluff.

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

    Completeness3/5

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

    For a simple status-check tool with an output schema, the description covers the essential purpose and parameter origin. However, it lacks guidance on when to use it (e.g., after crawl_site), error states (invalid crawl_id), or how long the check might take. This is sufficient for a synchronous read, but slightly incomplete given the sibling tools.

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

    Parameters4/5

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

    The only parameter, 'crawl_id', is described as 'The crawl_id returned by crawl_site', which adds significant meaning beyond the input schema's type and title (which have no description). This tells the agent exactly where the value comes from, compensating for the 0% schema description 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 tool's purpose: 'Check the status of a running or completed crawl.' It uses a specific verb ('check') and resource ('status of a crawl'), and the distinction from sibling tools like crawl_site (start) and delete_crawl (remove) is implicit.

    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 prerequisites (e.g., that crawl_site must have been called first) or situations where this tool is inappropriate. The sibling tools list is provided, but the description does not leverage it to guide selection.

    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?

    Annotations already declare readOnlyHint=true. Description adds that the tool returns specific fields, but no additional behavioral context (e.g., performance, limits) beyond what annotations provide.

    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?

    Three succinct sentences that frontline the purpose, describe outputs, and give usage guidance. No wasted words.

    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 zero-parameter list tool with annotations and an output schema, the description adequately covers purpose, results, and next steps. Minor omission of pagination or limits, but acceptable.

    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?

    Zero parameters with 100% schema coverage; baseline is 4. Description does not need to add parameter details.

    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 tool lists all crawls from the internal database, specifies return fields (names, DB IDs, sizes), and distinguishes itself from sibling tools by referencing export and delete.

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

    Usage Guidelines4/5

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

    Explicitly instructs to use the Database ID with export_crawl or delete_crawl, providing clear guidance on when to use this tool. Implicitly differentiates from sibling tools, though not exhaustive.

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

  • Behavior4/5

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

    Annotations mark it as readOnlyHint=true, and the description confirms it returns version info and license status. It adds context about the specific output, which is beyond what annotations provide.

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

    Conciseness5/5

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

    Two sentences with no redundant information. The purpose is front-loaded, and every sentence adds value.

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

    Completeness5/5

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

    For a tool with zero parameters and a clear purpose, the description fully explains what the tool does and returns. An output schema exists to detail return structure, so no further information is needed.

    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?

    No parameters exist, so schema coverage is effectively 100%. The description does not need to add parameter information; baseline score of 4 applies due to high schema 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 verb 'Verify' and the resource 'Screaming Frog SEO Spider installation and CLI accessibility'. It distinguishes itself from siblings by focusing on installation status rather than crawl operations.

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

    Usage Guidelines3/5

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

    The description implies usage before other crawling operations but does not explicitly state when to use or not use this tool versus alternatives. No guidance on prerequisites or context.

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

  • Behavior4/5

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

    Annotations already provide readOnlyHint=true, indicating a safe read operation. The description adds specific details about returned values (total size and per-crawl breakdown), enhancing transparency without contradicting annotations.

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

    Conciseness5/5

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

    The description is concise with two sentences, front-loading the purpose and specifying return content. No unnecessary words.

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

    Completeness5/5

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

    Given zero parameters, an output schema exists, and annotations are present, the description is complete. It sufficiently explains what the tool does and what it returns.

    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?

    There are no parameters, so the baseline is 4. The description does not need to add parameter information.

    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 shows disk usage of Screaming Frog's internal crawl storage and returns total size and per-crawl breakdown. The verb 'show' and resource 'disk usage' are specific, and the tool is distinct from siblings which focus on crawling and data export.

    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 does not explicitly state when to use this tool versus alternatives. While the purpose is clear, there is no guidance on context or exclusions, leaving usage implied.

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

  • Behavior4/5

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

    Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description adds value by revealing the crawl runs in background and saves to an internal database. This gives behavioral insight beyond the annotations, but lacks specifics on resource consumption or error handling.

    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 well-structured with a summary line, Args block, and Returns block. It is front-loaded with the core purpose. Slightly verbose but all sentences add value; no redundancy. Could be trimmed slightly but remains efficient.

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

    Completeness4/5

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

    Given the tool complexity (3 params, 1 required) and presence of an output schema (not shown), the description explains the return value and background nature. It covers essential usage for starting a crawl and linking to crawl_status. Missing error or prerequisite details, but sufficient for a straightforward start-crawl operation.

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

    Parameters5/5

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

    With 0% schema description coverage, the description adds full meaning: url is explained with an example, config_file includes guidance on limiting URLs, and label is given a usage example. This compensates completely for the bare schema, making parameters self-explanatory.

    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 'Start a background...crawl', the resource 'Screaming Frog crawl', and the storage destination 'SF's internal database'. It distinguishes from sibling tools like crawl_status (polling) and delete_crawl (deletion) by specifying the background execution and return of a crawl_id.

    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 guidance on using crawl_status to poll progress and explains the optional config_file and label parameters. However, it does not explicitly state when not to use this tool or provide comparative guidance against siblings like read_crawl_data or aggregate_crawl_data, though the background execution hint is useful.

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

  • Behavior4/5

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

    Annotations indicate readOnlyHint=false (mutation) and destructiveHint=false, which the description supports by describing a non-destructive data export. The description adds that CSV files are generated, returns an export_id, and directs to read_crawl_data for reading. It does not disclose rate limits or auth, but the annotations already cover safety.

    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 well-structured with Args and Returns sections, front-loaded with the main purpose. It is reasonably concise, though the default value for export_tabs is lengthy. Still, every sentence adds value.

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

    Completeness4/5

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

    Given the presence of an output schema, the description need not detail return values, but it does and also mentions the follow-up tool read_crawl_data. It covers key aspects: export, returned IDs, and next steps. It is complete for a data export tool.

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

    Parameters5/5

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

    Schema coverage is 0%, so the description must compensate. It does so effectively: explains db_id source, lists defaults for export_tabs with reference, gives examples for bulk_export and save_report. This adds substantial meaning beyond the bare schema property names.

    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: 'Load a saved crawl from SF's database and export data as CSV files.' It uses a specific verb ('export') and identifies the resource (saved crawl) and output format. This distinctively separates it from siblings like 'crawl_site' (create) and 'read_crawl_data' (read exported data).

    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 implies use after a crawl is completed, and it directs users to the 'export-reference resource' for options. However, it lacks explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among siblings. It provides clear context but no exclusions.

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

  • Behavior5/5

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

    The description explicitly warns that data is permanently deleted and cannot be undone, which goes beyond the annotations (destructiveHint=true). There is no contradiction with annotations.

    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 extremely concise, using three sentences to state purpose, argument, and warning. No redundant information.

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

    Completeness5/5

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

    For a simple tool with one parameter, the description covers purpose, argument source, and critical behavior (permanent deletion). It is fully adequate.

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

    Parameters5/5

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

    With 0% schema description coverage, the description explains the parameter 'db_id' and tells the agent to obtain it from list_crawls, adding essential meaning for correct invocation.

    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 'delete' and the resource 'crawl', and it distinguishes from sibling tools like list_crawls, export_crawl, etc., by focusing on removal to free disk space.

    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?

    It provides a clear prerequisite (db_id from list_crawls) and a strong warning about permanence. It doesn't explicitly state alternatives, but the action is so specific that misuse is unlikely.

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

  • Behavior5/5

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

    The description aligns with the readOnlyHint annotation and adds significant behavioral details: pagination (limit, offset), filtering options, and a warning about wide exports flooding context. This goes well beyond what annotations provide.

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

    Conciseness5/5

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

    The description is concise and well-structured: an introductory sentence, a clear list of parameters, and a returns note. Every sentence is informative, and the information is front-loaded.

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

    Completeness5/5

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

    The description covers all parameters, output format, and usage prerequisite. It provides enough context for an AI to correctly invoke the tool, including handling of wide exports and pagination, making it complete for a data reading tool.

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

    Parameters5/5

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

    With 0% schema description coverage, the description fully compensates by explaining all 8 parameters, including defaults, constraints (e.g., limit max 1000), and filter modes. It adds meaning that the schema alone lacks.

    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 reads CSV data from an export, using the verb 'Read' and specifying the resource. It distinguishes from siblings like export_crawl (which creates the export) and aggregate_crawl_data (which processes data), making the purpose 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 description explicitly says 'Use after export_crawl,' providing a clear prerequisite. It also describes parameters like filter modes and pagination, guiding usage. However, it does not explicitly mention when not to use or alternatives, missing a small opportunity for deeper guidance.

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

  • Behavior5/5

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

    Discloses that the tool returns total row count and per-value counts with percentages when group_by is set. Annotations indicate readOnlyHint=true, which matches the non-destructive aggregation behavior. No contradictions.

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

    Conciseness5/5

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

    The description is concise with a single summary sentence, a usage sentence, and a clear bulleted list of parameters. Every sentence adds value without redundancy.

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

    Completeness5/5

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

    Given the tool has 7 parameters, an output schema, and a clear sibling context, the description covers all necessary aspects: purpose, usage guidance, parameter details, and return format. No gaps remain.

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

    Parameters5/5

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

    Despite 0% schema description coverage, the description provides a detailed Args section explaining every parameter: export_id, file, group_by, top, filter_column, filter_value, filter_mode, including defaults and the three modes for filter_mode. This fully compensates for the schema gap.

    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 aggregates CSV data from an export, providing row counts and group-by breakdowns. It uses a specific verb (aggregate) and resource (CSV data from export), and distinguishes it from read_crawl_data which returns raw rows.

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

    Usage Guidelines5/5

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

    Explicitly says 'Use instead of read_crawl_data when the question needs counts or a distribution', giving clear guidance on when to choose this tool over its sibling.

    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

screaming-frog-mcp MCP server

Copy to your README.md:

Score Badge

screaming-frog-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/bzsasson/screaming-frog-mcp'

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