Volver al blog

Cómo agregar búsqueda web a GitHub Copilot CLI: Guía de integración de MCP sin desperdicios.

Ethan Brown
Ethan Brown

Advanced Bot Mitigation Engineer

27-May-2026

Conclusiones Clave:

  • Un archivo de configuración conecta el acceso web en vivo a Copilot CLI. Solo necesitas agregar un bloque scrapeless en ~/.copilot/mcp-config.json y tu agente terminal obtiene un raspador de SERP de Google, un raspador de Tendencias, ayudantes para páginas HTML/Markdown/Capturas de pantalla y una superficie completa de automatización de navegador en la nube — sin código SDK, sin servicio extra que ejecutar.
  • El agente busca, renderiza y controla un navegador a partir de solicitudes simples. Pídele en lenguaje natural que busque en Google, renderice una página con mucho JavaScript o navegue a través de un flujo de múltiples pasos, y compone las llamadas a las herramientas adecuadas turn por turn en lugar de estar limitado a archivos locales y conocimientos hasta la fecha de corte de entrenamiento.
  • Los proxies residenciales y la detección anti-detección se gestionan del lado de la nube. Cada solicitud se enruta a través del navegador anti-detección de Scrapeless con proxies residenciales en más de 195 países, por lo que el agente recibe una respuesta renderizada y utilizable en sitios comerciales sin necesidad de configurar ningún proxy o huella digital en tu máquina.
  • Se ejecuta junto a las herramientas de codificación de Copilot en la misma sesión. Las herramientas de Scrapeless se sitúan al lado de las ediciones de archivos de Copilot CLI, comandos de terminal y generación de código, por lo que un solo turno de agente puede raspar la web en vivo y escribir el resultado directamente en el código que estás construyendo.
  • 21 herramientas a través de SERP, raspado sin estado y automatización de navegador. El servidor Scrapeless MCP expone google_search, google_trends, scrape_html/scrape_markdown/scrape_screenshot, además de 16 herramientas de automatización browser_* — un espacio de nombres del que el planificador del agente extrae por turno.
  • Transporte apto para transmisión HTTP cubre configuraciones alojadas. Stdio a través de npx es lo predeterminado en una estación de trabajo; para contenedores de desarrollo remoto o ejecutores de CI donde es incómodo generar un proceso hijo, apunta la misma configuración al punto final HTTP que se puede transmitir.
  • Gratis para comenzar. Las nuevas cuentas de Scrapeless incluyen tiempo de ejecución de Scraping Browser gratuito — regístrate en Scrapeless.

Introducción: tu agente terminal, ahora con visión en la web en vivo

GitHub Copilot CLI salió de GA el 25-FEB-2026 como un agente de codificación nativo del terminal, utilizando por defecto Claude Sonnet 4.5. Lee tu repositorio, edita archivos, ejecuta comandos y razona sobre el proyecto frente a él — todo sin salir de la terminal. Lo que no puede hacer directamente es ver la web en vivo. Su conocimiento se detiene en la fecha de corte de entrenamiento y los archivos en disco.

Esa brecha aparece en el momento en que una tarea necesita datos públicos y actuales. El agente no puede obtener un SERP en vivo, leer la página de precios de un competidor, revisar el último changelog o renderizar una aplicación solo de JavaScript — por lo que las respuestas se vuelven obsoletas, cualquier cosa sensible al tiempo se convierte en un copiado manual desde un navegador, y el agente opera a ciegas en cualquier cosa publicada después de su fecha de corte.

Este post cierra esa brecha al conectar el servidor Scrapeless MCP a GitHub Copilot CLI. Un bloque de configuración le da al agente búsqueda en Google, renderización de JavaScript y un navegador completo en la nube, todo accesible a través de las mismas solicitudes en lenguaje natural que ya utiliza para el código. Para la misma superficie de Scrapeless a través de otros clientes MCP, consulta el tutorial de Google Antigravity y el tutorial del servidor MCP.


Lo Que Puedes Hacer Con Esto

  • Investigación de SERP en vivo en la terminal. Pídele al agente que ejecute google_search para una consulta y devuelva los mejores resultados como JSON, de modo que la investigación suceda en la terminal en lugar de en una pestaña de navegador separada.
  • Instantáneas de competidores y precios. Introduce una URL de competidor en la solicitud y haz que el agente renderice la página de precios y extraiga nombres de planes, precios y características en un registro estructurado que puedes colocar junto a tu código.
  • Búsquedas de documentos y changelogs que alimentan el código. Haz que el agente obtenga la documentación actual de una biblioteca o notas de lanzamiento como markdown limpio y que escriba sobre el texto renderizado en lugar de un recuerdo obsoleto de la API.
  • Verificaciones de mercado y tendencias. Usa google_trends para obtener señales de interés sobre un tema en una región específica, luego utiliza eso para inspirar copias de características, plantillas de contenido o ideas experimentales con evidencia actual.
  • Extracción de páginas JS en un registro tipado. Indica al agente que apunte a una página renderizada con JavaScript; el navegador en la nube la hidrata y el agente analiza el resultado en un objeto tipado para el script que estás escribiendo.
  • Flujos de navegador de múltiples pasos. Encadena browser_goto, browser_click, browser_type y browser_scroll para que el agente navegue por la paginación, expanda paneles o siga un asistente antes de extraer.
  • Captura de pantalla para revisión. Usa scrape_screenshot o browser_screenshot para capturar una página renderizada como una imagen que el agente puede adjuntar a la conversación o guardar en el espacio de trabajo.
  • Pipelines de búsqueda y luego lectura. Combina google_search con scrape_markdown para que el agente encuentre los mejores resultados, lea cada uno y los resuma en un solo turno en la terminal.
    En Scrapeless, solo accedemos a datos disponibles públicamente mientras cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad de los sitios web aplicables. El contenido de este post es solo para fines de demostración.

Por qué el servidor MCP de Scrapeless

El servidor MCP de Scrapeless es un puente personalizable y anti-detección entre un agente de IA y la web en vivo. Para GitHub Copilot CLI específicamente, ofrece:

  • Un navegador en la nube anti-detección con renderizado JavaScript. Las páginas se hidratan en un Navegador de Extracción Scrapeless completo antes de la extracción, por lo que las aplicaciones de una sola página, las fuentes de desplazamiento infinito y los paneles cargados de forma perezosa se convierten en objetivos de primera clase para browser_goto + browser_get_html.
  • Proxies residenciales en más de 195 países. Las consultas geolocalizadas devuelven las listas que vería un usuario local, con la salida del proxy manejada completamente del lado de Scrapeless.
  • Un comando estándar a través de npx, sin código SDK. El servidor se lanza como un proceso hijo desde npx -y scrapeless-mcp-server; no hay nada que construir, alojar o importar en tu proyecto.
  • 21 herramientas que abarcan SERP, extracción sin estado y automatización de navegador completa. google_search y google_trends cubren datos de SERP, scrape_html/scrape_markdown/scrape_screenshot cubren extracciones de una sola página, y 16 herramientas browser_* cubren navegación con estado, clics, escritura, desplazamiento y capturas de pantalla.
  • Transporte HTTP transmitible para agentes alojados. Cuando Copilot CLI se ejecuta en un contenedor remoto o en un corredor CI, la misma superficie es accesible a través del punto final HTTP transmitible en lugar de a través de stdio.

El plan gratuito es suficiente para conectar esto y ejecutar solicitudes reales; compara las cuotas en la página de precios cuando lo superes. Obtén tu clave API en el plan gratuito en app.scrapeless.com.


Requisitos previos

  • Node.js 18 o más reciente en la estación de trabajo — Copilot CLI se instala desde npm, y el servidor MCP estándar se inicia con npx.
  • GitHub Copilot CLI instalado y una suscripción activa a GitHub Copilot. El CLI se autentica contra tu cuenta de GitHub, y el bucle del agente se basa en la cuota de Copilot; sin una suscripción activa, el paso del modelo no se ejecutará.
  • Una cuenta de Scrapeless y clave API — regístrate en el plan gratuito en Scrapeless y copia la clave de Configuración → Gestión de Clave API.
  • Familiaridad básica con la terminal — toda la configuración es un puñado de comandos más un pequeño archivo JSON.

Instalar

La configuración consta de cinco sub-pasos; cada uno es verificable de forma independiente.

1. Instalar GitHub Copilot CLI

Instala el CLI globalmente desde npm, y luego inícialo:

bash Copy
npm install -g @github/copilot
copilot

El primer lanzamiento te lleva a la sesión interactiva de Copilot donde se ejecutan los pasos restantes.

2. Autenticar Copilot

Dentro de la sesión, inicia sesión con el comando de barra diagonal /login y sigue el flujo de autorización del dispositivo de GitHub:

text Copy
/login

Esto requiere una suscripción activa a GitHub Copilot — el CLI utiliza tu identidad de GitHub tanto para la autenticación como para la cuota del modelo. El CLI de Copilot se predetermina en Claude Sonnet 4.5; cambia de backend en cualquier momento con el comando de barra diagonal /model.

3. Añadir el servidor MCP de Scrapeless (stdio)

Copilot CLI lee los servidores MCP desde ~/.copilot/mcp-config.json. Crea el archivo (o añade el bloque scrapeless a un objeto mcpServers existente) con la configuración estándar:

json Copy
{
  "mcpServers": {
    "scrapeless": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "scrapeless-mcp-server"],
      "env": { "SCRAPELESS_KEY": "TU_CLAVE_SCRAPELESS" },
      "tools": ["*"]
    }
  }
}

Un detalle que confunde a las personas: el servidor MCP de Scrapeless lee su clave de SCRAPELESS_KEY, no de SCRAPELESS_API_KEY. La CLI de Scrapeless y SDK utilizan SCRAPELESS_API_KEY, pero el servidor MCP es la excepción documentada — usa SCRAPELESS_KEY aquí o el servidor se iniciará sin credenciales. El código fuente del servidor se encuentra en github.com/scrapeless-ai/scrapeless-mcp-server.

Sustituye tu clave real por TU_CLAVE_SCRAPELESS. La línea "tools": ["*"] expone toda la superficie de herramientas. También puedes gestionar servidores desde dentro de una sesión con los comandos de barra diagonal /mcp/mcp add, /mcp show, /mcp edit, /mcp delete, /mcp enable, y /mcp disable — que escriben en el mismo archivo de configuración.

4. O usar modo HTTP transmitible

Si el host no puede iniciar de manera confiable npx — un contenedor de desarrollo alojado, un espacio de trabajo remoto o un sandbox CI — apunta a Copilot al punto final HTTP de Scrapeless en lugar del proceso local:

json Copy
{
  "mcpServers": {
    "scrapeless": {
      "type": "http",
      "url": "https://api.scrapeless.com/mcp",
      "headers": { "x-api-token": "TU_CLAVE_SCRAPELESS" },
      "tools": ["*"]
    }
  }
}

El mismo valor de clave funciona en ambos modos; ten en cuenta que el flujo HTTP lo pasa como el encabezado x-api-token en lugar de la variable de entorno SCRAPELESS_KEY. Stdio es el valor predeterminado adecuado en una estación de trabajo de desarrollador; HTTP streamable es el valor predeterminado correcto donde un proceso hijo de larga duración es incómodo de mantener activo.

5. Verifica la conexión

Lanza la CLI y lista los servidores MCP conectados:

text Copy
copilot
/mcp

El servidor scrapeless debería aparecer con sus 21 herramientas cargadas: las herramientas de datos de Google (google_search, google_trends), los ayudantes de página de un solo uso (scrape_html, scrape_markdown, scrape_screenshot), y los primitivos del navegador en la nube (browser_create, browser_goto, browser_get_html, browser_get_text, browser_click, browser_type, browser_press_key, browser_scroll, browser_scroll_to, browser_screenshot, browser_snapshot, browser_wait, browser_wait_for, browser_go_back, browser_go_forward, browser_close). Si el servidor se enumera y las herramientas aparecen, la conexión es buena y la clave API es válida.


Cómo usar esto realmente: solicita a tu agente de Copilot CLI

Después de conectar el servidor MCP, obtienes datos web en vivo hablando con Copilot CLI en la terminal — no escribiendo manualmente las llamadas a las herramientas. El agente lee la lista de herramientas que expone el servidor Scrapeless MCP y elige google_search, scrape_markdown, o las herramientas browser_* según sea necesario, componiéndolas turno a turno desde el aviso en lenguaje natural. No hay JSON de herramienta que redactar de tu parte y ninguna llamada manual a MCP que emitir. (Copilot CLI ejecuta avisos de forma interactiva en una sesión, o no de forma interactiva con copilot -p "<avisos>" para ejecuciones únicas y scripting).

Avisos que puedes pegar

Aviso Lo que hace el agente
"Encuentra los mejores resultados de Google para puntos de referencia de bases de datos vectoriales 2026 y devuélvelos como JSON." google_search con q, hl, gl → filas de resultados tipadas.
"¿Qué temas de búsqueda están en auge para herramientas para desarrolladores en EE. UU. en este momento?" google_trends.
"Obtén la página de documentación de React en https://react.dev/learn/synchronizing-with-effects como markdown limpio." scrape_markdown.
"Abre https://pricing.example.com, es una aplicación JavaScript — renderízala y extrae el nombre del plan, el precio y las características como JSON." browser_createbrowser_gotobrowser_get_html → extracto tipado.
"Compara las páginas de precios en https://a.example.com/pricing y https://b.example.com/pricing y dime dónde difieren." browser_createbrowser_goto (página A) → browser_get_htmlbrowser_goto (página B) → browser_get_html → diff.
"Toma una captura de pantalla de página completa de https://example.com/landing." scrape_screenshot.
"Obtén el HTML renderizado de https://example.com para que pueda leer el marcado." scrape_html.
"Abre https://example.com/jobs, espera a que se carguen los listados, toma un snapshot de la página, luego extrae cada título de trabajo y ubicación como JSON." browser_createbrowser_gotobrowser_wait_forbrowser_snapshot → extracto tipado → browser_close.

Ejemplo trabajado

Tú escribes:

bash Copy
copilot -p "Encuentra los mejores resultados orgánicos para 'web scraping python' y resume los 3 mejores con enlaces."

El plan del agente (en inglés sencillo):

  1. Llama a google_search con q: "web scraping python", hl: "en", gl: "us".
  2. Recibe un array de filas de resultado y lee los campos position, title, link y snippet.
  3. Ordena por position y conserva las primeras tres filas.
  4. Resume cada resultado a partir de su snippet y empareja el resumen con el title y link de la fila.
  5. Devuelve los tres resúmenes con sus enlaces a la terminal.

Lo que recibes (forma ilustrativa — el agente trabaja a partir de filas como estas):

json Copy
[
  {
    "position": 1,
    "title": "Tutorial de Web Scraping en Python",
    "link": "https://www.example.com/python-web-scraping",
    "snippet": "Una guía paso a paso para raspar páginas web con Python, requests y un analizador.",
    "source": "example.com"
  },
  {
    "position": 2,
    "title": "Documentación de Beautiful Soup",
    "link": "https://www.example.org/beautifulsoup/docs",
    "snippet": "Referencia para analizar documentos HTML y XML en Python.",
    "source": "example.org"
  },
  {
    "position": 3,
    "title": "Raspando sitios dinámicos en Python",
    "link": "https://blog.example.net/dynamic-scraping",
    "snippet": "Cómo renderizar páginas JavaScript antes de extraer datos.",
    "source": "example.net"
  }
]
// Los nombres de los campos coinciden con la forma de fila de google_search; los valores son muestras ilustrativas.

Las herramientas de datos sin estado (google_search, google_trends, scrape_html, scrape_markdown) devuelven su carga útil como un cuerpo precedido por Response:\n\n; el agente quita ese prefijo antes de analizar el JSON, por lo que nunca lo ves en la respuesta.

Formando avisos

Di esto Efecto
"…de Alemania" / "…resultados alemanes" Rutas de egreso a través de proxyCountry y establece gl=de en la búsqueda.
"…como markdown, omitir la navegación y el boilerplate" Elige scrape_markdown para una carga de texto limpia en lugar de HTML sin procesar.
"…renderízalo primero, es una aplicación de una sola página" Fuerza la ruta browser_* (browser_createbrowser_gotobrowser_get_html) para que la extracción se ejecute contra el DOM hidratado.
"…sólo los 5 principales" Reduce el array devuelto a las primeras cinco filas.
"…incluye el fragmento para cada resultado" Mantiene el campo snippet en las filas de salida.
"…cierra la sesión cuando hayas terminado" Agrega un browser_close final con el sessionId de browser_create.

Superficie de herramientas Scrapeless MCP

Una vez que el servidor está conectado, GitHub Copilot CLI ve 21 herramientas que abarcan datos de SERP, scraping sin estado y control completo de navegador en la nube para evitar detección.

Herramienta Lo que hace
google_search Realiza una búsqueda en Google (q, hl, gl) y devuelve filas de resultados orgánicos estructurados.
google_trends Obtiene datos de interés de Google Trends para una consulta.
scrape_html Recupera una URL y devuelve su HTML renderizado.
scrape_markdown Recupera una URL y devuelve Markdown limpio de la página.
scrape_screenshot Captura una captura de pantalla de una URL objetivo.
browser_create Abre una sesión en el navegador en la nube para evitar detección.
browser_goto Navega la sesión a una URL.
browser_click Hace clic en un elemento en la página en vivo.
browser_type Escribe texto en un campo de entrada o editable.
browser_get_text / browser_get_html Lee el texto o HTML de la página.
browser_screenshot Captura una captura de pantalla de la sesión en vivo.
browser_snapshot Devuelve una instantánea de accesibilidad/estructura de la página.
browser_wait / browser_wait_for Espera un intervalo fijo o por una condición/elemento.
browser_scroll / browser_scroll_to Desplaza la página o a un elemento específico.
browser_go_back / browser_go_forward Se mueve a través del historial de la sesión.
browser_press_key Envía una tecla del teclado a la página.
browser_close Finaliza la sesión del navegador en la nube.

Obtén tu clave API en el plan gratuito: Scrapeless


Lo que obtienes a cambio

Una llamada a google_search devuelve un array JSON de filas de resultados orgánicos. Cada fila lleva las mismas claves, para que el agente pueda mapear directamente a título, enlace y fragmento:

json Copy
// Los nombres de los campos reflejan la salida de la herramienta google_search; los valores son muestras ilustrativas.
[
  {
    "position": 1,
    "title": "Tutorial de Web Scraping en Python",
    "link": "https://example.com/python-web-scraping",
    "snippet": "Una guía paso a paso para raspar la web con Python y analizar HTML.",
    "source": "example.com"
  },
  {
    "position": 2,
    "title": "Mejores Prácticas de Web Scraping",
    "link": "https://example.org/best-practices",
    "snippet": "Cómo raspar de manera responsable: límites de tasa, robots.txt y salida estructurada.",
    "source": "example.org"
  }
]

Algunas observaciones honestas una vez que comiences a ejecutar comandos:

  • Herramientas sin estado como google_search y scrape_markdown devuelven un cuerpo precedido por Response:\n\n seguido de la carga JSON; el agente desenvuelve automáticamente ese prefijo, por lo que trabajas con los datos, no con el envoltorio.
  • Las herramientas browser_* devuelven texto plano sin prefijo Response:\n\n.
  • Los argumentos de las herramientas están en camelCase: pasa sessionId, proxyCountry y campos similares exactamente como están nombrados.
  • proxyCountry es una solicitud, no una garantía; puede deferir a la región configurada en tu cuenta.
  • Los valores en la salida de la herramienta dependen del contenido: los recuentos de resultados, el orden y el texto del fragmento varían con la consulta en vivo.

Toda la integración se reduce a un bloque de configuración MCP más comandos en lenguaje natural. Con la entrada scrapeless-mcp-server en su lugar y tu clave en el entorno, GitHub Copilot CLI obtiene búsqueda de Google en vivo, renderización de JavaScript y un navegador en la nube para evitar detección completo, todo sin salir de la terminal ni conectar un solo cliente HTTP manualmente. Describes la tarea; el agente elige la herramienta.

Si estás conectando otros agentes, el mismo servidor Scrapeless MCP se integra en ellos también: consulta las integraciones de Google Antigravity y Pi Agent, y la visión general del servidor Scrapeless MCP para la referencia completa de herramientas. Mantén tu clave API en SCRAPELESS_KEY, prefiere el transporte stdio para CLIs locales y HTTP-streamable para agentes alojados, y deja que el agente elija las herramientas. Referencia completa en docs.scrapeless.com.


FAQ

Raspar datos disponibles públicamente es generalmente permisible, pero eres responsable de cómo los usas. Revisa los Términos de Servicio de cada sitio y respeta robots.txt, y recuerda que las reglas sobre datos personales y acceso varían según la jurisdicción. Cuando tengas dudas, solicita asesoría legal para tu caso de uso específico.

¿Necesitas una clave de API de Scrapeless y qué variable de entorno la contiene?

Sí. El servidor MCP de Scrapeless se autentica con tu clave de cuenta, que estableces en SCRAPELESS_KEY. Sin ella, el servidor se inicia pero sus herramientas no pueden acceder al backend de Scrapeless.

¿Necesitas una suscripción a GitHub Copilot?

Sí. GitHub Copilot CLI ejecuta sus turnos contra el modelo de Copilot, que requiere una suscripción activa a Copilot con cuota disponible. El servidor MCP y sus herramientas son separados; la suscripción cubre el modelo del agente, no las llamadas a Scrapeless.

stdio vs HTTP streamable — ¿cuándo deberías usar cada uno?

Usa stdio cuando el servidor se ejecute localmente junto al CLI: el agente lanza scrapeless-mcp-server como un proceso secundario y se comunica con él a través de la entrada/salida estándar. Usa el transporte HTTP streamable (https://api.scrapeless.com/mcp con el encabezado x-api-token) cuando el agente está alojado o remoto y no puede generar un proceso local. Para una configuración local de Copilot CLI, stdio es la opción más simple.

Sí. Las 16 herramientas browser_* permiten al agente abrir una sesión, navegar, hacer clic, escribir, desplazarse, esperar por elementos, tomar instantáneas, capturas de pantalla y cerrar: un flujo completo de navegador en la nube impulsado completamente por comandos en lenguaje natural.

¿Aplica siempre proxyCountry?

No necesariamente. proxyCountry es una preferencia que puede ajustarse a la región configurada en tu cuenta. Si el geo-targeting importa, confirma la región de salida en lugar de asumir que el valor por llamada siempre prevalece.

¿Puedes usar esto sin un agente de IA?

Sí. El servidor MCP de Scrapeless es un servidor MCP estándar, por lo que cualquier cliente compatible con MCP puede llamarlo — o puedes controlarlo directamente a través de JSON-RPC (initialize, luego tools/list y tools/call). El agente es una conveniencia, no un requisito.


¿Listo para construir tu pipeline de datos potenciado por IA?

Únete a nuestra comunidad para reclamar un plan gratuito y conectar con desarrolladores que construyen agentes de GitHub Copilot CLI + Scrapeless MCP: Discord · Telegram.

Regístrate en Scrapeless para obtener un tiempo de ejecución gratuito del navegador de raspado y adapta la integración anterior a los SERPs, páginas y regiones que tu equipo necesita. Referencia completa en docs.scrapeless.com.

En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.

Artículos más populares

Catalogar