サイトマップMCPサーバー
任意のURLからサイトマップを取得、解析、視覚化することで、ウェブサイトのアーキテクチャを検出し、サイト構造を分析します。手動で探索することなく、隠れたページを発見し、整理された階層構造を抽出します。
Claude Desktop 用のすぐに使用できるプロンプト テンプレートが含まれており、Web サイトの分析、サイトマップの健全性の確認、URL の抽出、不足しているコンテンツの検索、URL 入力だけでの視覚化の作成などを行うことができます。
デモ
サイトマップの力を活用して、あらゆる Web サイトに関する質問への回答を得ることができます。
ツールボタンの横にある「添付」ボタンをクリックします。
次に、 visualize_sitemapを選択します。
ここで、windsurf.com にアクセスします。
そして、サイトマップの視覚化が得られます。
Related MCP server: Scrapezy
インストール
uvがインストールされていることを確認してください。
Claude Desktop、Cursor、Windsurfへのインストール
次のエントリをclaude_desktop_config.json 、カーソル設定などに追加します。
{
"mcpServers": {
"sitemap": {
"command": "uvx",
"args": ["sitemap-mcp-server"],
"env": { "TRANSPORT": "stdio" }
}
}
}Claude が起動している場合は再起動してください。Cursor の場合は、更新ボタンを押すか、設定で MCP サーバーを有効にしてください。
Smithery経由でインストール
Smithery経由で Claude Desktop のサイトマップを自動的にインストールするには:
npx -y @smithery/cli install @mugoosse/sitemap --client claudeMCP検査官
npx @modelcontextprotocol/inspector env TRANSPORT=stdio uvx sitemap-mcp-serverhttp://127.0.0.1:6274で MCP インスペクターを開き、 stdioトランスポートを選択して、MCP サーバーに接続します。
# Start the server
uvx sitemap-mcp-server
# Start the MCP Inspector in a separate terminal
npx @modelcontextprotocol/inspector connect http://127.0.0.1:8050http://127.0.0.1:6274で MCP インスペクターを開き、 sseトランスポートを選択して、MCP サーバーに接続します。
SSEトランスポート
SSE トランスポートを使用する場合は、次の手順に従います。
サーバーを起動します。
uvx sitemap-mcp-serverMCP クライアント (カーソルなど) を構成します。
{
"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 でテンプレートとして表示される、すぐに使えるプロンプトが含まれています。サーバーをインストールすると、「テンプレート」メニュー(メッセージ入力欄の横にある + アイコンをクリック)にこれらのテンプレートが表示されます。
サイトマップ分析: ウェブサイトのサイトマップの包括的な構造分析を提供します
サイトマップの健全性をチェック: サイトマップのSEOと健全性の指標を評価します
サイトマップから URL を抽出: サイトマップから特定の URL を抽出してフィルタリングします。
サイトマップ内の欠落コンテンツを見つける: ウェブサイトのサイトマップ内のコンテンツのギャップを特定します
サイトマップ構造の視覚化: サイトマップ構造の Mermaid.js 図視覚化を作成します。
これらのプロンプトを使用するには:
Claude Desktopのメッセージ入力の横にある+アイコンをクリックします
リストから希望のテンプレートを選択してください
プロンプトが表示されたらウェブサイトのURLを入力してください
クロードは適切なサイトマップ分析を実行します
例
完全なサイトマップを取得する
{
"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サーバーは、究極のサイトマップパーサーライブラリを活用しています。
モデルコンテキストプロトコルPython SDKを使用して構築
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。