AllTrails

Pesquise trilhas para caminhadas e obtenha informações detalhadas sobre as trilhas do AllTrails.

Documentação

AllTrails MCP Server

Trust Score

CI Python

⚠️ DEPRECIADO - PROJETO ARQUIVADO

Este projeto foi descontinuado e não é mais funcional.

Data: 25 de janeiro de 2026
Motivo: Este projeto violou os Termos de Serviço da AllTrails ao fazer scraping do site sem autorização.

A pedido do CTO da AllTrails, toda a funcionalidade de scraping foi desativada. Este repositório é mantido apenas para fins históricos e para preservar estrelas do GitHub, mas o código não funciona mais e não deve ser usado.

O que aconteceu?

A AllTrails entrou em contato comigo sobre este repositório, citando:

  • Scraping/extração de dados não autorizada em violação aos seus Termos de Serviço
  • Possíveis violações de propriedade intelectual
  • Redistribuição de conteúdo protegido por direitos autorais sem licença

Alternativas

Se você precisar de dados de trilhas, por favor:

  • Use o site oficial da AllTrails
  • Entre em contato com a AllTrails diretamente sobre acesso à API
  • Respeite os Termos de Serviço e os direitos autorais do site

Descrição Original (Para Referência Histórica)

Um servidor Model Context Protocol (MCP) que fornece acesso aos dados da AllTrails [DEPRECIADO - NÃO FUNCIONAL].

Recursos

  • 🥾 Pesquisar trilhas por parque nacional
  • 📍 Obter informações detalhadas da trilha incluindo dificuldade, extensão, ganho de elevação e descrições
  • 🏔️ Dados abrangentes de trilhas da AllTrails incluindo avaliações, tipos de rota e resumos
  • 🤖 Integração perfeita com o cliente via protocolo MCP

Especificações Técnicas

Suporte ao Protocolo

  • Versão do Protocolo: MCP 1.9.4
  • Comunicação: Entrada/saída padrão (stdio)
  • Capacidades: Ferramentas
  • Nome do Servidor: alltrails-mcp
  • Versão do Servidor: 0.1.0

Ferramentas Disponíveis

search_trails

Pesquise trilhas em um parque nacional específico usando dados da AllTrails.

Parâmetros:

  • park (obrigatório): Slug do parque no formato us/state/park-name (ex.: us/tennessee/great-smoky-mountains-national-park)

get_trail_details

Obtenha informações detalhadas sobre uma trilha específica pelo slug da AllTrails.

Parâmetros:

  • slug (obrigatório): Slug da trilha da URL da AllTrails (a parte após /trail/)

Opções de Instalação

Opção 1: Com Ambiente Virtual (Recomendado)

Essa abordagem isola as dependências e evita conflitos com outros projetos Python.

1. Clone o Repositório

git clone <your-repo-url>
cd alltrails_mcp

2. Crie o Ambiente Virtual

python3 -m venv alltrails_mcp_venv
source alltrails_mcp_venv/bin/activate  # On Windows: alltrails_mcp_venv\Scripts\activate

3. Instale as Dependências

pip install -r requirements.txt

4. Verifique a Instalação

Teste se o servidor inicia sem erros:

python3 server.py

Você deve ver o servidor iniciar sem travar. Pressione Ctrl+C para parar.

Pré-requisitos

  • Python 3.8 ou superior
  • Este servidor pode ser usado com qualquer cliente compatível com MCP. Eu uso o Claude Desktop com assinatura Pro.
  • macOS (testado) ou outro sistema Unix-like

Opção 2: Com Python do Sistema

Se você preferir não usar um ambiente virtual, pode instalar as dependências globalmente.

1. Clone o Repositório

git clone <your-repo-url>
cd alltrails_mcp

2. Instale as Dependências Globalmente

pip install -r requirements.txt

3. Verifique a Instalação

Teste se o servidor inicia sem erros:

python3 server.py

Você deve ver o servidor iniciar sem travar. Pressione Ctrl+C para parar.


Opção 3: Com Docker

Essa abordagem executa o servidor em um contêiner isolado.

1. Construa a Imagem

docker build -t alltrails-mcp .

2. Execute o Contêiner

docker run -i --rm alltrails-mcp

3. Use com o Claude Desktop

Para implantação baseada em Docker, você pode configurar o Claude Desktop para usar o servidor em contêiner:

{
  "mcpServers": {
    "alltrails_mcp_server": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "alltrails-mcp"]
    }
  }
}

Configuração do Claude Desktop

1. Localize a Configuração do Claude Desktop

Encontre o arquivo de configuração do Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Se não existir, crie um arquivo json chamado claude_desktop_config.json no diretório acima.

2. Adicione a Configuração do Servidor MCP

Adicione o seguinte ao seu arquivo claude_desktop_config.json:

Opção A: Usando Ambiente Virtual (Recomendado)

{
  "mcpServers": {
    "alltrails_mcp_server": {
      "command": "/path/to/your/alltrails_mcp/alltrails_mcp_venv/bin/python3",
      "args": ["/path/to/your/alltrails_mcp/server.py"]
    }
  }
}

Opção B: Usando Python do Sistema

{
  "mcpServers": {
    "alltrails_mcp_server": {
      "command": "python3",
      "args": ["/path/to/your/alltrails_mcp/server.py"]
    }
  }
}

Ou com caminho absoluto do Python:

{
  "mcpServers": {
    "alltrails_mcp_server": {
      "command": "/usr/bin/python3",
      "args": ["/path/to/your/alltrails_mcp/server.py"]
    }
  }
}

Importante: Substitua /path/to/your/alltrails_mcp pelo caminho absoluto real do diretório do seu projeto.

Outros Clientes MCP

Para outros clientes compatíveis com MCP, consulte a documentação deles para configuração do servidor. O servidor implementa o protocolo MCP padrão e deve funcionar com qualquer cliente compatível.

Comando do Servidor: python3 server.py
Comunicação: Entrada/saída padrão (stdio)
Versão do Protocolo: MCP 1.9.4

3. Encontre o Caminho do Seu Python

Para Usuários de Ambiente Virtual:

cd /path/to/your/alltrails_mcp
source alltrails_mcp_venv/bin/activate
which python3

Para Usuários de Python do Sistema:

which python3

Use o caminho de saída na sua configuração.

4. Instale as Dependências

Se Usar Ambiente Virtual:

As dependências já estão instaladas no seu ambiente virtual a partir do passo 3.

Se Usar Python do Sistema:

Instale as dependências globalmente:

pip install -r requirements.txt

5. Reinicie o Claude Desktop

Saia completamente e reinicie o Claude Desktop para que as alterações tenham efeito.

Exemplos de Uso

Depois de configurado, você pode usar estes comandos no Claude Desktop:

Pesquisar Trilhas

Por nome do parque:

Find trails in Great Smoky Mountains National Park

Por localização:

What are the best hiking trails in Yosemite?

Com critérios específicos:

Show me moderate difficulty trails in Yellowstone

Usando slugs de parque diretamente:

Search for trails in us/california/yosemite-national-park

Para atividades específicas:

Find family-friendly trails in Zion National Park

Obter Detalhes da Trilha

Por nome da trilha:

Get details for Alum Cave Trail to Mount LeConte

Usando slugs de trilha:

Get details for trail us/tennessee/alum-cave-trail-to-mount-leconte

Para fins de planejamento:

I need detailed information about Rainbow Falls Trail including difficulty and elevation

Consultas Combinadas

Pesquisar e obter detalhes:

Find the most popular trails in Grand Canyon National Park and give me details about the top rated one

Comparar trilhas:

Search for trails in Great Smoky Mountains and tell me which ones are best for beginners

Planejamento de viagem:

I'm visiting Yellowstone for 3 days. Find me a mix of easy and moderate trails with good views

Exemplos em Linguagem Natural

O servidor MCP funciona com linguagem natural, então você pode fazer perguntas como:

  • "Quais são algumas boas trilhas de um dia nas Montanhas Smoky?"
  • "Encontre uma trilha desafiadora com cachoeiras no Tennessee"
  • "Quero fazer uma trilha até um cume com vistas de 360 graus"
  • "Mostre-me trilhas boas para fotografia"
  • "Encontre trilhas que aceitam cães em parques nacionais"
  • "Qual é o nível de dificuldade da trilha Charlies Bunion?"

Slugs Comuns de Parques

  • Great Smoky Mountains: us/tennessee/great-smoky-mountains-national-park
  • Yosemite: us/california/yosemite-national-park
  • Yellowstone: us/wyoming/yellowstone-national-park
  • Grand Canyon: us/arizona/grand-canyon-national-park
  • Zion: us/utah/zion-national-park

Solução de Problemas

Servidor Não Conectando

  1. Verifique os logs:

    tail -f ~/Library/Logs/Claude/mcp.log
    
  2. Verifique o arquivo de configuração:

    cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
  3. Teste o servidor manualmente:

    cd /path/to/your/alltrails_mcp
    source alltrails_mcp_venv/bin/activate
    python3 server.py
    

Problemas Comuns

  • Erros de "Conexão fechada": Geralmente indicam um problema com o caminho do Python ou ambiente virtual
  • Problemas de configuração de caminho: Verifique se todos os caminhos na configuração são absolutos e corretos

  • Erros de importação: Garanta que todas as dependências estejam instaladas no ambiente Python correto (ambiente virtual vs Python do sistema)
  • Erros de caminho do Python: Use which python3 ou which python para verificar o caminho correto do executável Python

Modo de Depuração

Para depuração detalhada, verifique os logs do MCP:

# macOS
tail -f ~/Library/Logs/Claude/mcp.log

# The server also outputs debug information to stderr

Desenvolvimento

Executando Testes

Execute a suíte de testes usando pytest:

pytest

Linting

Formate e verifique o código usando ruff:

ruff check .
ruff format .

Estrutura do Projeto

alltrails_mcp/
├── app/
│   └── alltrails_scraper.py    # AllTrails scraping logic
├── examples/
│   └── claude_desktop_config.json  # Example configuration file for Claude Desktop
├── tests/                      # Test suite
│   ├── conftest.py             # Test fixtures
│   └── test_scraper.py         # Scraper tests
├── server.py                   # MCP server implementation
├── requirements.txt            # Python dependencies
├── pyproject.toml              # Project configuration (Ruff, Pytest)
├── alltrails_mcp_venv/         # Virtual environment
├── README.md                   # This file
└── .gitignore                  # Git ignore file

Como Funciona

  1. Protocolo MCP: Usa o Model Context Protocol para se comunicar com o Claude Desktop
  2. Web Scraping: Faz scraping do site da AllTrails para obter dados de trilhas usando BeautifulSoup
  3. Processamento de Dados: Formata e retorna informações de trilhas em um formato estruturado
  4. Integração de Ferramentas: Expõe ferramentas que o Claude pode chamar para pesquisar e recuperar dados de trilhas

Licença

Licença MIT

Copyright (c) 2025 Srinath Srinivasan

Agradecimentos


⚠️ AVISO IMPORTANTE

Este projeto está DEPRECIADO e não funcional a partir de 25 de janeiro de 2026.

A funcionalidade de scraping violou os Termos de Serviço da AllTrails e foi completamente desativada a pedido deles. Este repositório existe apenas para fins históricos/educacionais.

NÃO tente usar, bifurcar ou replicar este código para fazer scraping da AllTrails ou de qualquer outro site sem permissão explícita por escrito do proprietário do site.

Respeite os Termos de Serviço. Respeite os direitos autorais. Use APIs oficiais quando disponíveis.