ServerSearcher MCP

Tìm kiếm và so sánh các gói máy chủ chuyên dụng, VPS, GPU và đám mây từ nhiều nhà cung cấp dịch vụ lưu trữ - lọc theo nhiều tham số bao gồm thông số kỹ thuật, vị trí, giá cả, tình trạng hàng và khả năng của nhà cung cấp

Máy chủ MCP được lưu trữ

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

Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác

Tài liệu

ServerSearcher — API reference for AI agents

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

Plain-text search (recommended for 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"

Response is UTF-8 plain text with:

  • Active filters echoed at the top
  • Total match count
  • Each plan with provider page and affiliate checkout URLs

JSON search API

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"}'

HTML search results table (secondary)

The page GET /servers/search/?type=dedicated&maxPrice=200 server-renders a <table id="server-search-crawler-results"> containing the first page of matching plans (provider, plan, specs, location, monthly price). The table is in the HTML of every request — no JavaScript is required to read it — and query parameters change the server-rendered output. Use the format=text API above when you need more than the first page.

Parameters

ParameterTypeDescription
formatstringSet to text for plain-text responses (GET only)
typestring[]Plan types: dedicated, virtual, cloud, etc.
minRamstringMinimum RAM (GB)
minCpuCoresstringMinimum CPU cores
cpuModelstringCPU model substring (e.g. EPYC); * and ? are wildcards
maxPricestringMaximum monthly price
locationstring[]City UUID, country code (e.g. US), or US-new-york
providerstring[]Provider IDs
sortConfigstringpriceAsc, priceDesc, ramAsc, ramDesc, cpuAsc, cpuDesc, …
pagenumberPage number (default 1)
pageSizenumberResults per page (default 50, max 150)
hasTerraformbooleantrue to filter Terraform-supported providers

JSON response shape

Both the GET and POST forms of /api/hostingsearch/search return the same object:

{
  "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 is the count before pagination, so Math.ceil(totalResults / pageSize) is the number of pages. minMonthlyCostUsd and the three pricePer*Usd fields are normalised to USD and are the values the site sorts on; exchangeRatesAvailable is false when the latest FX read failed, in which case those fields may be stale.

MCP

Endpoint: https://www.serversearcher.com/api/mcp Tool: search_servers with the same filter fields as the JSON API. The provider filter additionally accepts org slugs (e.g. runpod), resolved server-side — the JSON API itself takes provider ids only. type includes gpu here too.