Web Fetch

Obtiene y transforma contenido web, incluyendo páginas renderizadas con JavaScript y archivos multimedia, en varios formatos.

Documentación

mcp-server-fetch-python

Un servidor MCP para obtener y transformar contenido web en varios formatos. Este servidor proporciona herramientas completas para extraer contenido de páginas web, incluido el soporte para contenido renderizado con JavaScript y archivos multimedia.

Server Fetch Python MCP server

Características

Herramientas

El servidor proporciona cuatro herramientas especializadas:

  • get-raw-text: Extrae contenido de texto sin formato directamente desde URLs sin renderizado del navegador

    • Argumentos:
      • url: URL de la página web de destino (texto, JSON, XML, csv, tsv, etc.) (obligatorio)
    • Mejor para formatos de datos estructurados o cuando se necesita un acceso rápido y directo
  • get-rendered-html: Obtiene contenido HTML completamente renderizado usando un navegador sin interfaz gráfica

    • Argumentos:
      • url: URL de la página web de destino (obligatorio)
    • Esencial para aplicaciones web modernas y SPA que requieren renderizado con JavaScript
  • get-markdown: Convierte el contenido de la página web a Markdown bien formateado

    • Argumentos:
      • url: URL de la página web de destino (obligatorio)
    • Conserva los elementos estructurales mientras proporciona una salida de texto limpia y legible
  • get-markdown-from-media: Realiza extracción de contenido impulsada por IA desde archivos multimedia

    • Argumentos:
      • url: URL del archivo multimedia de destino (imágenes, videos) (obligatorio)
    • Utiliza visión por computadora y OCR para el análisis de contenido visual
    • Requiere que se establezca una OPENAI_API_KEY válida en las variables de entorno
    • Devolverá un mensaje de error si la clave API no está configurada o si hay problemas al procesar el archivo multimedia

Uso

Claude Desktop

Para usar con Claude Desktop, agregue la configuración del servidor:

En MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
En Windows: %APPDATA%/Claude/claude_desktop_config.json

"mcpServers": {
  "mcp-server-fetch-python": {
    "command": "uvx",
    "args": [
      "mcp-server-fetch-python"
    ]
  }
}

Variables de Entorno

Se pueden configurar las siguientes variables de entorno:

  • OPENAI_API_KEY: Requerida para usar la herramienta get-markdown-from-media. Esta clave es necesaria para el análisis de imágenes y la extracción de contenido impulsadas por IA.
  • PYTHONIOENCODING: Establézcala en "utf-8" si encuentra problemas de codificación de caracteres en la salida.
  • MODEL_NAME: Especifica el nombre del modelo a utilizar. El valor predeterminado es "gpt-4o".
"mcpServers": {
  "mcp-server-fetch-python": {
    "command": "uvx",
    "args": [
      "mcp-server-fetch-python"
    ],
    "env": {
        "OPENAI_API_KEY": "sk-****",
        "PYTHONIOENCODING": "utf-8",
        "MODEL_NAME": "gpt-4o",        
    }
  }
}

Instalación Local

Alternativamente, puede instalar y ejecutar el servidor localmente:

git clone https://github.com/tatn/mcp-server-fetch-python.git
cd mcp-server-fetch-python
uv sync
uv build

Luego agregue la siguiente configuración al archivo de configuración de Claude Desktop:

"mcpServers": {
  "mcp-server-fetch-python": {
    "command": "uv",
    "args": [
      "--directory",
      "path\\to\\mcp-server-fetch-python",  # Replace with actual path to the cloned repository
      "run",
      "mcp-server-fetch-python"
    ]
  }
}

Desarrollo

Depuración

Puede iniciar el MCP Inspector usando npxcon los siguientes comandos:

npx @modelcontextprotocol/inspector uvx mcp-server-fetch-python
npx @modelcontextprotocol/inspector uv --directory path\\to\\mcp-server-fetch-python run mcp-server-fetch-python