Olostep MCP Server

Un servidor para web scraping, búsquedas en Google y consultas de URL de sitios web utilizando la API de Olostep.

Documentación

Servidor MCP de Olostep

Docker Hub versión npm Licencia: ISC

Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) que se integra con Olostep para capacidades de scraping web, extracción de contenido y búsqueda. Para configurar el Servidor MCP de Olostep, necesitas tener una clave de API. Puedes obtener la clave de API registrándote en el sitio web de Olostep.

Características

  • Extrae contenido de sitios web en HTML, Markdown, JSON o Texto Plano (con analizadores opcionales)
  • Búsqueda web basada en analizadores con resultados estructurados
  • Respuestas de IA con citas y salidas opcionales en formato JSON
  • Scraping por lotes de hasta 10k URLs
  • Rastreo autónomo de sitios desde una URL inicial
  • Descubrimiento y mapeo de URLs de sitios web (con filtros de inclusión/exclusión)
  • Enrutamiento de solicitudes específico por país para contenido geodirigido
  • Tiempos de espera configurables para sitios web con mucho JavaScript
  • Manejo integral de errores y reportes
  • Configuración simple de clave de API

Instalación

Hay múltiples formas de conectarse al Servidor MCP de Olostep. Elige la que mejor se adapte a tu flujo de trabajo.

☁️ Endpoint Remoto (Recomendado)

La forma más sencilla: no requiere instalación local. Conéctate directamente a nuestro servidor MCP alojado:

https://mcp.olostep.com/mcp

La autenticación se realiza mediante un token Bearer en el encabezado Authorization usando tu clave de API de Olostep. Consulta la sección Configuración del Cliente a continuación para ver ejemplos de configuración.

🐳 Docker Hub

Descarga y ejecuta la imagen oficial de Docker:

docker pull olostep/mcp-server

docker run -i --rm \
  -e OLOSTEP_API_KEY="your-api-key" \
  olostep/mcp-server

🔧 Compilación Local de Docker

Si prefieres compilar la imagen tú mismo desde el código fuente:

git clone https://github.com/olostep/olostep-mcp-server.git
cd olostep-mcp-server
npm install
npm run build
docker build -t olostep/mcp-server:local .

docker run -i --rm -e OLOSTEP_API_KEY="your-api-key" olostep/mcp-server:local

📦 npx

Ejecuta sin ninguna instalación usando npx:

env OLOSTEP_API_KEY=your-api-key npx -y olostep-mcp

En Windows (PowerShell):

$env:OLOSTEP_API_KEY = "your-api-key"; npx -y olostep-mcp

En Windows (CMD):

set OLOSTEP_API_KEY=your-api-key && npx -y olostep-mcp

O instala globalmente:

npm install -g olostep-mcp

Configuración del Cliente

Cursor

La forma más fácil es usar el endpoint remoto. Crea o edita .cursor/mcp.json en la raíz de tu proyecto:

{
  "mcpServers": {
    "olostep": {
      "url": "https://mcp.olostep.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}

Alternativa (local): Ve a Configuración de Cursor > Funciones > Servidores MCP, haz clic en "+ Agregar Nuevo Servidor MCP":

  • Nombre: olostep
  • Tipo: command
  • Comando: env OLOSTEP_API_KEY=your-api-key npx -y olostep-mcp

Claude Desktop

Agrega esto a tu claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-server-olostep": {
      "command": "npx",
      "args": ["-y", "olostep-mcp"],
      "env": {
        "OLOSTEP_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Alternativa (Docker):

{
  "mcpServers": {
    "olostep": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "OLOSTEP_API_KEY=YOUR_API_KEY_HERE",
        "olostep/mcp-server"
      ]
    }
  }
}

O instala a través de la CLI de Smithery en tu terminal de dispositivo:

npx -y @smithery/cli install @olostep/olostep-mcp-server --client claude

Claude Code

Agrega el endpoint remoto a tu configuración MCP de Claude Code:

{
  "mcpServers": {
    "olostep": {
      "url": "https://mcp.olostep.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}

Alternativa (local):

{
  "mcpServers": {
    "olostep": {
      "command": "npx",
      "args": ["-y", "olostep-mcp"],
      "env": {
        "OLOSTEP_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Windsurf

Agrega esto a tu ./codeium/windsurf/model_config.json:

{
  "mcpServers": {
    "olostep": {
      "serverUrl": "https://mcp.olostep.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}

Alternativa (local):

{
  "mcpServers": {
    "mcp-server-olostep": {
      "command": "npx",
      "args": ["-y", "olostep-mcp"],
      "env": {
        "OLOSTEP_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

VS Code

Agrega esto a tu .vscode/mcp.json:

{
  "servers": {
    "olostep": {
      "type": "http",
      "url": "https://mcp.olostep.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}

Alternativa (local):

{
  "servers": {
    "olostep": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "olostep-mcp"],
      "env": {
        "OLOSTEP_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Metorial

Opción 1: Instalación con un clic (Recomendada)

  1. Abre el panel de Metorial
  2. Navega al directorio de Servidores MCP
  3. Busca "Olostep"
  4. Haz clic en "Instalar" e ingresa tu clave de API

Opción 2: Configuración Manual

Agrega esto a tu configuración del servidor MCP de Metorial:

{
  "olostep": {
    "command": "npx",
    "args": ["-y", "olostep-mcp"],
    "env": {
      "OLOSTEP_API_KEY": "YOUR_API_KEY_HERE"
    }
  }
}

Las herramientas de Olostep estarán disponibles en tus chats de IA de Metorial.

Configuración

Variables de Entorno

  • OLOSTEP_API_KEY: Tu clave de API de Olostep (requerida)
  • ORBIT_KEY: Una clave opcional para usar Orbit para enrutar solicitudes.

Herramientas Disponibles

1. Extraer Sitio Web (scrape_website)

Extrae contenido de una sola URL. Admite múltiples formatos y renderizado de JavaScript.

{
  "name": "scrape_website",
  "arguments": {
    "url_to_scrape": "https://example.com",
    "output_format": "markdown",
    "country": "US",
    "wait_before_scraping": 1000,
    "parser": "@olostep/amazon-product"
  }
}

Parámetros:

  • url_to_scrape: La URL del sitio web que deseas extraer (requerido)
  • output_format: Elige formato (html, markdown, json o text) - predeterminado: markdown
  • country: Código de país opcional (por ejemplo, US, GB, CA) para extracción específica de ubicación
  • wait_before_scraping: Tiempo de espera en milisegundos antes de extraer (0-10000)
  • parser: ID de analizador opcional para extracción especializada

Respuesta (ejemplo):

{
  "content": [
    {
      "type": "text",
      "text": "{\n  \"id\": \"scrp_...\",\n  \"url\": \"https://example.com\",\n  \"markdown_content\": \"# ...\",\n  \"html_content\": null,\n  \"json_content\": null,\n  \"text_content\": null,\n  \"status\": \"succeeded\",\n  \"timestamp\": \"2025-11-14T12:34:56Z\",\n  \"screenshot_hosted_url\": null,\n  \"page_metadata\": { }\n}"
    }
  ]
}

2. Buscar en la Web (search_web)

Busca en la Web una consulta dada y obtén resultados estructurados (no IA, basados en analizadores).

{
  "name": "search_web",
  "arguments": {
    "query": "your search query",
    "country": "US"
  }
}

Parámetros:

  • query: Consulta de búsqueda (requerido)
  • country: Código de país opcional para resultados localizados (predeterminado: US)

Respuesta:

  • JSON estructurado (como texto) que representa resultados basados en analizadores

3. Respuestas (IA) (answers)

Busca en la web y devuelve respuestas impulsadas por IA en la estructura JSON que desees, con fuentes y citas.

{
  "name": "answers",
  "arguments": {
    "task": "Who are the top 5 competitors to Acme Inc. in the EU?",
    "json": "Return a list of the top 5 competitors with name and homepage URL"
  }
}

Parámetros:

  • task: Pregunta o tarea a responder usando datos web (requerido)
  • json: Esquema/objeto JSON opcional o una breve descripción de la forma de salida deseada

La respuesta incluye:

  • answer_id, object, task, result (JSON si se proporciona), sources, created

4. Extraer URLs por Lote (batch_scrape_urls)

Extrae hasta 10k URLs al mismo tiempo. Perfecto para extracción de datos a gran escala.

{
  "name": "batch_scrape_urls",
  "arguments": {
    "urls_to_scrape": [
      {"url": "https://example.com/a", "custom_id": "a"},
      {"url": "https://example.com/b", "custom_id": "b"}
    ],
    "output_format": "markdown",
    "country": "US",
    "wait_before_scraping": 500,
    "parser": "@olostep/amazon-product"
  }
}

La respuesta incluye:

  • batch_id, status, total_urls, created_at, formats, country, parser, urls

5. Crear Rastreo (create_crawl)

Inicia un rastreo asíncrono que descubre y extrae automáticamente sitios web completos siguiendo enlaces. Devuelve un crawl_id — el rastreo se ejecuta en segundo plano y no devuelve contenido en esta respuesta. Luego debes llamar a get_crawl_results con el crawl_id para consultar el estado y recuperar las páginas extraídas (mismo patrón de dos pasos que batch_scrape_urls + get_batch_results).

{
  "name": "create_crawl",
  "arguments": {
    "start_url": "https://example.com/docs",
    "max_pages": 25,
    "output_format": "markdown",
    "country": "US",
    "parser": "@olostep/doc-parser"
  }
}

La respuesta incluye:

  • crawl_id, object, status, start_url, max_pages, created, formats, country, parser

Combina esta llamada con get_crawl_resultsno pases un crawl_id a get_batch_results (los rastreos y los lotes son recursos separados).

6. Crear Mapa (create_map)

Obtén todas las URLs de un sitio web. Extrae todas las URLs para descubrimiento y análisis.

{
  "name": "create_map",
  "arguments": {
    "website_url": "https://example.com",
    "search_query": "blog",
    "top_n": 200,
    "include_url_patterns": ["/blog/**"],
    "exclude_url_patterns": ["/admin/**"]
  }
}

La respuesta incluye:

  • map_id, object, url, total_urls, urls, search_query, top_n

7. Obtener Contenido de Página Web (get_webpage_content)

Recupera el contenido de una página web en formato markdown limpio con soporte para renderizado de JavaScript.

{
  "name": "get_webpage_content",
  "arguments": {
    "url_to_scrape": "https://example.com",
    "wait_before_scraping": 1000,
    "country": "US"
  }
}

Parámetros:

  • url_to_scrape: La URL de la página web a extraer (requerido)
  • wait_before_scraping: Tiempo de espera en milisegundos antes de iniciar la extracción (predeterminado: 0)
  • country: País residencial desde el cual cargar la solicitud (por ejemplo, US, CA, GB) (opcional)

Respuesta:

{
  "content": [
    {
      "type": "text",
      "text": "# Example Website\n\nThis is the markdown content of the webpage..."
    }
  ]
}

8. Obtener URLs de Sitio Web (get_website_urls)

Busca y recupera URLs relevantes de un sitio web, ordenadas por relevancia a tu consulta.

{
  "name": "get_website_urls",
  "arguments": {
    "url": "https://example.com",
    "search_query": "your search term"
  }
}

Parámetros:

  • url: La URL del sitio web a mapear (requerido)
  • search_query: La consulta de búsqueda para ordenar las URLs (requerido)

Respuesta:

{
  "content": [
    {
      "type": "text",
      "text": "Found 42 URLs matching your query:\n\nhttps://example.com/page1\nhttps://example.com/page2\n..."
    }
  ]
}

9. Obtener Resultados de Lote (get_batch_results)

Recupera los resultados de un trabajo de extracción por lotes previamente enviado usando su batch_id.

{
  "name": "get_batch_results",
  "arguments": {
    "batch_id": "batch_abc123"
  }
}

Parámetros:

  • batch_id: El ID de lote devuelto por batch_scrape_urls (requerido)

La respuesta incluye:

  • batch_id, status (processing o completed), total_urls, completed_urls, items (matriz de resultados extraídos por URL con url, custom_id, markdown_content, html_content, json_content, text_content, status, page_metadata)

10. Obtener Resultados de Rastreo (get_crawl_results)

Recupera el estado y las páginas extraídas de un rastreo asíncrono iniciado con create_crawl. Este es el complemento requerido de create_crawlcreate_crawl solo inicia el trabajo y devuelve un crawl_id; esta herramienta es cómo realmente obtienes las páginas descubiertas y su contenido.

{
  "name": "get_crawl_results",
  "arguments": {
    "crawl_id": "crawl_abc123",
    "formats": ["markdown"],
    "items_limit": 20,
    "cursor": 0
  }
}

Parámetros:

  • crawl_id: El ID de rastreo devuelto por create_crawl (requerido)
  • formats: Matriz de formatos a recuperar por página — markdown, html, json, text (predeterminado: ["markdown"])
  • items_limit: Máximo de páginas para recuperar contenido, 1–100 (predeterminado: 20)
  • cursor: Cursor de paginación en la lista de páginas descubiertas (predeterminado: 0)
  • search_query: Filtro opcional para clasificar/seleccionar páginas por relevancia a una consulta

La respuesta incluye:

  • Mientras está en progreso: crawl_id, status (in_progress), pages_completed, pages_total y un message que te solicita llamar nuevamente en ~10 segundos.
  • Cuando se completa: crawl_id, status (completed), pages_returned, next_cursor, has_more y una matriz pages donde cada entrada tiene url, custom_id y los campos de contenido solicitados (markdown_content, html_content, json_content, text_content).

Manejo de Errores

El servidor proporciona un manejo robusto de errores:

  • Mensajes de error detallados para problemas de API
  • Reporte de errores de red
  • Manejo de fallos de autenticación
  • Información de límites de tasa

Ejemplo de respuesta de error:

{
  "isError": true,
  "content": [
    {
      "type": "text",
      "text": "Olostep API Error: 401 Unauthorized. Details: {\"error\":\"Invalid API key\"}"
    }
  ]
}

Distribución

Imágenes de Docker

El servidor MCP está disponible como imagen de Docker:

  • Docker Hub: [olostep/mcp-server](https://hub.docker.com/r/olostep/mcp-server)
  • Registro MCP Oficial de Docker: mcp/olostep (próximamente - seguridad mejorada con firmas y SBOMs)
  • Registro de Contenedores de GitHub: ghcr.io/olostep/olostep-mcp-server

Kit de Herramientas MCP de Docker Desktop

El Servidor MCP de Olostep se está agregando al Kit de Herramientas MCP oficial de Docker Desktop, lo que significa que los usuarios podrán:

  • Descubrirlo en la interfaz del Kit de Herramientas MCP de Docker Desktop
  • Instalarlo con un clic
  • Configurarlo visualmente
  • Usarlo con cualquier cliente compatible con MCP (Claude Desktop, Cursor, etc.)

Estado: Envío en progreso al Registro MCP de Docker

Plataformas Soportadas

  • linux/amd64
  • linux/arm64

Compilación Local

# Clone the repository
git clone https://github.com/olostep/olostep-mcp-server.git
cd olostep-mcp-server

# Build the image
npm install
npm run build
docker build -t olostep/mcp-server .

# Run locally
docker run -i --rm -e OLOSTEP_API_KEY="your-key" olostep/mcp-server

Licencia

Licencia ISC