Skip to main content
Glama
hna2810

seo-crawler-mcp

by hna2810

SEO Crawler & Mother-Baby Content Classifier MCP Server

MCP Server chuyên sâu cho việc Quét toàn bộ bài viết của 1 website, Phát hiện lỗi SEO On-page & Kỹ thuật, Phân tích Cấu trúc Phân cấp Website, và Phân loại Chủ đề Nội dung Mẹ & Bé đa chiều theo chuẩn Model Context Protocol (MCP).


1. Tính năng Nổi bật

1.1. Thu thập Toàn bộ Dữ liệu Website (crawl_website)

  • Hỗ trợ quét toàn trang (full), quét qua XML Sitemap (sitemap), hoặc quét nhanh (fast).

  • Tự động đọc và tôn trọng chỉ thị robots.txt.

  • Tự động phát hiện Sitemap (/sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml,...).

  • Giới hạn cùng domain, không crawl external link.

  • Thu thập cho mỗi URL:

    • Thông tin cơ bản: URL, Final URL (sau redirect), Status code, Content Type, Crawl time.

    • SEO On-page: Title, Meta Description, H1, H2-H4, Meta robots, Canonical, Word count.

    • Nội dung ngữ nghĩa: Từ khóa in đậm (<strong>, <b>), văn bản chính bài viết.

    • Liên kết: Tổng internal links, external links, anchor text, và tự động dựng mạng lưới liên kết trỏ đến (Inlinks).

1.2. Phát hiện Lỗi SEO Tự động (audit_seo_issues)

  • Mã phản hồi HTTP: Lỗi 404 (Not Found), 410 (Gone), chuyển hướng 301/302, lỗi máy chủ 5xx.

  • Thẻ Meta: Thiếu Title, Trùng lặp Title (Duplicate Title), Title SEO quá dài (>60 ký tự), Thiếu Meta Description, Meta Description quá dài (>160 ký tự).

  • Thẻ Heading: Thiếu thẻ H1, Nhiều hơn 1 thẻ H1 (Multiple H1).

  • Chất lượng Nội dung: Thin content (bài viết mỏng < 250 từ), Nội dung trùng lặp (Duplicate Content dựa trên thuật toán Shingles & Jaccard similarity ≥ 85%).

  • Lập chỉ mục: Phát hiện thẻ Noindex, Thẻ Canonical sai lệch (Canonical mismatch).

  • Liên kết: Phát hiện Broken Internal Link (link nội bộ trỏ tới trang 404/410).

1.3. Phân tích Cấu trúc Website (analyze_site_structure)

  • Tự động dựng cây phân cấp thư mục (Site Hierarchy Tree dạng ASCII và JSON).

  • Phân tích độ sâu phân tầng URL (Depth Distribution).

  • Phát hiện Trang mồ côi (Orphan Pages): Các trang có 0 internal inlinks trỏ đến.

  • Thống kê Top URL nhận nhiều internal links nhất.

1.4. Phân loại Chủ đề Mẹ & Bé Đa chiều (classify_content_topics & classify_single_url_or_text)

Áp dụng bộ khung Taxonomy chuẩn 12 Topic lớn:

  1. MẸ BẦU / THAI KỲ (25+ subtopics)

  2. TRẺ SƠ SINH (26+ subtopics)

  3. TRẺ NHỎ (19+ subtopics)

  4. MẸ SAU SINH (25+ subtopics)

  5. Ở CỮ (17+ subtopics)

  6. DINH DƯỠNG MẸ & BÉ (15+ subtopics)

  7. CHĂM SÓC DA MẸ & BÉ (15+ subtopics)

  8. SỨC KHỎE MẸ & BÉ (13+ subtopics)

  9. TẮM & VỆ SINH (12+ subtopics)

  10. NUÔI DẠY CON (14+ subtopics)

  11. SẢN PHẨM MẸ & BÉ (19+ subtopics)

  12. DỊCH VỤ MẸ & BÉ (Tắm bé, Tắm bé tại nhà, Massage bầu, Thông tắc tia sữa, Chăm sóc mẹ sau sinh,...)

Bóc tách 2 Dimension riêng biệt:

  • Location: Hà Nội, TP.HCM, Hải Phòng, Bắc Ninh, Quảng Ninh, Cần Thơ, Đà Nẵng, v.v.

  • Context: Hướng dẫn, Nguyên nhân, Dấu hiệu, Cách xử lý, Phòng ngừa, Có nên / không nên, So sánh, Review, Đánh giá, Kinh nghiệm, Chi phí / Giá, Thành phần, Công dụng, Cách sử dụng, Địa điểm, Dịch vụ.

Kiến trúc phân loại:

TOPIC
│
├── SUBTOPIC
│   │
│   └── SPECIFIC TOPIC
│
├── CONTEXT
│
└── LOCATION

1.5. Báo cáo Tỷ trọng Nội dung (computeContentRatio)

  • Thống kê Topic được viết nhiều nhất và tỷ trọng % (Content Ratio).

  • Thống kê Subtopic được viết nhiều nhất.

  • Phát hiện các Chủ đề bỏ ngỏ (Content Gaps): Các chủ đề con chưa có bài viết nào để gợi ý sản xuất nội dung.


Related MCP server: Fetch Crawl MCP

2. Cài đặt & Chạy Thử nghiệm

Yêu cầu:

  • Node.js >= 18 (Đã kiểm thử tối ưu trên Node.js v26.1.0)

Cài đặt:

cd seo-crawler-mcp
npm install
npm run build

Chạy Giao diện Web Dashboard:

npm run ui

Truy cập trình duyệt: http://localhost:3333 (Theo dõi tiến trình cào theo thời gian thực, nạp lại phiên cào cũ từ dropdown Lịch sử quét, xuất file Excel đa sheet native kèm 3 biểu đồ tương tác).

Chạy chế độ MCP Server:

npm start

Chạy test suite:

npx ts-node test/test-all.ts

3. Danh sách Công cụ MCP (MCP Tools)

Tên Tool

Mô tả

crawl_website

Crawl website (tùy chọn maxDepth, maxPages, sitemap, regex include/exclude, delay)

audit_seo_issues

Kiểm tra toàn diện lỗi SEO kỹ thuật & On-page (404, 301, trùng title, thin content...)

analyze_site_structure

Xuất sơ đồ cây cấu trúc URL, độ sâu, trang mồ côi (Orphan pages)

classify_content_topics

Phân loại toàn bộ URL theo Taxonomy Mẹ & Bé, tính tỷ trọng nội dung và Content Gaps

classify_single_url_or_text

Phân loại tức thì 1 tiêu đề/URL/bài viết theo Topic -> Subtopic -> Specific Topic -> Context -> Location

export_crawl_report

Xuất báo cáo tổng quan Markdown hoặc JSON hoàn chỉnh

get_taxonomy

Trả về toàn bộ danh mục 12 Topic, Subtopics, Contexts, Locations


4. Tích hợp vào Cấu hình MCP

Thêm cấu hình vào mcp_config.json (Claude Desktop hoặc Antigravity):

{
  "mcpServers": {
    "seo-crawler": {
      "command": "node",
      "args": [
        "c:\\Users\\Administrator\\Desktop\\ads\\seo-crawler-mcp\\dist\\index.js"
      ]
    }
  }
}

Available Tools

7 tools
analyze_site_structureA

Tự động xây dựng sơ đồ phân cấp website (Site Hierarchy Tree), phân bố độ sâu URL, phát hiện trang mồ côi (Orphan Pages - 0 internal links) và thống kê các trang được trỏ link nhiều nhất.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNoID phiên quét (nếu bỏ trống sẽ lấy phiên gần nhất)

TDQS

A4/5.0
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.

audit_seo_issuesB

Phát hiện toàn diện các lỗi SEO On-page & kỹ thuật: 404 Not Found, 410 Gone, 301/302 Redirect, thiếu/trùng Title, Title dài > 60 ký tự, thiếu Meta description, thiếu/nhiều H1, Thin content (<250 từ), Duplicate content, Noindex, liên kết gãy.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNoID phiên quét trước đó (nếu bỏ trống sẽ lấy phiên quét gần nhất)
filterCategoryNoLọc lỗi theo danh mục. Mặc định: 'all'
filterSeverityNoLọc lỗi theo mức độ nghiêm trọng. Mặc định: 'all'

TDQS

B3.4/5.0
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.

classify_content_topicsA

Phân loại chủ đề nội dung toàn bộ URL đã crawl theo khung Taxonomy Mẹ & Bé (12 Topic chuẩn + Subtopic + Specific Topic + Context + Location + Confidence). Xuất báo cáo Tỷ trọng nội dung (Content Ratio) và xác định chủ đề viết nhiều nhất / chủ đề bị bỏ quên (Content Gap).

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNoID phiên quét (nếu bỏ trống sẽ lấy phiên gần nhất)
topicFilterNoLọc kết quả theo một Topic cụ thể (ví dụ: 'DỊCH VỤ MẸ & BÉ' hoặc 'TRẺ SƠ SINH')

TDQS

A3.9/5.0
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.

classify_single_url_or_textA

Phân loại tức thì một bài viết, tiêu đề hoặc từ khóa tìm kiếm thành Topic -> Subtopic -> Specific Topic -> Context -> Location mà không cần crawl cả website.

ParametersJSON Schema
NameRequiredDescriptionDefault
h1NoTiêu đề thẻ H1 (tùy chọn)
urlNoURL hoặc slug bài viết (ví dụ: /dich-vu-tam-be-tai-nha-ha-noi-gia-bao-nhieu)
titleNoTiêu đề bài viết hoặc câu hỏi tìm kiếm (ví dụ: 'Dịch vụ tắm bé tại nhà Hà Nội giá bao nhiêu?')
headingsNoDanh sách tiêu đề phụ H2, H3 (tùy chọn)
mainTextNoĐoạn văn trích dẫn hoặc nội dung chính (tùy chọn)
boldKeywordsNoCác từ khóa in đậm strong/b (tùy chọn)

TDQS

A3.9/5.0
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.

crawl_websiteA

Crawl toàn bộ hoặc một phần website để thu thập toàn bộ dữ liệu URL, Title, H1-H4, Meta robots, Canonical, Word count, Inlinks/Outlinks, Anchor texts và Bold keywords.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL gốc của website cần quét (ví dụ: https://homecaresausinh.com)
modeNoChế độ quét: 'full' (quét theo liên kết nội bộ), 'sitemap' (quét qua XML sitemap), 'fast' (quét nhanh trang chủ và menu). Mặc định: 'full'
delayMsNoĐộ trễ giữa các request tính bằng ms để tránh quá tải máy chủ (mặc định: 200)
maxDepthNoĐộ sâu quét tối đa (mặc định: 3)
maxPagesNoSố trang tối đa cần quét (mặc định: 100)
sitemapUrlNoURL sitemap tùy chọn nếu muốn chỉ định trực tiếp (ví dụ: https://example.com/sitemap.xml)
concurrencyNoSố lượng request đồng thời (mặc định: 3, tối đa 10)
excludePatternNoRegex hoặc chuỗi mẫu để bỏ qua URL (ví dụ: '/tag|/cart|/checkout')
includePatternNoRegex hoặc chuỗi mẫu để chỉ quét các URL khớp (ví dụ: '/dich-vu|/blog')

TDQS

A3.6/5.0
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.

export_crawl_reportA

Xuất báo cáo tổng hợp hoàn chỉnh (Tổng quan + Lỗi SEO On-page + Cây cấu trúc Website + Tỷ trọng Phân loại Chủ đề Mẹ & Bé) định dạng Markdown hoặc JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoĐịnh dạng xuất: 'markdown' (mặc định) hoặc 'json'
sessionIdNoID phiên quét (nếu bỏ trống sẽ lấy phiên gần nhất)

TDQS

A3.8/5.0
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.

get_taxonomyA

Trả về toàn bộ bộ khung Taxonomy ngành Mẹ & Bé (12 Topic chính, danh sách Subtopic, Specific Topics, danh mục Content Context và danh sách Địa phương Location) để tham khảo.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/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 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.0.0
    • First observedanalyze_site_structure
    • First observedaudit_seo_issues
    • First observedclassify_content_topics
    • First observedclassify_single_url_or_text
    • First observedcrawl_website
    • First observedexport_crawl_report
    • First observedget_taxonomy

TDQS

A4/5.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.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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