Crear un servidor MCP para la extracción de datos web en tiempo real
All Posts

Crear un servidor MCP para la extracción de datos web en tiempo real

Ryan Turner
Ryan Turner · Head of Growth

Un servidor MCP permite que cualquier agente compatible con MCP acceda a sus herramientas de datos web a través de un protocolo estándar. Para la extracción en tiempo real, debe exponer un recoger o buscar herramienta cuyo backend recupera páginas en tiempo real y devuelve datos limpios y estructurados con las URL de origen. Como resultado, el agente nunca interviene en el protocolo HTTP, la rotación de direcciones IP ni el análisis de HTML. Llama a una función con nombre y recibe como respuesta código Markdown.

Esa separación es precisamente la clave. La lógica de su modelo se mantiene sencilla. La parte complicada —obtener una página sin bloquear y convertirla en algo que un modelo de lenguaje grande (LLM) pueda leer— queda relegada a una herramienta que usted controla.

Puntos clave
  • Un servidor MCP pone a disposición de los clientes MCP unas herramientas denominadas (funciones con esquemas); en el caso de los datos web, las dos que suelen ser necesarias son extract_page(url) y buscar (consulta).
  • El servidor de referencia oficial de MCP Fetch ya recupera una URL y convierte el HTML a Markdown, por lo que ya dispone de una base funcional.
  • Dirija la solicitud a través de una API de renderizado y una red de salida de dispositivos reales; las solicitudes procedentes de direcciones IP de servidor se bloquean, y en 2025 los bots automatizados representaban el 51 % del tráfico web, por lo que las medidas de defensa son muy estrictas.
  • Devuelva el formato Markdown, no HTML sin procesar. Esto reduce considerablemente el coste de los tokens del agente y garantiza que las respuestas se puedan analizar.
  • Incluya siempre las URL de origen junto con el contenido, de modo que el agente (y su registro de auditoría) pueda atribuir cada afirmación.

¿Qué es un servidor MCP y qué servicios ofrece?

Un servidor MCP es un programa que pone a disposición de los clientes MCP, a través del Protocolo de Contexto de Modelo, una serie de herramientas denominadas «funciones» con esquemas de entrada y salida tipificados. Clientes como Claude, Cursor o su propio agente detectan dichas herramientas en el momento de la conexión y las invocan como si fueran funciones locales. A modo de contexto, Gartner prevé que el 40 % de las aplicaciones empresariales contarán con agentes de IA específicos para cada tarea a finales de 2026 (Gartner, Para 2026, el 40 % de las aplicaciones empresariales contarán con agentes de IA especializados en tareas específicas(2025), por lo que merece la pena definir correctamente un límite de herramienta bien definido.

Una herramienta (en MCP) consta de tres elementos: un nombre, un esquema de entrada y un tipo de retorno. Para la extracción web, su contrato podría ser extract_page(url: cadena) -> markdown y search(query: string) -> results[]. El agente solo ve esas firmas. Todo lo relacionado con cómo se carga, se vuelve a intentar y se limpia la página permanece oculto tras ellas.

No es necesario que empiece desde cero. El repositorio oficial de servidores MCP incluye un servidor de referencia Fetch que toma una URL, la recupera y convierte el HTML a Markdown (modelcontextprotocol/servidores). Lea primero las definiciones de las herramientas. En ellas se indican los formatos de entrada y salida que debe copiar, de modo que pueda dedicar su tiempo al backend, en lugar de a la infraestructura del protocolo. Este artículo se centra en sustituir ese backend por otro que no se bloquee. Para obtener una visión más amplia de los estándares, la red agencial y WebMCP aborda la dirección que están tomando MCP y la propuesta WebMCP para el lado del navegador.

¿Por qué es más importante el backend de recuperación que el protocolo?

La capa MCP es la parte fácil. Lo difícil es conseguir que la página se cargue, ya que las solicitudes directas a la IP del servidor son bloqueadas. En 2025, los bots automatizados representaban el 51 % de todo el tráfico web, siendo la primera vez en una década que los bots superaban a los humanos, con un 37 % de bots maliciosos (Imperva, Informe sobre bots maliciosos de 2025(2025). En otras palabras, los sitios han adaptado sus defensas precisamente al tipo de tráfico que genera su servidor.

La situación empeoró especialmente para los agentes. El 1 de julio de 2025, Cloudflare comenzó a bloquear de forma predeterminada los rastreadores de IA en aproximadamente el 20 % de la web y puso en marcha un mercado de pago por rastreo (Cloudflare, Cloudflare acaba de cambiar la forma en que los rastreadores de IA recopilan información de Internet en general, 2025). Los sitios web de noticias han seguido la misma tendencia: aproximadamente el 79 % de los principales sitios web de noticias bloquean ahora los bots de entrenamiento de IA, y alrededor del 49 % prohíben expresamente el uso de GPTBot (Press Gazette, Ocho de cada diez de los principales sitios web de noticias del mundo bloquean ahora los bots de entrenamiento de IA(2025).

Por lo tanto, un servidor de recuperación MCP básico falla en los objetivos que realmente importan. La solución está en la ruta de salida. Por lo tanto, dirija su recuperación a través de una API de renderizado en una red de dispositivos reales, de modo que la solicitud parezca proceder de un usuario real desde una ubicación real, y no de un rango de direcciones de un centro de datos que se rechaza de inmediato.

¿Cómo se crea la herramienta de recuperación?

Defina primero el contrato de la herramienta y, a continuación, asigne su backend a una API de renderizado. Su página de extracto La herramienta toma una URL y devuelve el código Markdown junto con la URL de origen. En segundo plano, se invoca un punto final de renderización que recupera la página en tiempo real, ejecuta el JavaScript y devuelve directamente el código Markdown limpio, de modo que su herramienta no tiene que realizar ningún análisis sintáctico del HTML por sí misma.

Aquí es donde se realiza la conexión Massive's API de renderizado web. Una API de renderizado es un servicio que recupera una página, ejecuta su código JavaScript en un navegador real y devuelve el resultado final en lugar del código fuente sin procesar. Su punto final «Browsing» acepta format=markdown como resultado de primera clase: la página se devuelve preparada para LLM, sin necesidad de extraer el DOM en el código de su herramienta. La solicitud se ejecuta a través de una red de dispositivos reales con alrededor de 1,3 millones de dispositivos activos diarios en más de 195 países, por lo que la IP de salida corresponde a un dispositivo de consumidor real, no a un rango de servidores marcado. Por ejemplo, puede realizar una segmentación geográfica por país, subdivisión o ciudad cuando una página se muestra de forma diferente según la región, y mantener una sesión persistente de hasta 12 minutos en la misma salida con un Cookie: session=<id> Encabezado para flujos de varios pasos.

En nuestras pruebas de proveedores, la tasa de éxito de las direcciones IP residenciales en sitios web protegidos suele ser considerablemente superior a la de las direcciones IP de centros de datos (rangos aproximados: residenciales ~85-99 %, centros de datos ~20-40 %). Considérelo como un punto de referencia de los proveedores, no como una investigación independiente. Aun así, explica un patrón que observamos a menudo: los equipos lo incorporan como alternativa y, a continuación, lo convierten en su opción principal una vez que ven que la tasa de bloqueo disminuye.

Devuelva datos estructurados, no un blob. Cada página de extracto La respuesta debe incluir el cuerpo en Markdown y la URL de origen resuelta, de modo que el agente pueda atribuirla y sus registros puedan auditarla. En el caso de una herramienta de búsqueda, el punto final de búsqueda recupera los resultados de la página de resultados de búsqueda (SERP) de los principales motores de búsqueda, con la posibilidad de segmentar por ubicación geográfica, lo que le permite buscar (consulta) una herramienta de búsqueda dinámica en lugar de una lista de URL fijas.

¿Por qué devolver código Markdown en lugar de HTML sin formato?

Utilice Markdown, ya que le supone al agente un gasto de tokens mucho menor que el HTML sin procesar y sigue siendo legible. El HTML sin procesar se compone principalmente de etiquetas, scripts y estilos que el modelo no necesita. La conversión a Markdown elimina ese «ruido» y reduce considerablemente el número de tokens, en más de la mitad en páginas típicas (dev.to, Herramientas de navegador para agentes de IA, parte 4: Prescindir del navegador(2026). Un menor número de tokens se traduce en un menor coste y en respuestas más rápidas en cada llamada a la herramienta.

También hay una razón de calidad. Los modelos funcionan mejor con encabezados y listas limpios en formato Markdown que con un montón de etiquetas `div` anidadas. En la práctica, se consumen menos tokens y, al mismo tiempo, se obtiene una extracción más fiable. Las ventajas e inconvenientes del formato Markdown, y cuánto se ahorra realmente, se tratan en prescindir del navegador para reducir los costes de los tokens de agente, que le recomendamos leer antes de decidirse por un formato de salida.

Dado que la API Web Render devuelve format=markdown Directamente, su herramienta MCP realiza la conversión en el backend, no en el contexto del agente. Como resultado, el agente recibe el código Markdown ya procesado y dedica su presupuesto de tokens al razonamiento, no a analizar un código desordenado.

¿Cómo se prueba la herramienta desde un agente?

Realice una prueba conectando el servidor a un cliente MCP real y observando el tiempo de respuesta de la herramienta. Configure su agente (Claude Desktop, Cursor o un cliente personalizado) para que cargue el servidor y confirme página de extracto y buscar Aparecerá en su lista de herramientas; a continuación, pídale que recupere una página en tiempo real. Compruebe que la respuesta esté en formato Markdown, incluya la URL de origen y se haya devuelto sin bloqueos.

Elija deliberadamente objetivos difíciles. Realice pruebas con un sitio web con mucho código JavaScript y con una página conocida por bloquear los bots, ya que las páginas sencillas ocultan los fallos que se pretendía evitar al desarrollar este backend. Por lo que observamos en las cargas de trabajo de los agentes, el primer objetivo difícil es aquel en el que la mayoría de los servidores más simples fallan silenciosamente. En comparación, una herramienta de recuperación basada en renderizado resiste. Compruebe también que la geolocalización funciona solicitando la misma URL desde dos países y confirmando que el contenido difiere donde debe hacerlo.

Una vez que la herramienta de obtención de datos está consolidada, pasa a constituir la capa de recuperación para sistemas más amplios. La misma herramienta que alimenta a un agente puede alimentar un proceso de recuperación que se mantiene actualizado, que es precisamente lo que Creación de un proceso RAG con datos web en tiempo real se basa en una herramienta de recuperación en tiempo real como esta.

Fuentes

Frequently Asked Questions

¿Tengo que desarrollar un servidor MCP desde cero?

No. Empiece por el servidor de referencia oficial de Fetch, que se encuentra en el repositorio de servidores MCP. Este ya se encarga de la obtención de URL y de la conversión de HTML a Markdown, por lo que debe copiar su estructura y sustituir el backend por una API de renderizado que no se bloquee.

¿Por qué no obtener la URL directamente en el código de mi herramienta?

Las solicitudes de obtención de la IP del servidor se bloquean en los sitios protegidos. En 2025, los bots representaban el 51 % del tráfico web y Cloudflare comenzó a bloquear de forma predeterminada los rastreadores de IA en aproximadamente el 20 % de la web, por lo que las solicitudes directas fallan en los sitios que le interesan. Una ruta de salida a través de un dispositivo real evita ese problema.

¿Qué es lo que devuelve realmente la herramienta?

Código Markdown limpio junto con la URL de origen resuelta, devuelto como datos estructurados. El formato Markdown reduce el coste de los tokens, y la URL de origen permite al agente atribuir las reclamaciones y le permite auditar cada llamada.

¿Debería presentar una herramienta o varias?

Normalmente dos: extract_page(url) para una página conocida y buscar (consulta) para su detección. Mantenga el esquema de cada herramienta sencillo y su formato de respuesta predecible, de modo que cualquier cliente MCP pueda invocarlas sin necesidad de un tratamiento especial.