ServerSearcher MCP

Busca y compara planes de servidores dedicados, VPS, GPU y en la nube entre muchos proveedores de hosting: filtra por numerosos parámetros, incluyendo especificaciones, ubicación, precio, stock y capacidades del proveedor.

Servidor MCP alojado

npx add-mcp 'https://www.serversearcher.com/api/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

ServerSearcher — Referencia de API para agentes de IA

URL base: https://www.serversearcher.com

Búsqueda de texto plano (recomendada para LLMs)

curl -s "https://www.serversearcher.com/api/hostingsearch/search?format=text&type=dedicated&sortConfig=priceAsc&pageSize=20"

curl -s "https://www.serversearcher.com/api/hostingsearch/search?format=text&type=dedicated&maxPrice=200&minRam=32"

La respuesta es texto plano UTF-8 con:

  • Filtros activos reflejados al inicio
  • Conteo total de coincidencias
  • Cada plan con la página del proveedor y las URL de pago de afiliado

API de búsqueda JSON

curl -s "https://www.serversearcher.com/api/hostingsearch/search?type=dedicated&maxPrice=200&pageSize=20"

curl -s -X POST "https://www.serversearcher.com/api/hostingsearch/search" \
  -H "Content-Type: application/json" \
  -d '{"type":["dedicated"],"maxPrice":"200","pageSize":20,"sortConfig":"priceAsc"}'

Tabla de resultados de búsqueda HTML (secundaria)

La página GET /servers/search/?type=dedicated&maxPrice=200 renderiza en el servidor una <table id="server-search-crawler-results"> que contiene la primera página de planes coincidentes (proveedor, plan, especificaciones, ubicación, precio mensual). La tabla está en el HTML de cada solicitud — no se requiere JavaScript para leerla — y los parámetros de consulta cambian la salida renderizada en el servidor. Usa la API format=text anterior cuando necesites más de la primera página.

Parámetros

ParámetroTipoDescripción
formatstringEstablecer a text para respuestas de texto plano (solo GET)
typestring[]Tipos de plan: dedicated, virtual, cloud, etc.
minRamstringRAM mínima (GB)
minCpuCoresstringNúcleos de CPU mínimos
cpuModelstringSubcadena del modelo de CPU (p. ej. EPYC); * y ? son comodines
maxPricestringPrecio mensual máximo
locationstring[]UUID de ciudad, código de país (p. ej. US) o US-new-york
providerstring[]IDs de proveedores
sortConfigstringpriceAsc, priceDesc, ramAsc, ramDesc, cpuAsc, cpuDesc, …
pagenumberNúmero de página (por defecto 1)
pageSizenumberResultados por página (por defecto 50, máximo 150)
hasTerraformbooleantrue para filtrar proveedores compatibles con Terraform

Forma de la respuesta JSON

Tanto la forma GET como POST de /api/hostingsearch/search devuelven el mismo objeto:

{
  "plans": [
    {
      "id": "…",
      "name": "…",
      "description": "…",
      "type": "dedicated",
      "cpuCores": 8,
      "cpuThreads": 16,
      "cpuModel": "…",
      "cpuFrequency": 3.4,
      "ram": 64,
      "includedBandwidthQuota": 20,
      "portSpeed": 1000,
      "secondPortSpeed": null,
      "additionalDetails": null,
      "directPlanUrl": "…",
      "minMonthlyCostUsd": 129.0,
      "pricePerRamUsd": 2.02,
      "pricePerCpuUsd": 16.13,
      "pricePerRamCpuUsd": 0.25,
      "disks": [{ "id": "…", "capacity": 960, "type": "NVME" }],
      "gpus": [
        {
          "id": "…",
          "model": "…",
          "count": 1,
          "vRAM": 24,
          "architecture": "…",
          "cudaCores": 10752
        }
      ],
      "pricing": [
        {
          "id": "…",
          "monthlyCost": 119.0,
          "hourlyCost": null,
          "currency": "EUR",
          "minimumTerm": 1,
          "setupFee": null,
          "billingCycle": "MONTHLY",
          "usd": {
            "amount": 129.0,
            "rate": 0.92,
            "rateAt": "…",
            "fetchedAt": "…",
            "source": "…"
          }
        }
      ],
      "locations": [
        {
          "locationId": "…",
          "qty": 4,
          "name": "…",
          "cityId": "…",
          "city": "Amsterdam",
          "countryIso": "NL",
          "countryName": "Netherlands",
          "facility": null
        }
      ],
      "promoCodes": [
        {
          "id": "…",
          "code": "…",
          "discountAmount": 50,
          "discountType": "…",
          "currency": "USD",
          "credit": null,
          "description": "…",
          "expiresAt": "…"
        }
      ],
      "provider": {
        "id": "…",
        "name": "…",
        "slug": "…",
        "logo": "…",
        "website": "…",
        "terraformProvider": "OFFICIAL"
      }
    }
  ],
  "totalResults": 412,
  "page": 1,
  "pageSize": 50,
  "searchId": "…",
  "exchangeRatesAvailable": true
}

totalResults es el conteo antes de la paginación, por lo que Math.ceil(totalResults / pageSize) es el número de páginas. minMonthlyCostUsd y los tres campos pricePer*Usd están normalizados a USD y son los valores sobre los que el sitio ordena; exchangeRatesAvailable es false cuando la última lectura de FX falló, en cuyo caso esos campos pueden estar desactualizados.

MCP

Endpoint: https://www.serversearcher.com/api/mcp Herramienta: search_servers con los mismos campos de filtro que la API JSON. El filtro provider además acepta slugs de organización (p. ej. runpod), resueltos en el servidor — la API JSON en sí solo acepta IDs de proveedores. type incluye gpu aquí también.