CrawlForge
InicioPlaygroundCasos de usoIntegracionesPreciosDocumentaciónBlog
Cómo crear un asistente de investigación con IA usando Claude y MCP
Use Cases
Volver al blog
Casos de uso

Cómo crear un asistente de investigación con IA usando Claude y MCP

C
CrawlForge Team
Equipo de Ingeniería
2 de enero de 2026
12 min de lectura
Actualizado 14 de abril de 2026

En esta página

Imagina un asistente de investigación con IA capaz de:

  • Buscar en la web fuentes relevantes
  • Extraer y verificar información de múltiples sitios web
  • Cruzar datos para garantizar la precisión
  • Sintetizar los hallazgos en un resumen coherente con citas

Con Claude, el Model Context Protocol (MCP) y CrawlForge, puedes construir esto en una tarde. Esta guía te lleva por la arquitectura, la implementación y las consideraciones de producción.

La visión: investigar como un humano

Los LLM tradicionales están limitados a sus datos de entrenamiento. Cuando le haces una pregunta a GPT-4 o a Claude, solo pueden recordar lo que han visto antes. Pero los humanos no funcionamos así: buscamos, leemos, verificamos y sintetizamos información nueva.

Un asistente de investigación con IA debería:

  1. Entender la intención - Descomponer consultas complejas en temas buscables
  2. Descubrir fuentes - Encontrar páginas web, documentación y artículos relevantes
  3. Extraer información - Sacar datos, citas y cifras clave
  4. Verificar la precisión - Contrastar la información entre varias fuentes
  5. Sintetizar resultados - Combinar los hallazgos en una respuesta clara y con citas

Vamos a construirlo.

Resumen de la arquitectura

Nuestro asistente de investigación tiene tres capas:

┌─────────────────────────────────────────────────┐ │ LLM Layer (Claude/GPT-4) │ │ - Query understanding │ │ - Source relevance scoring │ │ - Information synthesis │ └─────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────┐ │ MCP Server (CrawlForge) │ │ - search_web (5 credits) │ │ - extract_content (2 credits) │ │ - deep_research (10 credits) │ └─────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────┐ │ Web Data Layer │ │ - Google Search results │ │ - Website content │ │ - Structured data │ └─────────────────────────────────────────────────┘

Flujo de datos:

  1. El usuario envía una consulta de investigación
  2. El LLM expande la consulta en términos de búsqueda
  3. CrawlForge busca en la web y extrae el contenido
  4. El LLM verifica y sintetiza la información
  5. Devuelve una respuesta estructurada con citas

Configurar el proyecto

Usaremos TypeScript, la API de Claude (u OpenAI) y el MCP server de CrawlForge.

Requisitos previos

Bash
node -v  # 18+ required
npm -v   # 9+ required

Inicializa el proyecto

Bash
mkdir ai-research-assistant
cd ai-research-assistant
npm init -y
npm install @anthropic-ai/sdk dotenv
npm install --save-dev typescript @types/node tsx
npx tsc --init

Configuración del entorno

Crea .env:

Bash
# Claude API (or use OPENAI_API_KEY)
ANTHROPIC_API_KEY=sk-ant-xxxxx

# CrawlForge API
CRAWLFORGE_API_KEY=cf_live_xxxxx

Consigue tu API key de CrawlForge en crawlforge.dev/signup (1.000 credits gratis).

Implementar el flujo de investigación

1. Comprensión de la consulta

Primero, necesitamos expandir las consultas del usuario en términos de búsqueda efectivos.

Typescript
// src/research/query-processor.ts
import Anthropic from '@anthropic-ai/sdk';

interface QueryExpansion {
  original: string;
  searchTerms: string[];
  intent: 'factual' | 'comparative' | 'tutorial' | 'news';
  depth: 'shallow' | 'moderate' | 'deep';
}

export async function expandQuery(
  query: string,
  anthropic: Anthropic
): Promise<QueryExpansion> {
  const response = await anthropic.messages.create({
    model: 'claude-3-5-sonnet-20241022',
    max_tokens: 500,
    messages: [{
      role: 'user',
      content: `Analyze this research query and return JSON:
Query: "${query}"

Return:
{
  "searchTerms": ["term1", "term2", "term3"],
  "intent": "factual|comparative|tutorial|news",
  "depth": "shallow|moderate|deep"
}

Search terms should be optimized for web search.`
    }]
  });

  const content = response.content[0];
  if (content.type !== 'text') throw new Error('Unexpected response');

  const parsed = JSON.parse(content.text);

  return {
    original: query,
    searchTerms: parsed.searchTerms,
    intent: parsed.intent,
    depth: parsed.depth
  };
}

2. Búsqueda web y extracción de contenido

A continuación, buscamos fuentes relevantes y extraemos su contenido.

Typescript
// src/research/web-scraper.ts
interface Source {
  url: string;
  title: string;
  snippet: string;
  content: string;
  extractedAt: Date;
}

export async function findSources(
  searchTerms: string[],
  apiKey: string
): Promise<Source[]> {
  const sources: Source[] = [];

  for (const term of searchTerms) {
    // Use search_web tool (5 credits per search)
    const searchResponse = await fetch('https://crawlforge.dev/api/v1/tools/search_web', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${apiKey}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        query: term,
        limit: 5  // Top 5 results per term
      })
    });

    const searchData = await searchResponse.json();
    const results = searchData.results || [];

    // Extract content from each result (2 credits per URL)
    for (const result of results) {
      const contentResponse = await fetch('https://crawlforge.dev/api/v1/tools/extract_content', {
        method: 'POST',
        headers: {
          'Authorization': `Bearer ${apiKey}`,
          'Content-Type': 'application/json'
        },
        body: JSON.stringify({
          url: result.url
        })
      });

      const contentData = await contentResponse.json();

      sources.push({
        url: result.url,
        title: result.title,
        snippet: result.snippet,
        content: contentData.content || '',
        extractedAt: new Date()
      });
    }
  }

  return sources;
}

Coste en credits:

  • 3 términos de búsqueda × 5 credits = 15 credits
  • 15 fuentes × 2 credits = 30 credits
  • Total: 45 credits por consulta de investigación

3. Verificación de la información

Cruza los datos entre fuentes para verificar su precisión.

Typescript
// src/research/verifier.ts
interface VerifiedFact {
  claim: string;
  confidence: 'high' | 'medium' | 'low';
  sources: string[];
  conflicts?: string[];
}

export async function verifyInformation(
  sources: Source[],
  anthropic: Anthropic
): Promise<VerifiedFact[]> {
  const sourceTexts = sources.map((s, i) =>
    `[Source ${i + 1}: ${s.url}]
${s.content.slice(0, 1000)}`
  ).join('

');

  const response = await anthropic.messages.create({
    model: 'claude-3-5-sonnet-20241022',
    max_tokens: 2000,
    messages: [{
      role: 'user',
      content: `Extract and verify key facts from these sources. Return JSON:

${sourceTexts}

Return:
{
  "facts": [
    {
      "claim": "factual claim",
      "confidence": "high|medium|low",
      "sources": [1, 2],  // Source indices that support this
      "conflicts": ["conflicting information if any"]
    }
  ]
}`
    }]
  });

  const content = response.content[0];
  if (content.type !== 'text') throw new Error('Unexpected response');

  const parsed = JSON.parse(content.text);

  return parsed.facts.map((fact: any) => ({
    claim: fact.claim,
    confidence: fact.confidence,
    sources: fact.sources.map((i: number) => sources[i - 1]?.url || ''),
    conflicts: fact.conflicts
  }));
}

¿Qué viene ahora?

Ahora que has construido un asistente de investigación básico, puedes:

  1. Añadir streaming - Transmitir los resultados a medida que se encuentran para mejorar la UX
  2. Almacenar resultados - Guardar la investigación en una base de datos para recuperarla más tarde
  3. Construir una interfaz - Crear una interfaz web con Next.js o React
  4. Añadir webhooks - Recibir notificaciones cuando la investigación finalice
  5. Afinar los prompts - Optimizarlos para tu caso de uso específico

Recursos

  • Documentación de la API de CrawlForge
  • Herramienta Deep Research
  • Guía de optimización de credits

Empieza a construir: consigue 1.000 credits gratis 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

AI ResearchMCPLLM ApplicationsData Extraction

Sobre el autor

C

CrawlForge Team

Equipo de Ingeniería

Construimos el MCP server de web scraping más completo. Creamos herramientas que ayudan a los desarrolladores a extraer, analizar y transformar datos web para aplicaciones de IA.

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.

Ponlo en práctica

Prueba las herramientas de CrawlForge en cualquier URL — gratis, sin registro.

En esta página

Artículos relacionados

Haz scraping de Amazon, LinkedIn y 8 sitios más con una sola herramienta
Use Cases

Haz scraping de Amazon, LinkedIn y 8 sitios más con una sola herramienta

scrape_template te da scrapers prediseñados y mantenidos para los 10 sitios que todo el mundo quiere. Una llamada, JSON estructurado, 1 credit.

C
CrawlForge Team
|
27 may
|
8m
Extracción de datos de productos de e-commerce a escala
Use Cases

Extracción de datos de productos de e-commerce a escala

Extrae datos de productos de miles de páginas de e-commerce con CrawlForge. Construye catálogos, monitorea el inventario y alimenta motores de comparación a escala.

C
CrawlForge Team
|
18 abr
|
10m
Crea un agente de investigación con CrawlForge Deep Research
Use Cases

Crea un agente de investigación con CrawlForge Deep Research

Crea un agente de investigación con IA que recopila, verifica y sintetiza información de decenas de fuentes en minutos usando deep_research de CrawlForge.

C
CrawlForge Team
|
16 abr
|
10m

Pie de página

CrawlForge

Web scraping empresarial para agentes de IA. 27 herramientas MCP especializadas diseñadas para desarrolladores modernos que crean sistemas inteligentes.

Producto

  • Funciones
  • Playground
  • Precios
  • Casos de uso
  • Integraciones
  • Alternativas
  • Registro de cambios

Recursos

  • Primeros pasos
  • Referencia de la API
  • Plantillas
  • Guías
  • Blog
  • Glosario
  • Preguntas frecuentes
  • Mapa del sitio

Desarrolladores

  • Protocolo MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Empresa

  • Acerca de
  • Contacto
  • Privacidad
  • Términos
  • Uso aceptable
  • Cookies

Mantente al día

Recibe las últimas novedades sobre nuevas herramientas y funciones.

Creado con Next.js y el protocolo MCP

© 2025-2026 CrawlForge. Todos los derechos reservados.