Token导航 LogoToken导航TokenDH.com
SEO Crawler MCP logo
安全风控未说明官方级别未说明来源级核验

SEO Crawler MCP

MCP Server

一款基于MCP协议的网站爬虫与SEO分析工具,可检测技术SEO问题、内容质量问题、安全漏洞及优化机会。

工具数

0

提示词数

0

GitHub Stars

14

资源数

0
安全审计TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

houtini-ai

提供方

houtini-ai

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

SEO爬虫MCP-LLM网站爬虫和SEO分析器

](https://www.npmjs.com/package/@houtini/seo-crawler-mcp) ](https://www.npmjs.com/package/@houtini/seo-crawler-mcp) ![Build Status](https://github.com/houtini-ai/seo-crawler-mcp/actions) ![TypeScript](https://www.typescriptlang.org/) ![Type Definitions](https://www.npmjs.com/package/@houtini/seo-crawler-mcp) ![MCP Registry](https://registry.modelcontextprotocol.io) ![License](https://opensource.org/licenses/Apache-2.0)

抓取并分析您的网站,找出可能影响网站SEO的错误和问题

快速导航 安装 | CLI模式 | 如何使用 | 检测到什么 | 数据存储 | 演出 | 工具参考 | 可用查询

我想以我使用MCP协议SDK的经验为基础,看看我们能在多大程度上扩展人工智能助手的功能。我决定构建一个爬虫来检查我的网站的“技术SEO”健康状况,并遇到了Crawlee——它似乎是我的MCP爬行组件的理想库。

有趣的是,MCP通常表示某种服务器连接。SEO爬虫MCP则不是这样。MCP协议可能比我意识到的更强大——这是一个封装在MCP SDK中的自包含应用程序,可以在本地处理所有内容:

  • 智能请求调度和队列管理
  • 自动重试逻辑和错误处理
  • 具有可配置延迟的尊重式爬行
  • 大型网站的内存高效流媒体
  • 更好的SQLite3嵌入式数据库,存储每个抓取页面的HTML、元数据、标题、链接关系和网站结构
  • 自定义SQL分析引擎,具有25个以上的专业查询,可检测内容问题、技术SEO问题、安全漏洞和优化机会

Claude(或您选择的AI助手)可以通过简单的函数调用来编排整个堆栈。爬行异步运行,将所有内容存储在SQLite中,然后Claude可以通过自然语言查询这些数据——“分析此爬行以寻找seo机会”或“报告内部断开的链接”——MCP服务器将其转换为复杂的SQL分析。

您还可以直接从终端运行爬网 -非常适合大型网站或后台处理。CLI模式允许您运行爬网,获取输出目录,然后将其交给Claude,以便通过MCP工具进行人工智能分析。

学分

核心爬行架构的灵感来自 自由爬行 项目。我们已经调整了他们经过验证的爬行方法,以在MCP协议中使用,同时添加了全面的SEO分析功能。

______________________________________________________________________

安装

对于初学者

如果您是MCP服务器的新手,我建议您先阅读以下内容:

快速安装(NPX)

将此添加到您的Claude Desktop配置文件中:

窗户: C:\Users\[YourName]\AppData\Roaming\Claude\claude_desktop_config.json\ 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "seo-crawler-mcp": {
      "command": "npx",
      "args": ["-y", "@houtini/seo-crawler-mcp"],
      "env": {
        "OUTPUT_DIR": "C:\\seo-audits"
      }
    }
  }
}

重新启动克劳德桌面。将提供四种工具:

  • seo-crawler-mcp:run_seo_audit
  • seo-crawler-mcp:analyze_seo
  • seo-crawler-mcp:query_seo_data
  • seo-crawler-mcp:list_seo_queries

克劳德代码(CLI)

Claude Code使用了一种不同的注册机制——它不读取 claude_desktop_config.json.使用 claude mcp add 相反:

claude mcp add -e OUTPUT_DIR=/path/to/seo-audits -s user seo-crawler-mcp -- npx -y @houtini/seo-crawler-mcp

通过以下方式进行验证:

claude mcp get seo-crawler-mcp

你应该看看 Status: Connected.

开发安装

cd C:\MCP\seo-crawler-mcp
npm install
npm run build

然后在配置中使用本地路径:

{
  "mcpServers": {
    "seo-crawler-mcp": {
      "command": "node",
      "args": ["C:\\MCP\\seo-crawler-mcp\\build\\index.js"],
      "env": {
        "OUTPUT_DIR": "C:\\seo-audits",
        "DEBUG": "false"
      }
    }
  }
}

环境变量:

  • OUTPUT_DIR:保存爬网结果的目录(必填)
  • DEBUG:设置为 "true" 启用详细调试日志记录(可选,默认: "false")

CLI用于本地开发:

当从本地版本运行CLI(不通过npm安装)时,请使用 node 直接:

# Run crawl
node C:\MCP\seo-crawler-mcp\build\cli.js crawl https://example.com --max-pages=20

# Analyze results
node C:\MCP\seo-crawler-mcp\build\cli.js analyze C:\seo-audits\example.com_2026-02-02_abc123

# List queries
node C:\MCP\seo-crawler-mcp\build\cli.js queries --category=critical

______________________________________________________________________

CLI模式(终端使用)

对于大型爬网或后台处理,您可以直接从终端运行爬网。

注: 这些示例使用 npx 对于全球安装的软件包。有关本地开发,请参阅上面的“开发安装”部分。 } } } }


---

## CLI Mode (Terminal Usage)

For large crawls or background processing, you can run crawls directly from the terminal:

### Run a Crawl

Basic crawl

npx @houtini/seo-crawler-mcp crawl https://example.com

Large crawl with custom settings

npx @houtini/seo-crawler-mcp crawl https://example.com --max-pages=5000 --depth=5

Using Googlebot user agent

npx @houtini/seo-crawler-mcp crawl https://example.com --user-agent=googlebot


### 快速分析

Show summary statistics

npx @houtini/seo-crawler-mcp analyze C:/seo-audits/example.com_2026-02-01_abc123

Detailed JSON output

npx @houtini/seo-crawler-mcp analyze C:/seo-audits/example.com_2026-02-01_abc123 --format=detailed


### 列出可用查询

All queries

npx @houtini/seo-crawler-mcp queries

Security queries only

npx @houtini/seo-crawler-mcp queries --category=security

Critical priority queries

npx @houtini/seo-crawler-mcp queries --priority=CRITICAL


### 工作流程:终端+克劳德

1. **从终端运行大型爬网** (在后台运行,可以关闭终端)

npx @houtini/seo-crawler-mcp crawl https://bigsite.com --max-pages=5000


1. **获取输出路径** 根据爬行结果

Output Path: C:\seo-audits\bigsite.com_2026-02-02T10-15-30_abc123


1. **在Claude Desktop中,使用AI进行分析**

Analyze the crawl at C:\seo-audits\bigsite.com_2026-02-02T10-15-30_abc123 Show me the critical issues What are the biggest SEO problems? Give me a detailed report on broken internal links


此工作流程非常适合:

- 大型网站(1000多个页面),您希望抓取在一夜之间运行
- 要批量抓取的多个站点
- 通过cron作业或计划任务自动爬行
- 在使用Claude进行智能分析的同时保持基于终端的工作流程

______________________________________________________________________

## 如何使用这个

### 完成SEO审核

典型的工作流程如下:

1. **抓取网站**

Use seo-crawler-mcp to crawl https://example.com with maxPages=2000


1. **运行分析**

Analyse the crawl at C:/seo-audits/example.com_2026-02-01_abc123


1. **调查具体问题**

Show me the broken internal links from that crawl


Claude处理其余的事情——调用正确的工具,解析结果,并以可读的格式呈现所有内容。

### 安全审计

如果您特别担心安全标头:

1. **列出可用的安全查询**

What security checks can you run on an SEO crawl?


1. **运行以安全为重点的分析**

Check the security issues in crawl C:/seo-audits/example.com_2026-02-01_abc123


1. **深入探讨具体问题**

Show me all pages with unsafe external links


______________________________________________________________________

## 检测到什么

分析引擎包括五个类别的25个全面的SEO检查:

### 关键问题(4项检查)

- 缺少标题标签-没有标题的页面无法排名
- 内部链接断开-404/5xx响应损害了可爬性
- 服务器错误-5xx个响应指示站点问题
- 404错误-需要修复或重定向的损坏页面

### 内容质量(7项检查)

- 不同页面的标题重复
- 重复的元描述
- 重复的H1标签
- 缺少元描述
- 缺少H1标签
- 单个页面上有多个H1标签
- 精简内容-300字以下的页面

### 技术搜索引擎优化(5项检查)

- 重定向链和环
- 没有内部链接的孤立页面
- 规范URL不匹配
- 非HTTPS页面仍在使用中
- 标题层次问题(H2之前的H3等)

### 安全(6次检查)

- 缺少内容安全策略标头
- 缺少HSTS(严格运输安全)
- 缺少X-Frame-Options(点击劫持保护)
- 缺少推荐人政策
- 不安全的外部链接(target=“\_blank”,没有rel=“noopener”)
- 协议相关链接(//example.com)

### 优化(6项检查)

- 标题标签太长或太短
- 元描述长度问题
- 标题匹配H1(差异化机会)
- 没有出站链接的页面
- 外部链接过多的页面
- 页面缺少图像

______________________________________________________________________

## 数据存储

爬虫将所有内容存储在按域和日期组织的SQLite数据库中:

C:/seo-audits/example.com_2026-02-01_abc123/ ├── crawl-data.db # SQLite database │ ├── pages # Every page crawled │ ├── links # All link relationships │ ├── errors # Crawl errors │ └── crawl_metadata # Statistics ├── config.json # Crawl settings └── crawl-export.csv # Optional CSV export


______________________________________________________________________

## 演出

典型的爬行性能指标:

**爬行速度:**

- 中型网站(1500-2000页):约15分钟
- 跟踪了300000多个链接关系
- 数据库大小:约15MB,2000页

**查询性能:**

- 简单查询:10ms以下
- 复杂查询:小于100ms
- 加入查询:200ms以下
- 全分析:600ms以下

SQLite方法在这里运行良好。一切都保持本地,没有API速率限制,查询性能足以进行SEO分析。

______________________________________________________________________

## 局限性

v3.0计划进行4项额外检查:

- **核心网页指标** -要求Playwright提供真实的浏览器指标
- **Robots.txt验证** -需要解析器库
- **可读性评分** -需要文本分析库
- **移动端渲染问题** -需要设备仿真

目前的25项检查涵盖了直接影响搜索引擎爬行、索引和排名的技术SEO的最关键方面。

______________________________________________________________________

## 技术细节

**内置:**

- TypeScript 5.3
- 爬虫3.7(HttpCrawler)
- 更好平方3 12.6
- Cheerio 1.0(HTML解析)
- MCP SDK 1.0

该代码始终使用ES模块,对输入进行适当的Zod验证,并进行全面的错误处理。我保持了架构的整洁——用于爬行、分析、格式化和工具定义的单独模块。

**部署:**

- 通过Node.js实现本地MCP服务器
- 无外部依赖关系
- 可配置的输出目录
- 并行爬行(5名工人)

______________________________________________________________________

## MCP工具参考

### 运行_审计

抓取网站并将全面的SEO数据提取到SQLite中。

**参数:**

- `url` (必填)-要抓取的网站URL
- `maxPages` (可选)-可抓取的最大页面数(默认值:1000)
- `depth` (可选)-最大爬行深度(默认值:3)
- `userAgent` (可选)-“chrome”或“googlebot”(默认:“chrome“)

**例子:**

run_seo_audit({ url: "https://example.com", maxPages: 2000, depth: 5, userAgent: "chrome" })


**退货:** 爬网ID和输出路径

______________________________________________________________________

### analyze_seo

对已完成的抓取进行全面的SEO分析。

**参数:**

- `crawlPath` (必需)-爬网输出目录的路径
- `format` (可选)-“结构化”、“摘要”或“详细”(默认:“结构化”)
- `includeCategories` (可选)-按类别筛选:“关键”、“内容”、“技术”、“安全”、“机会”
- `maxExamplesPerIssue` (可选)-每个问题的最大示例URL(默认值:10)

**例子:**

analyze_seo({ crawlPath: "C:/seo-audits/example.com_2026-02-01_abc123", format: "structured", includeCategories: ["critical", "security"], maxExamplesPerIssue: 5 })


**退货:** 包含问题、受影响的URL和修复建议的结构化报告

______________________________________________________________________

### 查询_数据

按名称执行特定的SEO查询。

**参数:**

- `crawlPath` (必需)-爬网输出目录的路径
- `query` (必填)-查询名称(请参阅list_seo_queries)
- `limit` (可选)-最大结果(默认值:100)

**例子:**

query_seo_data({ crawlPath: "C:/seo-audits/example.com_2026-02-01_abc123", query: "broken-internal-links", limit: 50 })


**退货:** 带有受影响URL和上下文的查询结果

______________________________________________________________________

### list_seo_queries

发现可用的SEO分析查询。

**参数:**

- `category` (可选)-按类别筛选
- `priority` (可选)-按优先级筛选

**例子:**

list_seo_queries({ category: "security", priority: "HIGH" })


**退货:** 包含描述和优先级的可用查询列表

______________________________________________________________________

## 可用查询

分析引擎包括28个按类别组织的预定义SQL查询。每个查询都包括详细的影响分析和修复建议。

### 关键问题(4个问题)

**缺少标题**

- **它发现了什么:** 没有标题标签的页面
- **为什么重要:** 标题标签是页面上最重要的SEO元素。没有它们,搜索引擎基本上看不见页面。
- **修复:** 立即为所有页面添加唯一的描述性标题标签(50-60个字符)。

**内部链接中断**

- **它发现了什么:** 指向404/5xx错误页面的内部链接
- **为什么重要:** 断开的链接会损害爬行能力,浪费爬行预算。它们为用户和搜索引擎创造了死胡同。
- **修复:** 更新或删除断开的链接。为移动的页面添加重定向。

**服务器错误**

- **它发现了什么:** 返回5xx状态代码的页面
- **为什么重要:** 指示阻止搜索引擎为内容建立索引的服务器问题。
- **修复:** 调查服务器问题,检查错误日志,确保有足够的资源。

**未发现错误**

- **它发现了什么:** 返回404状态码的页面
- **为什么重要:** 失去了索引机会和糟糕的用户体验。
- **修复:** 添加301重定向或删除指向不存在页面的链接。

### 内容质量(7个查询)

**重复标题**

- **它发现了什么:** 多个页面共享相同的标题标签
- **为什么重要:** 使搜索引擎对哪个页面的查询排名感到困惑。
- **修复:** 使每个页面的标题标签唯一,并描述其特定内容。

**重复描述**

- **它发现了什么:** 具有相同元描述的多个页面
- **为什么重要:** 由于片段在搜索结果中看起来相同,因此降低了点击率。
- **修复:** 为每个页面编写唯一的元描述(150-160个字符)。

**复制h1s**

- **它发现了什么:** 多个页面共享相同的H1标题
- **为什么重要:** H1标签表示页面主题-重复会降低主题的清晰度。
- **修复:** 确保每个页面都有一个唯一的H1,准确描述其内容。

**缺少描述**

- **它发现了什么:** 没有元描述标签的页面
- **为什么重要:** 搜索引擎创建自己的片段,通常不能很好地代表内容。
- **修复:** 为所有重要页面添加引人注目的元描述(150-160个字符)。

**丢失-h1s**

- **它发现了什么:** 没有H1标题的页面
- **为什么重要:** H1是页面主题和结构的主要信号。
- **修复:** 为所有内容页面添加描述性H1标签。

**多个h1**

- **它发现了什么:** 包含多个H1标签的页面
- **为什么重要:** 淡化主题焦点,混淆标题层次。
- **修复:** 每页只使用一个H1。将其他H1转换为H2或H3。

**薄含量**

- **它发现了什么:** 内容少于300字的页面
- **为什么重要:** 薄内容提供的价值很小,排名也很差。
- **修复:** 用有价值的信息扩展内容或整合到现有页面中。

### 技术搜索引擎优化(5个问题)

**重定向页面**

- **它发现了什么:** 重定向到其他URL的页面
- **为什么重要:** 多次重定向浪费了爬行预算,页面加载缓慢。
- **修复:** 更新内部链接以直接指向最终目的地。

**重定向链**

- **它发现了什么:** 在到达目的地之前多次重定向的URL
- **为什么重要:** 每次重定向都会增加延迟,并有断链的风险。
- **修复:** 实现从源到最终目的地的直接重定向。

**孤儿页面**

- **它发现了什么:** 没有指向它们的内部链接的页面
- **为什么重要:** 搜索引擎可能永远不会发现孤立页面。
- **修复:** 添加相关页面的内部链接,将孤儿连接到网站结构。

**规范问题**

- **它发现了什么:** 规范URL与实际URL不匹配的页面
- **为什么重要:** 表示重复内容或索引首选项冲突。
- **修复:** 确保规范标签指向每个页面的正确版本。

**非https页面**

- **它发现了什么:** 页面仍在使用HTTP而不是HTTPS
- **为什么重要:** 安全风险、排名惩罚和浏览器警告。
- **修复:** 通过正确的重定向在整个网站上实现HTTPS。

### 安全(6个问题)

**缺少csp**

- **它发现了什么:** 没有内容安全策略标头的页面
- **为什么重要:** 易受XSS攻击和代码注入的攻击。
- **修复:** 实现CSP标头以控制资源加载。

**丢失hsts**

- **它发现了什么:** 没有严格传输安全标头的页面
- **为什么重要:** 允许协议降级攻击。
- **修复:** 添加HSTS标头以强制HTTPS连接。

**缺少x帧选项**

- **它发现了什么:** 没有X-Frame-Options标题的页面
- **为什么重要:** 易受点击劫持攻击。
- **修复:** 添加X-Frame-Options标头(DENY或SAMEORIGIN)。

**缺少推荐人政策**

- **它发现了什么:** 没有推荐人政策标题的页面
- **为什么重要:** 潜在的隐私和安全漏洞。
- **修复:** 为您的用例实施适当的引用者策略。

**不安全的外部链接**

- **它发现了什么:** 带有target=“\_blank”但没有rel=“noopener”的链接
- **为什么重要:** 允许打开的页面控制打开窗口的安全漏洞。
- **修复:** 将rel=“noopener noreferrer”添加到所有target=“\_blank”链接中。

**协议相关链接**

- **它发现了什么:** 使用//而不是https的链接://
- **为什么重要:** 可能导致混合内容问题和安全警告。
- **修复:** 对所有外部资源使用绝对HTTPS URL。

### 优化机会(6个查询)

**标题长度问题**

- **它发现了什么:** 短于30个字符或长于60个字符的标题标签
- **为什么重要:** 太短的标题浪费了机会;太长会在搜索结果中被截断。
- **修复:** 目标是50-60个字符,以便在搜索结果中最佳显示。

**描述长度问题**

- **它发现了什么:** 少于120个字符或长于160个字符的元描述
- **为什么重要:** 糟糕的描述会降低点击率。
- **修复:** 编写150-160个字符的描述以进行完整显示。

**标题-质量h1**

- **它发现了什么:** 标题标签与H1完全匹配的页面
- **为什么重要:** 错过了针对不同关键字或角度的机会。
- **修复:** 使标题和H1互补,但不完全相同,以获得更广泛的关键字覆盖率。

**没有出站链接**

- **它发现了什么:** 没有外部链接的页面
- **为什么重要:** 可能出现垃圾邮件或孤立;链接到优质资源可以建立信任。
- **修复:** 在适当的情况下添加权威来源的相关外部链接。

**高外部链接**

- **它发现了什么:** 外部链接过多的页面(20+)
- **为什么重要:** 可能会出现垃圾邮件,并不必要地泄露PageRank。
- **修复:** 减少与最相关和最有价值的资源的外部链接。

**丢失的图像**

- **它发现了什么:** 没有任何图像的页面
- **为什么重要:** 图像提高了参与度,并提供了额外的排名信号。
- **修复:** 添加具有适当alt文本的相关优化图像。

______________________________________________________________________

### 使用查询

**在克劳德桌面中:**

List all available queries Show me the critical queries only Run the missing-titles query on my crawl What does the orphan-pages query check for?


**在CLI中:**

List all queries

seo-crawler-mcp queries

Filter by category

seo-crawler-mcp queries --category=security

Filter by priority

seo-crawler-mcp queries --priority=CRITICAL


每个查询返回:

- 受影响的URL
- 相关上下文(字数、状态代码等)
- 受影响页面数
- 按严重程度组织

______________________________________________________________________

## 发展

Build

npm run build

Development mode

npm run dev

Run tests

npm test


______________________________________________________________________

## 版本历史

### v2.0.1(2026-02-02)

- 修复了MemoryStorage清理错误(在finally块中添加了显式清除)
- 添加了用于基于终端的爬行的CLI模式
- 从文档中删除了专有工具引用
- 确保连续爬网之间的新鲜状态得到保证

### v2.0.0(2026-02-01)

- 添加了全面的基于SQL的分析引擎
- 28个SEO查询,涵盖行业标准审计要求
- 三种分析工具:analyze_seo、query_seo_data、list_seo_queries
- 86%的标准SEO审计要求覆盖率

### v1.1.0版本(2026-02-01)

- 使用安全标头增强数据收集
- 标题结构验证(H1-H6)
- 链接安全分析
- 响应时间精度提高

### v1.0.0(2026-01-31)

- 使用SQLite存储的初始版本
- LibreCawl模式实现
- 基本爬网工具(run_seo_audit)

______________________________________________________________________

## 许可证

Apache许可证2.0

版权所有2026理查德·巴克斯特

该产品包括Apify和Crawlee项目开发的软件。
有关详细信息,请参阅通知文件。

______________________________________________________________________

## 支持

**github:** https://github.com/houtini-ai/seo-crawler-mcp\
**问题:** https://github.com/houtini-ai/seo-crawler-mcp/issues\
**作者** 巴克斯特 

______________________________________________________________________

**标签:** seo、爬虫、审计、技术seo、mcp、crawlee、sqlite、网页抓取、网站分析

目录标签

目录标签

安全审计TypeScriptClaudeSEO分析本地部署网站爬虫技术SEO内容优化

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明nonelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP