Skip to content

v1.1.0Beta

MCP server docs

Everything your agent can call on the BestSaaSWebDesigns MCP server, what comes back, the limits, and what to do when something goes wrong. Setting it up? Follow the setup guide.

The MCP server is in beta: tools, fields and limits may change.

https://mcp.bestsaaswebdesigns.com/mcp

Access & limits

Endpoint
https://mcp.bestsaaswebdesigns.com/mcp
Transport
Streamable HTTP
Stateless — no sessions to manage.
Authentication
None
No sign-in, no API key.
Price
Free
Rate limit
30 requests / minute per IP
ChatGPT's and Claude's connector servers share their IPs across users, so they get 300 / minute. Over the limit: HTTP 429 with Retry-After: 60.
Access
Read-only
4 tools; nothing can be changed.
Freshness
About 10 minutes
New and removed sites reach the server within ~10 min of publishing.
Returns
Text + structured JSON
Links and design data — no screenshots.

Tools

Three read-only tools. Each returns a readable text result and the same data as structured JSON (structuredContent).

list_filters

Every category, section, style and stack with its site count and gallery link, plus the 40 most used display fonts. Call it first to learn valid filter values.

No parameters.

Example: list_filters()
{
  "total": 422,
  "categories": [
    {
      "value": "Engineering & Infrastructure",
      "label": "Engineering & Infrastructure",
      "count": 142,
      "page": "https://bestsaaswebdesigns.com/category/engineering-infrastructure?utm_source=mcp&utm_medium=referral"
    },
    {
      "value": "Productivity & Collaboration",
      "label": "Productivity & Collaboration",
      "count": 58,
      "page": "https://bestsaaswebdesigns.com/category/productivity-collaboration?utm_source=mcp&utm_medium=referral"
    }
  ],
  "sections": [
    {
      "value": "footers",
      "label": "Footers",
      "count": 422,
      "page": "https://bestsaaswebdesigns.com/sections/footers?utm_source=mcp&utm_medium=referral"
    },
    {
      "value": "heroes",
      "label": "Heroes",
      "count": 421,
      "page": "https://bestsaaswebdesigns.com/sections/hero-sections?utm_source=mcp&utm_medium=referral"
    }
  ],
  "styles": [
    {
      "value": "light",
      "label": "light",
      "count": 284,
      "page": "https://bestsaaswebdesigns.com/style/light?utm_source=mcp&utm_medium=referral"
    },
    {
      "value": "colorful",
      "label": "colorful",
      "count": 263,
      "page": "https://bestsaaswebdesigns.com/style/colorful?utm_source=mcp&utm_medium=referral"
    }
  ],
  "stacks": [
    {
      "value": "Tailwind CSS",
      "label": "Tailwind CSS",
      "count": 229,
      "page": "https://bestsaaswebdesigns.com/stack/tailwind-css?utm_source=mcp&utm_medium=referral"
    },
    {
      "value": "Next.js",
      "label": "Next.js",
      "count": 206,
      "page": "https://bestsaaswebdesigns.com/stack/nextjs?utm_source=mcp&utm_medium=referral"
    }
  ],
  "fonts": [
    {
      "value": "Inter",
      "count": 57
    },
    {
      "value": "Geist",
      "count": 27
    }
  ]
}

search_sites

Find SaaS marketing websites by any mix of filters and/or free text. Returns the total match count and up to `limit` sites, newest first within equal ranking.

ParameterTypeDescription
queryoptionalstringFree text: product name, industry or idea, e.g. "developer tools".max 200 characters
categoryoptionalstringProduct category, e.g. "AI", "Engineering & Infrastructure".
sectionoptionalstringOnly sites with this section captured, e.g. "pricing", "heroes", "faq".a section key, label or gallery slug
styleoptionalstringVisual style: dark, light, colorful or minimal.
stackoptionalstringTech stack of the marketing site, e.g. "Next.js", "Framer".
fontoptionalstringFont family used on the site (display or body), e.g. "Inter".
coloroptionalstringHex colour; keeps sites with a close colour in their palette, nearest first.#rrggbb
limitoptionalintegerHow many sites to return.1–20, default 8
Example: search_sites(style: "dark", section: "pricing", limit: 1)
{
  "total": 62,
  "page": "https://bestsaaswebdesigns.com/sections/pricing-pages?utm_source=mcp&utm_medium=referral",
  "results": [
    {
      "name": "Linearity",
      "slug": "linearity",
      "description": "Linearity’s AI design generator turns one prompt into a full set of editable, on-brand campaign assets. Every format, every channel, ready to ship.",
      "website": "https://www.linearity.io/?utm_source=bestsaaswebdesigns.com&utm_medium=referral",
      "page": "https://bestsaaswebdesigns.com/site/linearity?utm_source=mcp&utm_medium=referral",
      "categories": [
        "Design & Creative",
        "AI"
      ],
      "style": [
        "dark",
        "colorful"
      ],
      "stack": [
        "Nuxt",
        "Vue",
        "Tailwind CSS"
      ],
      "palette": [
        "#ff4800",
        "#481802",
        "#773804",
        "#ffb714",
        "#a65807"
      ],
      "fonts": {
        "display": [
          "AcidGrotesk"
        ],
        "body": [
          "Inter"
        ]
      },
      "sections": [
        "heroes",
        "features",
        "footers",
        "pricing",
        "about",
        "plans",
        "careers",
        "blog",
        "og",
        "mobile"
      ]
    }
  ]
}

get_site

Everything about one site by slug (from search_sites), plus links to its category, style, stack and section galleries in the text result.

ParameterTypeDescription
slugrequiredstringSite slug, e.g. "linear".1–80 characters
Example: get_site(slug: "linear")
{
  "name": "Linear",
  "slug": "linear",
  "description": "Purpose-built for planning and building products with AI agents.",
  "website": "https://linear.app/?utm_source=bestsaaswebdesigns.com&utm_medium=referral",
  "page": "https://bestsaaswebdesigns.com/site/linear?utm_source=mcp&utm_medium=referral",
  "categories": [
    "Productivity & Collaboration"
  ],
  "style": [
    "dark",
    "minimal"
  ],
  "stack": [
    "Next.js"
  ],
  "palette": [
    "#5e6ad2",
    "#08090b",
    "#242628",
    "#464749",
    "#767878"
  ],
  "fonts": {
    "display": [
      "Inter Variable"
    ],
    "body": []
  },
  "sections": [
    "heroes",
    "features",
    "footers",
    "pricing",
    "cta",
    "about",
    "contact",
    "careers",
    "blog",
    "og",
    "mobile"
  ]
}

Result fields

Every site in a structured result has these fields.

FieldTypeDescription
namestringProduct name.
slugstringID to pass to get_site.
descriptionstringThe site's own one-line description.
websiteurlThe live website (tagged utm_source=bestsaaswebdesigns.com).
pageurlIts page on BestSaaSWebDesigns, with the screenshots.
categoriesstring[]One or more product categories.
stylestring[]Visual style tags: dark, light, colorful, minimal.
stackstring[]Detected tech stack of the marketing site.
palettestring[]Five extracted brand colours as hex.
fonts{ display, body }Detected display and body font families.
sectionsstring[]Section keys we captured (see Filter values).

Filter values

Current values with site counts. list_filters always returns the live list.

How matching works

  • Filters are exact and case-insensitive, and all filters must match.
  • Free-text terms match at the start of words ("dev" finds "developer"); terms of 3 letters or fewer must be whole words, so "ai" doesn't match "Airtable".
  • Name matches rank above matches in the description and tags; ties keep newest sites first.
  • color keeps sites with a palette colour within a perceptual distance of the hex you give, nearest first.
  • section accepts a key (pricing), a label (Pricing) or a gallery slug (pricing-pages), singular or plural.
  • font matches display and body fonts by substring, so "Inter" also finds "Inter Variable".

Errors

WhenResponseWhat to do
More than 30 requests in a minuteHTTP 429, Retry-After: 60Wait for Retry-After, then retry. Prefer fewer, broader searches.
Unknown slugTool error: No site with slug "…". Use search_sites to find slugs.Search first, then pass a slug from the results.
Unknown sectionTool error listing the valid section keysUse a key from list_filters or the table below.
Invalid input (e.g. limit 50, query over 200 chars)Validation errorStay within the parameter constraints.
Catalog briefly unavailableHTTP 503, Retry-After: 30Retry after 30 seconds.

Server version 1.1.0 · reference updated 26 Oct 2026 · IP addresses are used only for rate limiting and are never stored or logged.