Fetch

Obtención y conversión de contenido web para un uso eficiente de LLM

Documentación

Servidor MCP Fetch

Un servidor de Protocolo de Contexto de Modelo que proporciona capacidades de obtención de contenido web. Este servidor permite a los LLM recuperar y procesar contenido de páginas web, convirtiendo HTML a markdown para un consumo más fácil.

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

Requiere MCP Python SDK 1.x (mcp>=1.29.0,<2). El SDK 2.0 renombró las APIs que este servidor utiliza. El puerto a v2 está en progreso.

[!CAUTION] Este servidor puede acceder a direcciones IP locales/internas y puede representar un riesgo de seguridad. Tenga precaución al usar este servidor MCP para asegurarse de que no exponga ningún dato sensible.

La herramienta de fetch truncará la respuesta, pero usando el argumento start_index, puede especificar dónde comenzar la extracción de contenido. Esto permite a los modelos leer una página web en fragmentos, hasta que encuentren la información que necesitan.

Herramientas Disponibles

  • fetch - Obtiene una URL de internet y extrae su contenido como markdown.
    • url (cadena, requerido): URL a obtener
    • max_length (entero, opcional): Número máximo de caracteres a devolver (predeterminado: 5000)
    • start_index (entero, opcional): Iniciar contenido desde este índice de caracteres (predeterminado: 0)
    • raw (booleano, opcional): Obtener contenido sin conversión a markdown (predeterminado: falso)

Prompts

  • fetch
    • Obtener una URL y extraer su contenido como markdown
    • Argumentos:
      • url (cadena, requerido): URL a obtener

Instalación

Opcionalmente: Instale node.js, esto hará que el servidor de fetch use un simplificador de HTML diferente que es más robusto.

Usando uv (recomendado)

Cuando se usa uv no se necesita instalación específica. Usaremos uvx para ejecutar directamente mcp-server-fetch.

Usando PIP

Alternativamente, puede instalar mcp-server-fetch vía pip:

pip install mcp-server-fetch

Después de la instalación, puede ejecutarlo como un script usando:

python -m mcp_server_fetch

Configuración

Configurar para Claude.app

Agregue a su configuración de Claude:

Usando uvx
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}
Usando docker
{
  "mcpServers": {
    "fetch": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/fetch"]
    }
  }
}
Usando instalación pip
{
  "mcpServers": {
    "fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch"]
    }
  }
}

Configurar para VS Code

Para una instalación rápida, use uno de los botones de instalación de un clic a continuación...

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 instalación manual, agregue el siguiente bloque JSON a su archivo de Configuración de Usuario (JSON) en VS Code. Puede hacer esto presionando Ctrl + Shift + P y escribiendo Preferences: Open User Settings (JSON).

Opcionalmente, puede agregarlo a un archivo llamado .vscode/mcp.json en su espacio de trabajo. Esto le permitirá compartir la configuración con otros.

Tenga en cuenta que la clave mcp es necesaria cuando se usa el archivo 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"]
      }
    }
  }
}

Personalización - robots.txt

Por defecto, el servidor obedecerá el archivo robots.txt de un sitio web si la solicitud provino del modelo (a través de una herramienta), pero no si la solicitud fue iniciada por el usuario (a través de un prompt). Esto se puede deshabilitar agregando el argumento --ignore-robots-txt a la lista args en la configuración.

Personalización - User-agent

Por defecto, dependiendo de si la solicitud provino del modelo (a través de una herramienta) o fue iniciada por el usuario (a través de un prompt), el servidor usará el user-agent

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

o

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

Esto se puede personalizar agregando el argumento --user-agent=YourUserAgent a la lista args en la configuración.

Personalización - Proxy

El servidor se puede configurar para usar un proxy usando el argumento --proxy-url.

Configuración de Windows

Si está experimentando problemas de tiempo de espera en Windows, es posible que necesite configurar la variable de entorno PYTHONIOENCODING para asegurar una codificación de caracteres adecuada:

Configuración de Windows (uvx)
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"],
      "env": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}
Configuración de Windows (pip)
{
  "mcpServers": {
    "fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch"],
      "env": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

Esto aborda problemas de codificación de caracteres que pueden causar que el servidor se agote en sistemas Windows.

Depuración

Puede usar el inspector MCP para depurar el servidor. Para instalaciones uvx:

npx @modelcontextprotocol/inspector uvx mcp-server-fetch

O si ha instalado el paquete en un directorio específico o está desarrollando en él:

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

Contribuciones

Animamos las contribuciones para ayudar a expandir y mejorar mcp-server-fetch. Ya sea que desee agregar nuevas herramientas, mejorar la funcionalidad existente o mejorar la documentación, su aporte es valioso.

Para ejemplos de otros servidores MCP y patrones de implementación, consulte: https://github.com/modelcontextprotocol/servers

¡Las solicitudes de extracción son bienvenidas! Siéntase libre de contribuir con nuevas ideas, correcciones de errores o mejoras para hacer que mcp-server-fetch sea aún más potente y útil.

Licencia

mcp-server-fetch está licenciado bajo la Licencia MIT. Esto significa que es libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulte el archivo LICENSE en el repositorio del proyecto.