关于 Sitemap MCP Server
Sitemap MCP Server 可抓取、解析并分析网站站点地图,适合需要了解网站页面结构的用户。它提供页面筛选、统计、分页及可视化提示词。
主要功能
- 01获取并解析站点地图树
- 02筛选和分页列出页面
- 03查看站点地图统计
- 04直接解析 XML 或文本
- 05提供分析与可视化提示词
适用场景
- 01盘点网站页面及层级
- 02按路由筛选站点地图 URL
- 03检查站点地图健康状况
- 04生成站点结构图
MCP 相关
作为 MCP 服务,它向客户端提供站点地图树、页面、统计和内容解析工具,并附带可复用的提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Sitemap MCP 服务
通过获取、解析和可视化任意 URL 中的站点地图,发现网站架构并分析站点结构。无需手动探索,即可发现隐藏页面并提取有序层级结构。
包含可直接使用的 Claude Desktop 提示词模板,只需输入 URL,即可分析网站、检查站点地图健康状况、提取 URL、查找缺失内容并创建可视化图表。
演示
借助站点地图的强大功能,获取关于任意网站的问题答案。
Cursor:modelcontextprotocol.io 有多少个页面?
Claude + 提示词:将 windsurf.com 的站点地图绘制成示意图
点击工具按钮旁边的“attach”按钮:
然后选择 visualize_sitemap:
现在输入 windsurf.com:
即可获得站点地图的可视化图表:
安装
请确保已安装 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 传输,请按以下步骤操作:
- 启动服务:
uvx sitemap-mcp-server
- 配置 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 图表可视化
使用这些提示词:
- 点击 Claude Desktop 中消息输入框旁边的 + 图标
- 从列表中选择所需模板
- 按提示填写网站 URL
- 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
}
}
致谢
- 此 MCP Server 使用了 ultimate-sitemap-parser 库
- 使用 Model Context Protocol Python SDK 构建
许可证
本项目根据 MIT License 授权。详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。