Fetch

Obtén contenido web como HTML, JSON, texto plano o Markdown.

Documentación

Servidor MCP Fetch

fetch mcp logo

npm version

Un servidor MCP para obtener contenido web en múltiples formatos: HTML, JSON, texto plano, Markdown, contenido de artículos legible y transcripciones de YouTube.

Fetch Server MCP server

Herramientas

Todas las herramientas aceptan los siguientes parámetros comunes:

ParámetroTipoObligatorioDescripción
urlstringSíURL a obtener
headersobjectNoCabeceras personalizadas para incluir en la solicitud
max_lengthnumberNoMáximo de caracteres a devolver (por defecto: 5000)
start_indexnumberNoEmpezar desde este índice de caracteres (por defecto: 0)
proxystringNoURL del proxy (p. ej. http://proxy:8080)
  • fetch_html — Obtiene un sitio web y devuelve su contenido HTML sin procesar.

  • fetch_markdown — Obtiene un sitio web y devuelve su contenido convertido a Markdown.

  • fetch_txt — Obtiene un sitio web y devuelve texto plano con las etiquetas HTML, scripts y estilos eliminados.

  • fetch_json — Obtiene una URL y devuelve la respuesta JSON.

  • fetch_readable — Obtiene un sitio web y extrae el contenido principal del artículo usando Mozilla Readability, devuelto como Markdown. Elimina navegación, anuncios y texto repetitivo. Ideal para artículos y publicaciones de blog.

  • fetch_youtube_transcript — Obtiene los subtítulos/transcripción de un video de YouTube. Usa yt-dlp si está disponible; de lo contrario, extrae directamente de la página. Acepta un parámetro adicional lang (por defecto: "en") para seleccionar el idioma de los subtítulos.

Instalación

Como servidor MCP

Añade a la configuración de tu cliente MCP:

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

Como CLI

npx mcp-fetch <command> <url> [flags]

O instala globalmente:

npm install -g mcp-fetch-server
mcp-fetch <command> <url> [flags]

Uso de CLI

mcp-fetch <command> <url> [flags]

Comandos

ComandoDescripción
htmlObtiene una URL y devuelve HTML sin procesar
markdownObtiene una URL y devuelve Markdown
readableObtiene una URL y devuelve el contenido del artículo como Markdown (mediante Readability)
txtObtiene una URL y devuelve texto plano
jsonObtiene una URL y devuelve JSON
youtubeObtiene la transcripción de un video de YouTube

Banderas

BanderaDescripción
--max-length <N>Máximo de caracteres a devolver
--start-index <N>Empezar desde este índice de caracteres
--proxy <URL>URL del proxy
--lang <code>Código de idioma para transcripciones de YouTube (por defecto: en)
--helpMostrar mensaje de ayuda
--versionMostrar versión

Ejemplos

# Fetch a page as markdown
mcp-fetch markdown https://example.com

# Extract article content without boilerplate
mcp-fetch readable https://example.com/blog/post

# Get a YouTube transcript in Spanish
mcp-fetch youtube https://www.youtube.com/watch?v=dQw4w9WgXcQ --lang es

# Fetch with a length limit
mcp-fetch html https://example.com --max-length 10000

# Fetch through a proxy
mcp-fetch json https://api.example.com/data --proxy http://proxy:8080

Variables de entorno

VariableDescripción
DEFAULT_LIMITLímite de caracteres por defecto para las respuestas (por defecto: 5000, establece 0 para sin límite)
MAX_RESPONSE_BYTESTamaño máximo del cuerpo de la respuesta en bytes (por defecto: 10485760 / 10 MB)

Ejemplo con un límite personalizado:

{
  "mcpServers": {
    "fetch": {
      "command": "npx",
      "args": ["mcp-fetch-server"],
      "env": {
        "DEFAULT_LIMIT": "50000"
      }
    }
  }
}

Características

  • Obtener contenido web como HTML, JSON, texto plano o Markdown
  • Extraer contenido de artículos con Mozilla Readability (elimina anuncios, navegación y texto repetitivo)
  • Extraer transcripciones de videos de YouTube (mediante yt-dlp o extracción directa)
  • Soporte de proxy para solicitudes detrás de cortafuegos
  • Paginación con max_length y start_index
  • Cabeceras de solicitud personalizadas
  • Protección SSRF (bloquea direcciones privadas/localhost y rebinding de DNS)
  • Límites de tamaño de respuesta para evitar agotamiento de memoria

Desarrollo

bun install
bun run dev     # start with watch mode
bun test        # run tests
bun run build   # build for production

Licencia

Este proyecto está licenciado bajo la Licencia MIT.