Fetch

Captura e conversão de conteúdo web para uso eficiente de LLMs

Documentação

Servidor MCP Fetch

Um servidor Model Context Protocol que fornece capacidades de busca de conteúdo web. Este servidor permite que LLMs recuperem e processem conteúdo de páginas web, convertendo HTML para markdown para facilitar o consumo.

Fonte: https://github.com/modelcontextprotocol/servers/tree/main/src/fetch

Requer MCP Python SDK 1.x (mcp>=1.29.0,<2). O SDK 2.0 renomeou APIs que este servidor utiliza. A migração para a v2 está em andamento.

[!CAUTION] Este servidor pode acessar endereços IP locais/internos e pode representar um risco de segurança. Tenha cautela ao usar este servidor MCP para garantir que não exponha dados sensíveis.

A ferramenta de busca truncará a resposta, mas usando o argumento start_index, você pode especificar onde começar a extração de conteúdo. Isso permite que modelos leiam uma página web em partes, até encontrarem as informações que precisam.

Ferramentas Disponíveis

  • fetch - Busca uma URL da internet e extrai seu conteúdo como markdown.
    • url (string, obrigatório): URL a ser buscada
    • max_length (inteiro, opcional): Número máximo de caracteres a retornar (padrão: 5000)
    • start_index (inteiro, opcional): Iniciar conteúdo a partir deste índice de caractere (padrão: 0)
    • raw (booleano, opcional): Obter conteúdo bruto sem conversão para markdown (padrão: falso)

Prompts

  • fetch
    • Busca uma URL e extrai seu conteúdo como markdown
    • Argumentos:
      • url (string, obrigatório): URL a ser buscada

Instalação

Opcionalmente: Instale node.js, isso fará com que o servidor de busca use um simplificador de HTML diferente que é mais robusto.

Usando uv (recomendado)

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

Usando PIP

Alternativamente, você pode instalar mcp-server-fetch via pip:

pip install mcp-server-fetch

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

python -m mcp_server_fetch

Configuração

Configurar para Claude.app

Adicione às suas configurações do Claude:

Usando uvx
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}
Usando docker
{
  "mcpServers": {
    "fetch": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/fetch"]
    }
  }
}
Usando instalação via pip
{
  "mcpServers": {
    "fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch"]
    }
  }
}

Configurar para VS Code

Para instalação rápida, use um dos botões de instalação com um clique abaixo...

Install with UV in VS Code Install with UV in VS Code Insiders

Install with Docker in VS Code Install with Docker in VS Code Insiders

Para instalação manual, adicione o seguinte bloco JSON ao seu arquivo de Configurações do Usuário (JSON) no VS Code. Você pode fazer isso pressionando Ctrl + Shift + P e digitando Preferences: Open User Settings (JSON).

Opcionalmente, você pode adicioná-lo a um arquivo chamado .vscode/mcp.json no seu espaço de trabalho. Isso permitirá que você compartilhe a configuração com outras pessoas.

Observe que a chave mcp é necessária ao usar o arquivo mcp.json.

Usando uvx
{
  "mcp": {
    "servers": {
      "fetch": {
        "command": "uvx",
        "args": ["mcp-server-fetch"]
      }
    }
  }
}
Usando Docker
{
  "mcp": {
    "servers": {
      "fetch": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "mcp/fetch"]
      }
    }
  }
}

Personalização - robots.txt

Por padrão, o servidor obedecerá ao arquivo robots.txt de um site se a solicitação veio do modelo (através de uma ferramenta), mas não se a solicitação foi iniciada pelo usuário (através de um prompt). Isso pode ser desabilitado adicionando o argumento --ignore-robots-txt à lista args na configuração.

Personalização - User-agent

Por padrão, dependendo se a solicitação veio do modelo (através de uma ferramenta) ou foi iniciada pelo usuário (através de um prompt), o servidor usará o user-agent

ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)

ou

ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)

Isso pode ser personalizado adicionando o argumento --user-agent=YourUserAgent à lista args na configuração.

Personalização - Proxy

O servidor pode ser configurado para usar um proxy usando o argumento --proxy-url.

Configuração do Windows

Se você estiver enfrentando problemas de timeout no Windows, pode ser necessário definir a variável de ambiente PYTHONIOENCODING para garantir a codificação de caracteres adequada:

Configuração do Windows (uvx)
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"],
      "env": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}
Configuração do Windows (pip)
{
  "mcpServers": {
    "fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch"],
      "env": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

Isso resolve problemas de codificação de caracteres que podem causar timeout no servidor em sistemas Windows.

Depuração

Você pode usar o inspetor MCP para depurar o servidor. Para instalações via uvx:

npx @modelcontextprotocol/inspector uvx mcp-server-fetch

Ou se você instalou o pacote em um diretório específico ou está desenvolvendo nele:

cd path/to/servers/src/fetch
npx @modelcontextprotocol/inspector uv run mcp-server-fetch

Contribuindo

Incentivamos contribuições para ajudar a expandir e melhorar o mcp-server-fetch. Seja adicionando novas ferramentas, aprimorando funcionalidades existentes ou melhorando a documentação, sua contribuição é valiosa.

Para exemplos de outros servidores MCP e padrões de implementação, veja: https://github.com/modelcontextprotocol/servers

Pull requests são bem-vindos! Sinta-se à vontade para contribuir com novas ideias, correções de bugs ou melhorias para tornar o mcp-server-fetch ainda mais poderoso e útil.

Licença

mcp-server-fetch é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.