MCP Rquest

Um servidor MCP para fazer requisições HTTP avançadas com emulação de navegador, incluindo conversão de PDF e HTML para Markdown.

Documentação

mcp-rquest

PyPI Version Python Versions GitHub Stars License

Um servidor Model Context Protocol (MCP) que fornece capacidades avançadas de requisições HTTP para Claude e outros LLMs. Construído sobre rquest, este servidor permite emulação realista de navegador com impressões digitais TLS/JA3/JA4 precisas, permitindo que modelos interajam com sites de forma mais natural e contornem medidas comuns anti-bot. Ele também suporta a conversão de documentos PDF e HTML para Markdown, facilitando o processamento por LLMs.

Recursos

  • Métodos HTTP Completos: Suporte para GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS e TRACE
  • Impressão Digital do Navegador: Impressões digitais precisas de navegador TLS, JA3/JA4 e HTTP/2
  • Tratamento de Conteúdo:
    • Tratamento automático de respostas grandes com contagem de tokens
    • Conversão de HTML para Markdown para melhor processamento por LLMs
    • Conversão de PDF para Markdown usando a biblioteca Marker
    • Armazenamento seguro de respostas em diretórios temporários do sistema
  • Suporte a Autenticação: Métodos de autenticação Basic, Bearer e personalizados
  • Personalização de Requisições:
    • Cabeçalhos, cookies, redirecionamentos
    • Dados de formulário, payloads JSON, multipart/form-data
    • Parâmetros de consulta
  • Segurança SSL: Usa BoringSSL para conexões seguras com impressões digitais realistas de navegador

Ferramentas Disponíveis

  • Ferramentas de Requisição HTTP:

    • http_get - Executa requisições GET com parâmetros opcionais
    • http_post - Envia dados via requisições POST
    • http_put - Atualiza recursos com requisições PUT
    • http_delete - Remove recursos com requisições DELETE
    • http_patch - Atualiza parcialmente recursos
    • http_head - Recupera apenas os cabeçalhos de um recurso
    • http_options - Recupera opções de um recurso
    • http_trace - Rastreamento de requisições de diagnóstico
  • Ferramentas de Tratamento de Respostas:

    • get_stored_response - Recupera respostas grandes armazenadas, opcionalmente por intervalo de linhas
    • get_stored_response_with_markdown - Converte respostas HTML ou PDF para o formato Markdown para melhor processamento por LLMs
    • get_model_state - Obtém o estado atual do processo de carregamento dos modelos PDF
    • restart_model_loading - Reinicia o processo de carregamento dos modelos PDF se ele falhou ou travou

Suporte a PDF

O mcp-rquest agora suporta conversão de PDF para Markdown, permitindo que você baixe arquivos PDF e os converta para o formato Markdown, que é fácil para LLMs processarem:

  1. Detecção Automática de PDF: Arquivos PDF são detectados automaticamente com base no tipo de conteúdo
  2. Conversão Perfeita: A mesma ferramenta get_stored_response_with_markdown funciona para arquivos HTML e PDF
  3. Conversão de Alta Qualidade: Usa a biblioteca Marker para transformação precisa de PDF para Markdown
  4. Desempenho Otimizado: Os modelos são pré-baixados durante a instalação do pacote para evitar atrasos durante o processamento de requisições

Instalação

Usando uv (recomendado)

Ao usar uv, nenhuma instalação específica é necessária. Usaremos uvx para executar diretamente o mcp-rquest.

Usando pip

Alternativamente, você pode instalar o mcp-rquest via pip:

pip install mcp-rquest

Após a instalação, você pode executá-lo como um script usando:

python -m mcp_rquest

Configuração

Configurar para Claude.app

Adicione às suas configurações do Claude:

Usando uvx:

{
  "mcpServers": {
    "http-rquest": {
      "command": "uvx",
      "args": ["mcp-rquest"]
    }
  }
}

Usando pip:

{
  "mcpServers": {
    "http-rquest": {
      "command": "python",
      "args": ["-m", "mcp_rquest"]
    }
  }
}

Usando pipx:

{
  "mcpServers": {
    "http-rquest": {
      "command": "pipx",
      "args": ["run", "mcp-rquest"]
    }
  }
}

Emulação de Navegador

O mcp-rquest aproveita as poderosas capacidades de emulação de navegador do rquest para fornecer impressões digitais realistas de navegador, o que ajuda a contornar a detecção de bots e acessar conteúdo normalmente disponível apenas para navegadores padrão. As impressões digitais de navegador suportadas incluem:

  • Chrome (várias versões)
  • Firefox
  • Safari (incluindo versões iOS e iPad)
  • Edge
  • OkHttp

Isso garante que as requisições enviadas através do mcp-rquest apareçam como tráfego legítimo de navegador, em vez de requisições de bots.

Desenvolvimento

Configurando um Ambiente de Desenvolvimento

  1. Clone o repositório
  2. Crie um ambiente virtual usando uv:
    uv venv
    
  3. Ative o ambiente virtual:
    # Unix/macOS
    source .venv/bin/activate
    # Windows
    .venv\Scripts\activate
    
  4. Instale as dependências de desenvolvimento:
    uv pip install -e ".[dev]"
    

Agradecimentos

  • Este projeto é construído sobre o rquest, que fornece o cliente HTTP avançado com capacidades de impressão digital de navegador.
  • O rquest é baseado em um fork do reqwest.