mcpField
S
Sitemap MCP Server

Sitemap MCP Server

本地服务
github.com/mugoosse浏览器自动化712 周前更新

关于 Sitemap MCP Server

Sitemap MCP Server 可抓取、解析并分析网站站点地图,适合需要了解网站页面结构的用户。它提供页面筛选、统计、分页及可视化提示词。

主要功能

  1. 01获取并解析站点地图树
  2. 02筛选和分页列出页面
  3. 03查看站点地图统计
  4. 04直接解析 XML 或文本
  5. 05提供分析与可视化提示词

适用场景

  1. 01盘点网站页面及层级
  2. 02按路由筛选站点地图 URL
  3. 03检查站点地图健康状况
  4. 04生成站点结构图

MCP 相关

作为 MCP 服务,它向客户端提供站点地图树、页面、统计和内容解析工具,并附带可复用的提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sitemap": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Sitemap MCP 服务

通过获取、解析和可视化任意 URL 中的站点地图,发现网站架构并分析站点结构。无需手动探索,即可发现隐藏页面并提取有序层级结构。

包含可直接使用的 Claude Desktop 提示词模板,只需输入 URL,即可分析网站、检查站点地图健康状况、提取 URL、查找缺失内容并创建可视化图表。

许可证 PyPI Python 版本 状态 smithery 徽章

README 配图

演示

借助站点地图的强大功能,获取关于任意网站的问题答案。

Cursor:modelcontextprotocol.io 有多少个页面?
image
Claude + 提示词:将 windsurf.com 的站点地图绘制成示意图

点击工具按钮旁边的“attach”按钮:

image

然后选择 visualize_sitemap:

image

现在输入 windsurf.com:

image

即可获得站点地图的可视化图表:

image

安装

请确保已安装 uv。

在 Claude Desktop、Cursor 或 Windsurf 中安装

将以下条目添加到你的 claude_desktop_config.json、Cursor 设置等位置:

{
  "mcpServers": {
    "sitemap": {
      "command": "uvx",
      "args": ["sitemap-mcp-server"],
      "env": { "TRANSPORT": "stdio" }
    }
  }
}

如果 Claude 正在运行,请重启 Claude。对于 Cursor,只需点击刷新,和/或在设置中启用 MCP 服务。

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 sitemap:

npx -y @smithery/cli install @mugoosse/sitemap --client claude
MCP Inspector
uv + stdio 传输
npx @modelcontextprotocol/inspector env TRANSPORT=stdio uvx sitemap-mcp-server

打开 MCP Inspector,访问 http://127.0.0.1:6274,选择 stdio 传输方式,然后连接到 MCP 服务。

uv + sse 传输
# Start the server
uvx sitemap-mcp-server

# Start the MCP Inspector in a separate terminal
npx @modelcontextprotocol/inspector connect http://127.0.0.1:8050

打开 MCP Inspector,访问 http://127.0.0.1:6274,选择 sse 传输方式,然后连接到 MCP 服务。

SSE 传输

如果你想使用 SSE 传输,请按以下步骤操作:

  1. 启动服务:
uvx sitemap-mcp-server
  1. 配置 MCP 客户端,例如 Cursor:
{
  "mcpServers": {
    "sitemap": {
      "transport": "sse",
      "url": "http://localhost:8050/sse"
    }
  }
}
本地开发

有关从源代码构建和运行项目的说明,请参阅 DEVELOPERS.md 指南。

使用

工具

以下工具可通过 MCP 服务使用:

  • get_sitemap_tree - 从网站 URL 获取并解析站点地图树

    • 参数:url(网站 URL)、include_pages(可选,布尔值)
    • 返回:站点地图树结构的 JSON 表示
  • get_sitemap_pages - 获取网站站点地图中的所有页面,并支持筛选选项

    • 参数:url(网站 URL)、limit(可选)、include_metadata(可选)、route(可选)、sitemap_url(可选)、cursor(可选)
    • 返回:包含分页元数据的页面 JSON 列表
  • get_sitemap_stats - 获取网站站点地图的统计信息

    • 参数:url(网站 URL)
    • 返回:包含页面数量、修改日期和子站点地图详情等统计数据的 JSON 对象
  • parse_sitemap_content - 直接解析站点地图的 XML 或文本内容

    • 参数:content(站点地图 XML 内容)、include_pages(可选,布尔值)
    • 返回:已解析站点地图的 JSON 表示
提示词

此服务包含可直接使用的提示词,它们会以模板的形式显示在 Claude Desktop 中。安装服务后,你会在“Templates”菜单中看到这些模板(点击消息输入框旁边的 + 图标):

  • Analyze Sitemap:全面分析网站站点地图的结构
  • Check Sitemap Health:评估站点地图的 SEO 和健康指标
  • Extract URLs from Sitemap:从站点地图中提取并筛选特定 URL
  • Find Missing Content in Sitemap:识别网站站点地图中的内容缺口
  • Visualize Sitemap Structure:创建站点地图结构的 Mermaid.js 图表可视化

使用这些提示词:

  1. 点击 Claude Desktop 中消息输入框旁边的 + 图标
  2. 从列表中选择所需模板
  3. 按提示填写网站 URL
  4. Claude 将执行相应的站点地图分析
示例
获取完整站点地图
{
  "name": "get_sitemap_tree",
  "arguments": {
    "url": "https://example.com",
    "include_pages": true
  }
}
使用筛选和分页获取页面
按路由筛选
{
  "name": "get_sitemap_pages",
  "arguments": {
    "url": "https://example.com",
    "limit": 100,
    "include_metadata": true,
    "route": "/blog/"
  }
}
按指定子站点地图筛选
{
  "name": "get_sitemap_pages",
  "arguments": {
    "url": "https://example.com",
    "limit": 100,
    "include_metadata": true,
    "sitemap_url": "https://example.com/blog-sitemap.xml"
  }
}
基于游标的分页

此服务实现了基于 MCP 游标的分页,以高效处理大型站点地图:

初始请求:

{
  "name": "get_sitemap_pages",
  "arguments": {
    "url": "https://example.com",
    "limit": 50
  }
}

包含分页信息的响应:

{
  "base_url": "https://example.com",
  "pages": [...],  // First batch of pages
  "limit": 50,
  "nextCursor": "eyJwYWdlIjoxfQ=="
}

携带游标的后续请求:

{
  "name": "get_sitemap_pages",
  "arguments": {
    "url": "https://example.com",
    "limit": 50,
    "cursor": "eyJwYWdlIjoxfQ=="
  }
}

没有更多结果时,响应中将不包含 nextCursor 字段。

获取站点地图统计信息
{
  "name": "get_sitemap_stats",
  "arguments": {
    "url": "https://example.com"
  }
}

响应中包含总体统计信息,以及每个子站点地图的详细统计数据:

{
  "total": {
    "url": "https://example.com",
    "page_count": 150,
    "sitemap_count": 3,
    "sitemap_types": ["WebsiteSitemap", "NewsSitemap"],
    "priority_stats": {
      "min": 0.1,
      "max": 1.0,
      "avg": 0.65
    },
    "last_modified_count": 120
  },
  "subsitemaps": [
    {
      "url": "https://example.com/sitemap.xml",
      "type": "WebsiteSitemap",
      "page_count": 100,
      "priority_stats": {
        "min": 0.3,
        "max": 1.0,
        "avg": 0.7
      },
      "last_modified_count": 80
    },
    {
      "url": "https://example.com/blog/sitemap.xml",
      "type": "WebsiteSitemap",
      "page_count": 50,
      "priority_stats": {
        "min": 0.1,
        "max": 0.9,
        "avg": 0.5
      },
      "last_modified_count": 40
    }
  ]
}

这有助于 MCP 客户端了解哪些子站点地图可能值得进一步调查。随后,你可以在 get_sitemap_pages 中使用 sitemap_url 参数,筛选特定子站点地图中的页面。

直接解析站点地图内容
{
  "name": "parse_sitemap_content",
  "arguments": {
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"><url><loc>https://example.com/</loc></url></urlset>",
    "include_pages": true
  }
}

致谢

许可证

本项目根据 MIT License 授权。详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。