En esta página
ChatGPT ya puede llamar a tus propias herramientas mediante MCP connectors personalizados, incluido el web scraping. Pero hay un detalle que las páginas de marketing se saltan: los connectors deben ser servidores remotos, así que una herramienta local como CrawlForge no se puede pegar directamente. Esta guía es la versión honesta: qué es realmente posible, por qué hace falta un wrapper y el puente exacto que tienes que construir.
Tabla de contenidos
- Qué son los connectors de ChatGPT
- Qué planes pueden usarlos
- El detalle del transporte: solo remoto
- Por qué CrawlForge necesita un wrapper
- Construye el puente: un wrapper MCP remoto
- Añade el connector en ChatGPT
- Auth y seguridad
- Una alternativa más simple
Qué son los connectors de ChatGPT
ChatGPT admite MCP connectors personalizados -- renombrados como "apps" en diciembre de 2025, así que la interfaz actual dice "Apps & Connectors". A través del Developer mode, conectas un MCP server externo y ChatGPT puede llamar a sus herramientas en mitad de una conversación, pidiéndote que confirmes antes de cualquier acción de escritura. Es el mismo Model Context Protocol que impulsa el web scraping en Claude; solo cambia el cliente.
El Developer mode (MCP completo de lectura/escritura) es explícitamente una beta; OpenAI advierte que la interfaz y los permisos pueden cambiar.
Qué planes pueden usarlos
Según la tabla de planes de OpenAI, la posibilidad de añadir un MCP connector personalizado está disponible en:
- Plus, Pro, Business, Enterprise y Edu -- sí.
- Free y Go -- no.
El soporte completo de acciones de escritura se está desplegando de forma más amplia en Business, Enterprise y Edu. Si solo necesitas que ChatGPT lea datos scrapeados, la ruta de solo lectura de abajo es suficiente.
El detalle del transporte: solo remoto
Esta es la parte que descoloca a mucha gente. Un connector de ChatGPT debe ser un MCP server remoto accesible por HTTPS, usando transporte SSE o Streamable HTTP. Pegas una URL en ChatGPT; no lo apuntas a un comando de tu máquina.
Eso descarta los servidores stdio locales -- los que instalas con npx. Para usar uno, o lo alojas públicamente o expones un servidor local a través de un túnel como ngrok o Cloudflare Tunnel.
También hay una regla de nombres de herramientas que conviene conocer: las rutas de deep research y company-knowledge de ChatGPT exigen que tu servidor exponga dos herramientas de solo lectura llamadas search y fetch con un esquema específico. El Developer mode completo te permite exponer herramientas arbitrarias, así que esa restricción de dos herramientas solo aplica a la ruta de deep research.
Por qué CrawlForge necesita un wrapper
CrawlForge se distribuye como un MCP server stdio local (vía npx) más una REST API en https://www.crawlforge.dev/api/v1/tools/. Ninguno es una URL MCP remota, y sus herramientas se llaman search_web, fetch_url y extract_content -- no el par search/fetch que espera el modo deep research de ChatGPT.
Por eso hoy no puedes pegar CrawlForge directamente en ChatGPT. La vía práctica es un wrapper MCP remoto ligero: un pequeño servidor que alojas tú, que expone herramientas con la forma que ChatGPT espera y llama a la REST API de CrawlForge entre bastidores. Son unas 30 líneas.
Construye el puente: un wrapper MCP remoto
FastMCP (Python) es la forma más rápida de levantar un MCP server remoto con las herramientas search y fetch que ChatGPT quiere. Cada herramienta llama a la REST API de CrawlForge usando tu clave cf_live_ en la cabecera X-API-Key:
# server.py
import os
import httpx
from fastmcp import FastMCP
mcp = FastMCP("CrawlForge Bridge")
BASE = "https://www.crawlforge.dev/api/v1/tools"
HEADERS = {"X-API-Key": os.environ["CRAWLFORGE_API_KEY"]}
@mcp.tool()
async def search(query: str) -> list[dict]:
"""Search the web. Returns id/title/url results for ChatGPT."""
async with httpx.AsyncClient(timeout=30) as client:
r = await client.post(f"{BASE}/search_web", headers=HEADERS,
json={"query": query, "limit": 10})
results = r.json().get("results", [])
return [{"id": x["link"], "title": x["title"], "url": x["link"]} for x in results]
@mcp.tool()
async def fetch(id: str) -> dict:
"""Fetch full page content by id (the URL) for ChatGPT."""
async with httpx.AsyncClient(timeout=30) as client:
r = await client.post(f"{BASE}/extract_content", headers=HEADERS,
json={"url": id})
data = r.json()
return {"id": id, "title": data.get("title", id),
"text": data.get("content", ""), "url": id}
if __name__ == "__main__":
mcp.run(transport="http", host="0.0.0.0", port=8000)Ejecútalo y luego expónlo por HTTPS. Para una prueba rápida, haz un túnel a tu puerto local:
pip install fastmcp httpx
export CRAWLFORGE_API_KEY="cf_live_your_key_here"
python server.py
# in another terminal:
ngrok http 8000Para el Developer mode puedes saltarte los nombres search/fetch y, en su lugar, mapear las herramientas una a una con CrawlForge -- expón scrape_structured, stealth_mode o deep_research directamente. El patrón del wrapper es el mismo.
Añade el connector en ChatGPT
- Abre Settings -> Apps & Connectors -> Advanced y activa el Developer mode.
- Ve a Apps & Connectors -> Create.
- Pega tu URL MCP pública por HTTPS (por ejemplo, tu URL de ngrok más
/mcp), ponle un nombre y elige un método de auth. - Marca la casilla "I trust this application".
Tus herramientas search y fetch ya aparecen. En un chat, selecciona el connector y pídele a ChatGPT que investigue un tema -- llamará a search y luego hará fetch de los resultados más relevantes a través de CrawlForge.
Auth y seguridad
Los connectors se autentican con none (público) u OAuth -- no hay una opción sencilla de cabecera de API key en la interfaz de ChatGPT, que es precisamente por lo que el wrapper guarda tu clave de CrawlForge en el lado del servidor. ChatGPT también te pide confirmar antes de las acciones de escritura, y puedes inspeccionar el payload de cada llamada de herramienta antes de aprobarla.
Tómate en serio las advertencias de OpenAI: conecta solo servidores en los que confíes. Un connector personalizado aumenta el riesgo, incluida la inyección de prompts, y un error del modelo en una acción de escritura podría destruir o filtrar datos. Un puente de scraping de solo lectura como el de arriba es de bajo riesgo; protégelo con OAuth antes de compartirlo.
Una alternativa más simple
Si prefieres no alojar nada, usa CrawlForge desde código con el OpenAI Agents SDK o la Responses API -- sin necesidad de un MCP server remoto. Consulta CrawlForge con el OpenAI Agents SDK para esa vía, y la guía completa del web scraping con MCP para tener la visión de conjunto.
Consigue una API key gratuita de CrawlForge -- 1.000 credits, sin tarjeta de crédito, y conéctala a tu puente en minutos.
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.