Sitemap MCP Server
Um servidor para buscar, analisar, interpretar e visualizar sitemaps de sites.
Documentação
Servidor MCP de Sitemap
Descubra a arquitetura de sites e analise a estrutura do site buscando, analisando e visualizando sitemaps de qualquer URL. Descubra páginas ocultas e extraia hierarquias organizadas sem exploração manual.
Inclui modelos de prompt prontos para uso no Claude Desktop que permitem analisar sites, verificar a saúde do sitemap, extrair URLs, encontrar conteúdo ausente e criar visualizações com apenas uma entrada de URL.
Demonstração
Obtenha respostas para perguntas sobre qualquer site aproveitando o poder dos sitemaps.
Cursor: quantas páginas o modelcontextprotocol.io possui?
Claude + prompt: visualize o sitemap em um diagrama de windsurf.com
Clique no botão "anexar" ao lado do botão de ferramentas:
Em seguida, selecione visualize_sitemap:
Agora inserimos windsurf.com:
E obtemos uma visualização do sitemap:
Instalação
Certifique-se de que o uv esteja instalado.
Instalação no Claude Desktop, Cursor ou Windsurf
Adicione esta entrada ao seu claude_desktop_config.json, configurações do Cursor, etc.:
{
"mcpServers": {
"sitemap": {
"command": "uvx",
"args": ["sitemap-mcp-server"],
"env": { "TRANSPORT": "stdio" }
}
}
}
Reinicie o Claude se ele estiver em execução. Para o Cursor, basta pressionar atualizar e/ou habilitar o Servidor MCP nas configurações.
Instalação via Smithery
Para instalar o sitemap no Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @mugoosse/sitemap --client claude
MCP Inspector
uv + transporte stdio
npx @modelcontextprotocol/inspector env TRANSPORT=stdio uvx sitemap-mcp-server
Abra o MCP Inspector em http://127.0.0.1:6274,, selecione o transporte stdio e conecte-se ao servidor MCP.
uv + transporte 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
Abra o MCP Inspector em http://127.0.0.1:6274,, selecione o transporte sse e conecte-se ao servidor MCP.
Transporte SSE
Se você quiser usar o transporte SSE, siga estes passos:
- Inicie o servidor:
uvx sitemap-mcp-server
- Configure seu Cliente MCP, por exemplo, Cursor:
{
"mcpServers": {
"sitemap": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Desenvolvimento Local
Para instruções sobre como compilar e executar o projeto a partir do código-fonte, consulte o guia DEVELOPERS.md.
Uso
Ferramentas
As seguintes ferramentas estão disponíveis via servidor MCP:
-
get_sitemap_tree - Busca e analisa a árvore do sitemap a partir de uma URL de site
- Argumentos:
url(URL do site),include_pages(opcional, booleano) - Retorna: representação JSON da estrutura da árvore do sitemap
- Argumentos:
-
get_sitemap_pages - Obtém todas as páginas do sitemap de um site com opções de filtragem
- Argumentos:
url(URL do site),limit(opcional),include_metadata(opcional),route(opcional),sitemap_url(opcional),cursor(opcional) - Retorna: lista JSON de páginas com metadados de paginação
- Argumentos:
-
get_sitemap_stats - Obtém estatísticas sobre o sitemap de um site
- Argumentos:
url(URL do site) - Retorna: objeto JSON com estatísticas do sitemap, incluindo contagens de páginas, datas de modificação e detalhes de subsitemaps
- Argumentos:
-
parse_sitemap_content - Analisa um sitemap diretamente de seu conteúdo XML ou texto
- Argumentos:
content(conteúdo XML do sitemap),include_pages(opcional, booleano) - Retorna: representação JSON do sitemap analisado
- Argumentos:
Prompts
O servidor inclui prompts prontos para uso que aparecem como modelos no Claude Desktop. Após instalar o servidor, você verá esses modelos no menu "Modelos" (clique no ícone + ao lado da entrada de mensagem):
- Analisar Sitemap: Fornece análise abrangente da estrutura do sitemap de um site
- Verificar Saúde do Sitemap: Avalia métricas de SEO e saúde de um sitemap
- Extrair URLs do Sitemap: Extrai e filtra URLs específicas de um sitemap
- Encontrar Conteúdo Ausente no Sitemap: Identifica lacunas de conteúdo no sitemap de um site
- Visualizar Estrutura do Sitemap: Cria uma visualização de diagrama Mermaid.js da estrutura do sitemap
Para usar esses prompts:
- Clique no ícone + ao lado da entrada de mensagem no Claude Desktop
- Selecione o modelo desejado na lista
- Preencha a URL do site quando solicitado
- O Claude executará a análise de sitemap apropriada
Exemplos
Buscar um Sitemap Completo
{
"name": "get_sitemap_tree",
"arguments": {
"url": "https://example.com",
"include_pages": true
}
}
Obter Páginas com Filtragem e Paginação
Filtrar por Rota
{
"name": "get_sitemap_pages",
"arguments": {
"url": "https://example.com",
"limit": 100,
"include_metadata": true,
"route": "/blog/"
}
}
Filtrar por Subsitemap Específico
{
"name": "get_sitemap_pages",
"arguments": {
"url": "https://example.com",
"limit": 100,
"include_metadata": true,
"sitemap_url": "https://example.com/blog-sitemap.xml"
}
}
Paginação Baseada em Cursor
O servidor implementa paginação baseada em cursor do MCP para lidar com sitemaps grandes de forma eficiente:
Solicitação Inicial:
{
"name": "get_sitemap_pages",
"arguments": {
"url": "https://example.com",
"limit": 50
}
}
Resposta com Paginação:
{
"base_url": "https://example.com",
"pages": [...], // First batch of pages
"limit": 50,
"nextCursor": "eyJwYWdlIjoxfQ=="
}
Solicitação Subsequente com Cursor:
{
"name": "get_sitemap_pages",
"arguments": {
"url": "https://example.com",
"limit": 50,
"cursor": "eyJwYWdlIjoxfQ=="
}
}
Quando não houver mais resultados, o campo nextCursor estará ausente na resposta.
Obter Estatísticas do Sitemap
{
"name": "get_sitemap_stats",
"arguments": {
"url": "https://example.com"
}
}
A resposta inclui tanto estatísticas totais quanto estatísticas detalhadas para cada subsitemap:
{
"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
}
]
}
Isso permite que os clientes MCP entendam quais subsitemaps podem ser de interesse para investigação adicional. Você pode então usar o parâmetro sitemap_url em get_sitemap_pages para filtrar páginas de um subsitemap específico.
Analisar Conteúdo do Sitemap Diretamente
{
"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
}
}
Agradecimentos
- Este Servidor MCP utiliza a biblioteca ultimate-sitemap-parser
- Construído usando o SDK Python do Model Context Protocol
Licença
Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.