Sitemap MCP Server

by mugoosse
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • References GitHub for project repository and asset hosting, though not a core integration

  • Handles Google News sitemaps, allowing for fetching and analyzing news-specific sitemap data

  • Creates Mermaid.js diagrams to visualize sitemap structures through the provided sitemap visualization prompts

사이트맵 MCP 서버

사이트맵 MCP 서버는 AI 에이전트와 MCP 클라이언트에게 웹사이트 사이트맵을 가져오고, 파싱하고, 분석하고, 시각화하는 강력한 도구를 제공합니다. XML, Google 뉴스, 일반 텍스트 사이트맵을 포함한 모든 표준 사이트맵 형식을 지원합니다.

데모

사이트맵의 힘을 활용한 모든 웹사이트에 대한 질문에 대한 답변을 받아보세요.

도구 버튼 옆에 있는 "첨부" 버튼을 클릭하세요.

그런 다음 visualize_sitemap 선택합니다.

이제 windsurf.com에 접속해 보겠습니다.

그러면 사이트맵의 시각화를 볼 수 있습니다.

설치

uv가 설치되어 있는지 확인하세요.

Claude Desktop, Cursor 또는 Windsurf에 설치

claude_desktop_config.json , 커서 설정 등에 이 항목을 추가하세요.

지엑스피1

Claude가 실행 중이면 다시 시작하세요. 커서를 변경하려면 새로 고침을 누르거나 설정에서 MCP 서버를 활성화하세요.

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 사이트맵을 자동으로 설치하려면:

npx -y @smithery/cli install @mugoosse/sitemap --client claude

MCP 검사관

npx @modelcontextprotocol/inspector env TRANSPORT=stdio uvx sitemap-mcp-server

http://127.0.0.1:6274 에서 MCP Inspector를 열고 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:8050

http://127.0.0.1:6274 에서 MCP Inspector를 열고 sse transport를 선택한 후 MCP 서버에 연결합니다.

SSE 운송

SSE 전송을 사용하려면 다음 단계를 따르세요.

  1. 서버를 시작합니다:
uvx sitemap-mcp-server
  1. MCP 클라이언트 구성(예: 커서):
{ "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 다이어그램 시각화를 생성합니다.

이러한 프롬프트를 사용하려면:

  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_pagessitemap_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 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 라이선스 파일을 참조하세요.

ID: 07w9m4uqkl