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ámetro | Tipo | Descripción |
|---|---|---|
| format | string | Establecer a text para respuestas de texto plano (solo GET) |
| type | string[] | Tipos de plan: dedicated, virtual, cloud, etc. |
| minRam | string | RAM mínima (GB) |
| minCpuCores | string | Núcleos de CPU mínimos |
| cpuModel | string | Subcadena del modelo de CPU (p. ej. EPYC); * y ? son comodines |
| maxPrice | string | Precio mensual máximo |
| location | string[] | UUID de ciudad, código de país (p. ej. US) o US-new-york |
| provider | string[] | IDs de proveedores |
| sortConfig | string | priceAsc, priceDesc, ramAsc, ramDesc, cpuAsc, cpuDesc, … |
| page | number | Número de página (por defecto 1) |
| pageSize | number | Resultados por página (por defecto 50, máximo 150) |
| hasTerraform | boolean | true 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.