MCP URL Format Converter

Obtém conteúdo de qualquer URL e converte para HTML, JSON, Markdown ou texto simples.

Documentação

MCP URL Format Converter

Um servidor Model Context Protocol (MCP) que busca conteúdo de qualquer URL e o converte para o formato de saída desejado.

Visão Geral

O MCP URL Format Converter fornece ferramentas para recuperar conteúdo de qualquer URL da web e transformá-lo em vários formatos (HTML, JSON, Markdown ou texto simples), independentemente do tipo de conteúdo original. Ele foi projetado para funcionar com qualquer cliente compatível com MCP, incluindo o Claude for Desktop, permitindo que LLMs acessem, transformem e analisem conteúdo da web em um formato consistente.

Recursos

  • 🔄 Conversão de Formato: Transforme qualquer conteúdo da web em HTML, JSON, Markdown ou texto simples
  • 🌐 Suporte Universal de Entrada: Lide com sites, APIs, arquivos brutos e mais
  • 🔍 Detecção Automática de Conteúdo: Identifica inteligentemente o formato de origem
  • 🧰 Suporte Robusto a Bibliotecas: Usa bibliotecas padrão da indústria:
    • Cheerio para análise de HTML
    • Marked para processamento de Markdown
    • Fast-XML-Parser para manipulação de XML
    • CSVtoJSON para conversão de CSV
    • SanitizeHTML para segurança
    • Turndown para conversão de HTML para Markdown
  • 🔧 Processamento Avançado de Formato:
    • Análise de HTML com extração de metadados
    • Formatação JSON e preservação de estrutura
    • Renderização de Markdown com estilos
    • Conversão de CSV para tabela
    • Transformação de XML para JSON
  • 📜 Rastreamento de Histórico: Mantém registros de URLs buscadas recentemente
  • 🛡️ Foco em Segurança: Sanitização de conteúdo para prevenir ataques XSS

Instalação

Pré-requisitos

  • Node.js 16.x ou superior
  • npm ou yarn

Início Rápido

  1. Clone o repositório:

    git clone https://github.com/yourusername/mcp-url-converter.git
    cd mcp-url-converter
    
  2. Instale as dependências:

    npm install
    
  3. Compile o projeto:

    npm run build
    
  4. Execute o servidor:

    npm start
    

Integração com o Claude for Desktop

  1. Abra o arquivo de configuração do Claude for Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Adicione o servidor conversor de URL à sua configuração:

    {
      "mcpServers": {
        "url-converter": {
          "command": "node",
          "args": ["/absolute/path/to/mcp-url-converter/build/index.js"]
        }
      }
    }
    
  3. Reinicie o Claude for Desktop

Ferramentas Disponíveis

fetch

Busca conteúdo de qualquer URL e detecta automaticamente o melhor formato de saída.

Parâmetros:

  • url (string, obrigatório): A URL para buscar o conteúdo
  • format (string, opcional): Formato para converter (auto, html, json, markdown, text). Padrão: auto

Exemplo:

Can you fetch https://example.com and choose the best format to display it?

fetch-json

Busca conteúdo de qualquer URL e o converte para o formato JSON.

Parâmetros:

  • url (string, obrigatório): A URL para buscar o conteúdo
  • prettyPrint (booleano, opcional): Se deve formatar o JSON. Padrão: true

Exemplo:

Can you fetch https://example.com and convert it to JSON format?

fetch-html

Busca conteúdo de qualquer URL e o converte para o formato HTML.

Parâmetros:

  • url (string, obrigatório): A URL para buscar o conteúdo
  • extractText (booleano, opcional): Se deve extrair apenas o conteúdo de texto. Padrão: false

Exemplo:

Can you fetch https://api.example.com/users and convert it to HTML?

fetch-markdown

Busca conteúdo de qualquer URL e o converte para o formato Markdown.

Parâmetros:

  • url (string, obrigatório): A URL para buscar o conteúdo

Exemplo:

Can you fetch https://example.com and convert it to Markdown?

fetch-text

Busca conteúdo de qualquer URL e o converte para o formato de texto simples.

Parâmetros:

  • url (string, obrigatório): A URL para buscar o conteúdo

Exemplo:

Can you fetch https://example.com and convert it to plain text?

web-search e deep-research

Essas ferramentas fornecem interfaces para os recursos de busca do Perplexity (quando suportados pelo host MCP).

Recursos Disponíveis

recent-urls://list

Retorna uma lista de URLs buscadas recentemente com carimbos de data/hora e formatos de saída.

Exemplo:

What URLs have I fetched recently?

Segurança

Este servidor implementa várias medidas de segurança:

  • Sanitização de HTML usando sanitize-html para prevenir ataques XSS
  • Validação de conteúdo antes do processamento
  • Tratamento de erros e padrões seguros
  • Validação de parâmetros de entrada com Zod
  • Codificação segura de saída

Testes

Você pode testar o servidor usando o MCP Inspector:

npm run test

Solução de Problemas

Problemas Comuns

  1. Erros de conexão: Verifique se a URL está acessível e formatada corretamente
  2. Erros de conversão: Alguns conteúdos complexos podem não converter perfeitamente entre formatos
  3. Problemas de origem cruzada: Alguns sites podem bloquear solicitações de fontes desconhecidas

Modo de Depuração

Para obter informações adicionais de depuração, defina a variável de ambiente DEBUG:

DEBUG=mcp:* npm start

Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Agradecimentos

  • Construído com o Model Context Protocol
  • Usa bibliotecas modernas e ativamente mantidas com foco em segurança
  • Abordagem de sanitização baseada nas recomendações da OWASP

Última atualização: 29 de março de 2025