Fetch
Obtén contenido web como HTML, JSON, texto plano o Markdown.
Documentación
Servidor MCP Fetch

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.
Herramientas
Todas las herramientas aceptan los siguientes parámetros comunes:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
url | string | Sí | URL a obtener |
headers | object | No | Cabeceras personalizadas para incluir en la solicitud |
max_length | number | No | Máximo de caracteres a devolver (por defecto: 5000) |
start_index | number | No | Empezar desde este índice de caracteres (por defecto: 0) |
proxy | string | No | URL 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-dlpsi está disponible; de lo contrario, extrae directamente de la página. Acepta un parámetro adicionallang(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
| Comando | Descripción |
|---|---|
html | Obtiene una URL y devuelve HTML sin procesar |
markdown | Obtiene una URL y devuelve Markdown |
readable | Obtiene una URL y devuelve el contenido del artículo como Markdown (mediante Readability) |
txt | Obtiene una URL y devuelve texto plano |
json | Obtiene una URL y devuelve JSON |
youtube | Obtiene la transcripción de un video de YouTube |
Banderas
| Bandera | Descripció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) |
--help | Mostrar mensaje de ayuda |
--version | Mostrar 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
| Variable | Descripción |
|---|---|
DEFAULT_LIMIT | Límite de caracteres por defecto para las respuestas (por defecto: 5000, establece 0 para sin límite) |
MAX_RESPONSE_BYTES | Tamañ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-dlpo extracción directa) - Soporte de proxy para solicitudes detrás de cortafuegos
- Paginación con
max_lengthystart_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.