关于 Sitemap Stats
Sitemap Stats 是面向网站分析和研究的 MCP 服务,读取域名的站点地图并统计 URL 的路径前缀分布。它侧重网站结构而非页面内容,可显示读取上限及截断原因。
主要功能
- 01读取 robots.txt 和站点地图
- 02统计 URL 路径前缀分布
- 03报告站点地图数量及 URL 数
- 04显示更新时间范围和截断状态
适用场景
- 01分析网站内容的路径分布
- 02识别 URL 集中于少数目录的网站
- 03检查站点地图覆盖范围及更新时间
MCP 相关
向 MCP 客户端提供站点地图统计工具,可通过 Pipeworx 网关连接,也可作为本地 stdio MCP 服务运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/sitemap-stats/mcpclaude mcp add --transport http pipeworx-io-sitemap-stats https://gateway.pipeworx.io/sitemap-stats/mcp{"mcpServers":{"pipeworx-io-sitemap-stats":{"type":"http","url":"https://gateway.pipeworx.io/sitemap-stats/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-sitemap-stats":{"type":"http","url":"https://gateway.pipeworx.io/sitemap-stats/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-sitemap-stats":{"type":"http","url":"https://gateway.pipeworx.io/sitemap-stats/mcp"}}}{"mcpServers":{"pipeworx-io-sitemap-stats":{"serverUrl":"https://gateway.pipeworx.io/sitemap-stats/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/sitemap-stats
读取域名的站点地图,并报告其结构而非内容——按路径前缀统计 URL 数量。这个指纹可以区分普通网站和程序化内容农场(内容农场的大多数 URL 都集中在一两个路径前缀下)。
属于 Pipeworx——一个连接 AI Agent 与 1683+ 个实时数据源的 MCP 网关。
工具
sitemap_stats({ domain, max_urls? })— 解析域名的站点地图(读取 robots.txt 中的Sitemap:指令;若无,则依次尝试/sitemap.xml和/sitemap_index.xml),跟进一层站点地图索引嵌套,并返回total_urls、sitemap_count、前 20 个路径前缀的直方图(top_prefixes,每项包含count和share)、top_prefix_share(区分普通网站与生成式网站的单一数值),以及存在时的lastmod_min/lastmod_max。限制读取的 URL 总数(默认 150,000,通过max_urls设置的硬上限为 500,000);提前停止时始终会设置capped: true和cap_reason,因此截断读取不会看起来像一个小型网站。没有站点地图的域名会返回found: false和reason,而不是错误。
身份验证
无需密钥。无需供应商,也无需密钥。
数据源
- 目标域名自己的
robots.txt和站点地图 XML 文件,每次调用都会实时读取——直接透传,不是副本。
构建过程中发现的问题
- 站点地图协议将单个文件限制为 50,000 个 URL,因此实际中包含多个文件的网站很常见。该工具会跟进一层
<sitemapindex>,读取其子级<sitemap>文件,但不会继续递归(多层嵌套的索引不符合标准,也很少见)。 - 作为静态文件提供的原始
.xml.gz不带Content-Encoding: gzip标头,因此运行时不会自动解压;当 URL 以.gz结尾或响应的content-type提及 gzip 时,会使用 Workers 原生的DecompressionStream('gzip')手动解码。 - URL 上限适用于所有文件中读取的 URL 总数,而非每个文件;达到上限时会在当前文件中途停止,而不是跳过整个文件。因此,上限内的
total_urls始终是实际读取到的真实数量,不会在未说明的情况下变少。 - 按规范,
robots.txt中的Sitemap:行应使用绝对路径,但实际并非总是如此;相对路径会根据域名的源站解析。
快速开始
添加到 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"sitemap-stats": {
"url": "https://gateway.pipeworx.io/sitemap-stats/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/sitemap-stats/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 的共享元工具——ask_pipeworx、discover_tools、search_within、remember/recall 和网关范围内的其他工具。因此,你看到的工具数量会多于此表所列:目前,单个工具包端点除了自身工具包的工具,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,也是当天情况的权威信息。
这是有意为之,并非意外的多路复用。元工具可以让限定范围的连接回答此工具包无法涵盖的问题——通过 ask_pipeworx 路由至整个目录——无需额外添加第二个 MCP 服务。目前无法挂载不含这些元工具的工具包端点;如果额外的架构定义消耗的上下文多于路由功能带来的价值,请连接一次完整网关,而不是连接多个工具包端点。
或者,连接完整的 Pipeworx 网关,直接列出每个工具包的全部工具,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都会连接到相同的网关和相同的 1683+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪个端点,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/sitemap_stats \
-H 'Content-Type: application/json' \
-d '{"domain":"gitnux.org"}'
首次调用无需账号。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/sitemap_stats。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账号)
此软件包也可以作为本地 stdio MCP 服务运行,无需 Pipeworx 账号,也无需经过网关:
{
"mcpServers": {
"sitemap-stats": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-sitemap-stats"]
}
}
}
或者直接运行,确认它可以启动:
npx -y @pipeworx/mcp-sitemap-stats
它通过 stdin/stdout 使用 MCP 通信,并响应 initialize/tools/list/tools/call,但仅支持此软件包的工具——不包含上方网关连接额外提供的共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用简单的英语提问,而不是直接调用工具——这既适用于上方的软件包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Sitemap Stats data" })
网关会选择合适的工具并自动填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。