Skip to main content
Glama
hna2810

seo-crawler-mcp

by hna2810

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a specific stage of the SEO workflow: crawling, auditing, structure analysis, bulk classification, single-item classification, taxonomy lookup, and report export. The two classification tools are clearly differentiated by batch vs. single input in their descriptions. No two tools are likely to be confused for the same task.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case: crawl_website, audit_seo_issues, analyze_site_structure, classify_content_topics, classify_single_url_or_text, get_taxonomy, export_crawl_report. The naming clearly indicates the action and target. There are no mixed conventions or vague verbs.

    Tool Count5/5

    Seven tools is well-scoped for an SEO crawler and analysis server. Each tool covers a distinct part of the pipeline without redundancy or excessive granularity. The count feels appropriate for the domain.

    Completeness4/5

    The toolset covers the full core workflow: crawl, audit, structure analysis, content classification, taxonomy reference, and report export. There are no obvious dead-end workflows, but minor gaps exist such as the lack of a tool to manage crawl sessions or retrieve raw crawl data independently after crawling. Overall the surface is sufficient for the intended purpose.

  • Average 3.8/5 across 7 of 7 tools scored.

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

    • No community issues in the last 6 months
    • No commit activity data available
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does convey that the tool is a detection/analysis operation (not a mutation) and enumerates covered issue types. However, it does not state whether it runs a new scan, reuses a previous session, or has side effects/rate limits, leaving some behavioral ambiguity.

    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 front-loaded sentence that immediately states the tool's purpose and lists concrete error types. The enumeration is long but contains no filler words; it could be slightly more structured by category, but overall it is efficient.

    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?

    The tool is moderately complex with 3 optional parameters and no output schema. The description thoroughly defines what issues are detected, but it does not describe the return format, how filters map to the listed issue categories, or the dependence on an existing scan session. Given the absence of an output schema, more context about expected results would improve completeness.

    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 clear descriptions for sessionId, filterCategory, and filterSeverity. The tool description adds no extra parameter-level meaning beyond those fields, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb ('Phát hiện' - detect) and a concrete resource: comprehensive on-page and technical SEO errors, with a detailed list including 404, 410, redirects, title issues, thin content, etc. This clearly differentiates it from siblings like crawl_website or export_crawl_report, which perform crawling/reporting rather than auditing.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives, nor any prerequisite such as running crawl_website first. The sessionId parameter hints at prior scans, but the description itself never states that a crawl must exist or that this tool should be used specifically for issue detection after a crawl.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the behavioral burden. It is reasonably transparent that crawling is a read-only data collection operation and mentions delayMs/concurrency to signal server-impact awareness. However, it does not disclose how long a crawl may take, whether large sites may be rate-limited or blocked, whether results are stored or returned directly, or what happens if the site is unreachable. For a potentially long-running crawl tool, more behavioral context would be valuable.

    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 dense sentence that front-loads the main verb and target, then packs the full deliverable list. It earns its place without fluff. It is slightly long but justified by the breadth of data points collected; no redundant or filler wording is present.

    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 crawl tool with 9 parameters and no output schema or annotations, the description does not fully specify the return format, report size limits, runtime expectations, or failure modes. The parameter list is fully documented in the schema, but an agent is left uncertain about how results are delivered (e.g., raw JSON vs stored report vs file). The presence of sibling export_crawl_report suggests results may be later exported, which is useful context the description does not connect.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents every parameter's meaning, type, and default. The description adds a high-level list of the data points collected but does not map those data points to specific parameters or explain interplay between parameters (e.g., mode vs sitemapUrl, maxDepth vs maxPages). Baseline 3 is appropriate because the schema does the heavy lifting and the description adds only modest conceptual 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?

    The description specifies a precise verb ('Crawl') and a concrete resource ('website'), and enumerates the exact data points collected: URL, Title, H1-H4, Meta robots, Canonical, Word count, Inlinks/Outlinks, Anchor texts, Bold keywords. It is immediately distinguishable from sibling tools (e.g., audit_seo_issues, analyze_site_structure, classify_content_topics) which address different post-crawl analyses rather than raw crawling.

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

    Usage Guidelines3/5

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

    The description implies the tool is the starting point for gathering on-page data, and the parameter enums ('full', 'sitemap', 'fast') give hints about modes of use. However, it does not explicitly state when to prefer this over sibling tools such as analyze_site_structure or classify_content_topics, nor does it provide exclusions or alternatives. The usage context is derivable but not explicitly guided.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not mention any side effects, permissions, or whether the operation is read-only. The verb 'returns' suggests a read operation, but this is not explicitly stated, and there is no discussion of data persistence or external effects.

    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 directly states the tool's output and content. It avoids unnecessary detail and is well-structured for quick understanding.

    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 absence of an output schema and annotations, the description provides a moderate level of context by listing the taxonomy components. However, it does not specify the exact format or structure of the returned data, nor does it offer guidance on integration or typical use cases, which might be expected given the tool's reference nature.

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

    Parameters4/5

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

    The tool has zero parameters, and the schema coverage is 100% (since there are no parameters to describe). According to the baseline for 0 parameters, a score of 4 is appropriate, as there is no parameter information to add.

    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 that the tool returns a taxonomy framework for the Mother & Baby industry, specifying the included components (12 main topics, subtopics, specific topics, content context, and local locations). This leaves no ambiguity about 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 Guidelines3/5

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

    The description mentions 'for reference' but does not explicitly state when to use this tool over sibling tools such as classify_content_topics or analyze_site_structure. While the purpose is clear, there is no direct guidance on when to choose this tool.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It does state what the report contains and that output can be Markdown or JSON, and 'export' implies a read-only generation action. It does not disclose whether it requires an existing saved crawl session, what happens when none exists, or any side effects, though the schema partially covers the default session behavior.

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

    Conciseness5/5

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

    The description is a single front-loaded sentence that leads with the action and object, then enumerates the report sections and output formats. Every phrase adds useful disambiguation, and there is no filler or duplication.

    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 two-optional-parameter export tool with no output schema, the description plus parameter schema cover the essentials: report scope, sections, and output formats. The main gap is the implicit prerequisite of a completed crawl/analysis session, but that is reasonably inferable from the sessionId parameter and sibling 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%, so the baseline applies: the schema already documents 'format' (enum with markdown/json) and 'sessionId' (defaults to most recent session). The description adds nothing substantial beyond repeating the output formats, so it neither needs nor receives extra credit.

    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 opens with the concrete verb 'Xuất' (export) and a specific resource: a complete aggregated report containing overview, on-page SEO errors, site structure tree, and topic classification proportions. This clearly distinguishes it from the sibling analysis tools, which generate individual pieces rather than the consolidated 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 word 'tổng hợp hoàn chỉnh' (complete aggregate) implies this is the final consolidated export rather than one of the individual analysis steps, and the sessionId parameter implies a prior crawl. However, the description never explicitly states when to use it, that a crawl/analysis session must already exist, or how it relates to the sibling tools.

    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?

    The core behavior—bulk classification of all crawled URLs and generation of a content-ratio/gap report—is disclosed, and the operation appears non-destructive. With no annotations, though, it omits practical behavioral details such as prerequisites (an existing crawl session), side effects, or latency for large URL sets.

    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 dense sentences with no filler; the action and scope are front-loaded, and the taxonomy/report details are packed efficiently. Every clause adds information the agent needs.

    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 tool with no output schema and no annotations, the description explains taxonomy fields and the two report outputs but does not describe the actual result format, persistence of results, or the requirement to have a prior crawl session beyond the schema's optional sessionId.

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

    Parameters3/5

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

    Schema description coverage is 100%, so both parameters are already documented in the input schema and the description does not need to repeat them. It adds no extra usage nuance, such as what happens when topicFilter is omitted or how sessionId fallback interacts with the report.

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

    Purpose5/5

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

    The description states a specific action ('Phân loại') applied to 'toàn bộ URL đã crawl' and names the exact taxonomy levels and reports produced. This clearly differentiates it from the sibling classify_single_url_or_text, which targets a single URL/text.

    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 implicitly scopes the tool to post-crawl analysis by acting on already-crawled URLs and an optional sessionId, and the distinction from single-URL classification is clear. However, it never explicitly names classify_single_url_or_text or get_taxonomy as alternatives or states when not to use it.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses helpful behavioral traits: instantaneous execution and that it does not crawl the website. But it does not describe what happens when multiple optional fields are supplied, the output format, or any edge cases. Some behavioral context is present, but significant gaps remain.

    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?

    A single, front-loaded sentence conveys the action, target, output hierarchy, and a key distinguishing behavior (no crawling). There is no fluff, and every phrase earns its place.

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

    Completeness3/5

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

    The description covers the core purpose and output taxonomy, but with 6 optional parameters and no output schema, it leaves invocation details unstated — such as whether at least one input must be provided or how the tool prioritizes inputs. For a tool of this complexity, the description is adequate but not fully complete.

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

    Parameters3/5

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

    Schema description coverage is 100%, and each parameter already has descriptive examples in the schema, so the baseline is 3. The description adds the classification hierarchy concept but does not add parameter-level meaning beyond the schema. This is acceptable given the schema's thoroughness.

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

    Purpose5/5

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

    The description states a specific action ('classify'), a clear resource (an article, title, or search keyword), and a structured output taxonomy. It also distinguishes itself from crawl-based siblings by explicitly saying 'không cần crawl cả website' (without crawling the whole website). This makes the tool's purpose immediately clear and differentiated.

    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 clearly implies this tool is for single pieces of content rather than full-site crawling, and it positions itself as an instant alternative to crawling. However, it does not explicitly name sibling alternatives like classify_content_topics or state exclusion conditions, so some inference is required.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It explains what the tool computes but does not disclose output format, side effects, or dependencies (e.g., whether a prior crawl is strictly required if no sessionId is provided). The behavior is not contradictory or misleading, but it lacks details about return values or potential errors.

    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 lists the main functions without extraneous information. It is well-structured and easy to parse, covering all key aspects of the tool's behavior.

    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?

    The description provides a clear functional overview and the parameter is explained, but it does not mention the output type (e.g., report, JSON) or any prerequisites like the need for a completed crawl. Given the sibling tools and the implicit session context, it is fairly complete but could be more explicit about expected outputs and prerequisites.

    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 sessionId parameter is described beyond its type: it is a scan session ID, and if left blank, the most recent session is used. This adds meaningful context. It could be improved by specifying the format or an example, but the description is sufficient for a single optional parameter.

    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 function: automatically building a site hierarchy tree, analyzing URL depth distribution, detecting orphan pages, and counting top linked pages. It is specific and distinct from sibling tools like crawl_website or audit_seo_issues, making its 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 Guidelines3/5

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

    The description does not explicitly mention when to use this tool versus alternatives like audit_seo_issues or classify_content_topics. However, the parameter for sessionId implies it should be used after a crawl session, and the default behavior (using the most recent session) gives implicit guidance. It could be improved by explicitly stating that this tool is for structural analysis after crawling.

    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

seo-crawler-mcp MCP server — quality and maintenance score on Glama

Copy to your README.md:

Score Badge

seo-crawler-mcp MCP server — quality and maintenance score on Glama

Copy to your README.md:

shields.io Endpoint

seo-crawler-mcp MCP server — quality and maintenance score on Glama

For READMEs with an existing badge row. Append &style=flat-square (or any other shields.io style) to match the rest, and &metric=tools, &metric=maintenance or &metric=claim to badge a different dimension.

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/hna2810/seo-crawler-mcp'

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