En esta página
El modo agente de GitHub Copilot en VS Code puede leer tu repo, ejecutar comandos de terminal y editar archivos, pero no puede obtener páginas web en vivo de forma fiable. Añade CrawlForge MCP y Copilot gana 26 herramientas de scraping, desde fetch_url hasta deep_research.
// .vscode/mcp.json
{
"servers": {
"crawlforge": {
"type": "stdio",
"command": "crawlforge-mcp-server",
"env": { "CRAWLFORGE_API_KEY": "cf_live_your_key" }
}
}
}Esta guía recorre paso a paso cómo habilitar el web scraping en los agentes de GitHub Copilot, con ejemplos funcionales en TypeScript y solución de problemas para los fallos más comunes.
Tabla de contenidos
- El problema: el acceso web limitado de Copilot
- Requisitos previos
- Paso 1: instala CrawlForge MCP
- Paso 2: habilita el modo agente de Copilot
- Paso 3: registra el MCP server
- Paso 4: verifica que las herramientas estén disponibles
- Paso 5: tu primer scrape
- Ejemplo completo: genera un cliente REST a partir de docs en vivo
- Avanzado: flujos de trabajo con múltiples herramientas
- Solución de problemas
- FAQ
El problema: el acceso web limitado de Copilot
Copilot Chat tiene un participante @web, pero reescribe tu consulta como una búsqueda en Bing: sin acceso a la página en crudo, sin extracción estructurada, sin evasión anti-bot. En modo agente, Copilot puede ejecutar comandos de shell, así que podrías canalizar curl | pandoc a través de una llamada a herramienta, pero eso se pierde las páginas renderizadas con JavaScript y activa los sistemas anti-bot en cuestión de minutos.
MCP resuelve esto. Desde que VS Code 1.102 lanzó soporte MCP de disponibilidad general a mediados de 2025, los agentes de Copilot pueden llamar a cualquier MCP server que registres. CrawlForge expone 26 herramientas de scraping como MCP, por lo que el scraping se convierte en una acción de agente de primera clase.
Requisitos previos
- VS Code 1.102+ --
code --version - Suscripción a GitHub Copilot (Individual, Business o Enterprise) con el modo agente habilitado
- Node.js 18+
- Cuenta de CrawlForge -- gratuita en crawlforge.dev/signup
Paso 1: instala CrawlForge MCP
npm install -g crawlforge-mcp-server
crawlforge-mcp-server --version
# crawlforge-mcp-server 4.8.1Paso 2: habilita el modo agente de Copilot
- Abre la configuración de VS Code (
Cmd+,/Ctrl+,). - Busca
chat.agent.enabledy actívalo. - Abre Copilot Chat (
Ctrl+Alt+I/Cmd+Ctrl+I) y cambia el desplegable de modo de "Ask" a "Agent".
El modo agente es lo que habilita las llamadas a herramientas MCP. En los modos "Ask" o "Edit", Copilot ignora los MCP servers registrados.
Paso 3: registra el MCP server
VS Code admite MCP en dos ámbitos:
- Workspace --
.vscode/mcp.jsonen la raíz del repo (compartido en equipo vía git) - Usuario -- editable mediante el comando "MCP: Add Server" de la paleta de comandos (personal)
Para scraping en equipo, usa la configuración de workspace:
// .vscode/mcp.json
{
"servers": {
"crawlforge": {
"type": "stdio",
"command": "crawlforge-mcp-server",
"env": {
"CRAWLFORGE_API_KEY": "${env:CRAWLFORGE_API_KEY}"
}
}
}
}Luego exporta la key en tu shell (no la subas al repo):
export CRAWLFORGE_API_KEY="cf_live_your_key_here"O usa ${input:apiKey} y VS Code te lo pedirá una vez por workspace.
Paso 4: verifica que las herramientas estén disponibles
- Abre Copilot Chat.
- Haz clic en el icono de herramientas en la cabecera del chat.
- Confirma que
crawlforgeaparece listado con 26 herramientas. Desmarca las que quieras ocultar.
Si la lista está vacía, ve a Solución de problemas.
Paso 5: tu primer scrape
En Copilot Chat (modo agente), pega:
#crawlforge Fetch https://news.ycombinator.com and list the top 5 story titles with their URLs.
La pista #crawlforge empuja a Copilot hacia la herramienta correcta. Copilot llama a fetch_url (1 credit), recibe el HTML, parsea los títulos y los devuelve en línea.
Ejemplo completo: genera un cliente REST a partir de docs en vivo
Aquí tienes un flujo de trabajo concreto: autogenerar un cliente tipado de Stripe a partir de la documentación en vivo.
Pide al agente de Copilot:
#crawlforge Use extract_content on https://docs.stripe.com/api/charges/create.
Then in src/clients/stripe-charges.ts, write a typed function createCharge(params)
that calls the Stripe API with the exact fields documented on that page.
Add a Zod schema for params.
Copilot emite esta llamada MCP:
// What Copilot sends via MCP to CrawlForge
{
"tool": "extract_content",
"arguments": {
"url": "https://docs.stripe.com/api/charges/create",
"options": { "format": "markdown" }
}
}
// Response: clean markdown of the endpoint docsCopilot lee el markdown y escribe:
// src/clients/stripe-charges.ts
import { z } from 'zod';
export const CreateChargeParams = z.object({
amount: z.number().int().positive(),
currency: z.string().length(3),
source: z.string().optional(),
customer: z.string().optional(),
description: z.string().max(500).optional(),
receipt_email: z.string().email().optional(),
statement_descriptor: z.string().max(22).optional(),
});
export type CreateChargeParams = z.infer<typeof CreateChargeParams>;
export async function createCharge(params: CreateChargeParams) {
const validated = CreateChargeParams.parse(params);
const body = new URLSearchParams();
for (const [key, value] of Object.entries(validated)) {
if (value !== undefined) body.append(key, String(value));
}
const response = await fetch('https://api.stripe.com/v1/charges', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.STRIPE_SECRET_KEY}`,
'Content-Type': 'application/x-www-form-urlencoded',
},
body,
});
if (!response.ok) {
const error = await response.json();
throw new Error(`Stripe error: ${error.error?.message ?? response.statusText}`);
}
return response.json();
}Coste: 2 credits (una llamada a extract_content). Repítelo para cada endpoint de Stripe y tendrás un cliente tipado completo derivado de las docs en vivo.
Avanzado: flujos de trabajo con múltiples herramientas
Los agentes de Copilot destacan encadenando herramientas. Ejemplo de prompt:
#crawlforge 1) search_web for "OpenTelemetry Node.js auto-instrumentation 2026"
2) extract_content from the top 3 results
3) Summarize the differences into docs/otel-options.md with a decision matrix.
Copilot ejecuta las tres llamadas MCP secuencialmente, encadena los resultados y escribe el markdown. Coste total: ~11 credits (5 + 2 + 2 + 2).
Referencia rápida de credits
| Tarea | Herramienta | Credits |
|---|---|---|
| Obtención de HTML estático | fetch_url | 1 |
| Texto limpio de artículo | extract_content | 2 |
| Campos por selector CSS | scrape_structured | 2 |
| Descubrir URLs | map_site | 2 |
| Búsqueda web | search_web | 5 |
| Evasión anti-bot | stealth_mode | 5 |
| Investigación profunda | deep_research | 10 |
Solución de problemas
La lista de herramientas está vacía -- El modo agente está desactivado. Habilita chat.agent.enabled en la configuración y cambia el modo del chat a "Agent".
"Spawn ENOENT: crawlforge-mcp-server" -- VS Code no encuentra el binario. Usa una ruta absoluta en .vscode/mcp.json: "command": "/usr/local/bin/crawlforge-mcp-server".
Copilot ignora el MCP server -- Antepón #crawlforge a tu prompt o nombra una herramienta explícitamente: "Usa fetch_url para...". A veces Copilot elige herramientas integradas por defecto.
401 Unauthorized -- La variable de entorno no llega al servidor. Comprueba echo $CRAWLFORGE_API_KEY en el mismo shell que lanzó VS Code. En macOS, VS Code lanzado desde la GUI no hereda el entorno del shell: lánzalo con code . desde la terminal.
La configuración MCP del workspace no se carga -- VS Code no confía automáticamente en .vscode/mcp.json. Abre el archivo, haz clic en la notificación "Trust" y luego recarga la ventana.
Próximos pasos
- Lee el resumen de las 26 herramientas para ver el kit completo
- Estudia la explicación del protocolo MCP para entender cómo habla VS Code con los servidores
- Consulta las docs de primeros pasos para la API REST
- Compara con la alternativa a Firecrawl si estás evaluando proveedores de scraping
Empieza gratis con 1.000 credits en crawlforge.dev/signup.
Pruébalo tú mismo — sin necesidad de registrarte
Ejecuta cualquiera de las 27 herramientas de scraping y extracción de CrawlForge en el playground y luego empieza gratis con 1,000 credits.
1,000 credits gratis • Se recargan cada mes • No se requiere tarjeta de crédito
Etiquetas
Sobre el autor
Mantente al día con los últimos artículos
Recibe tutoriales, novedades del producto y consejos de web scraping en tu bandeja de entrada.
Sin spam. Cancela tu suscripción cuando quieras.