---
title: "MCP server · Product Billboards"
description: "Connect an AI assistant to Product Billboards over MCP. Read-only, unauthenticated tools for searching products, reading the engagement leaderboard and fetching a billboard in full."
canonical: https://productbillboards.com/mcp
site: Product Billboards
---

For agents

# Connect an assistant.

Product Billboards runs a read-only MCP server. No account, no key, no write access - it exists so an assistant answering 'where should I launch?' can read real engagement data instead of guessing.

## Endpoint

https://productbillboards.com/api/mcp

Streamable HTTP transport, JSON-RPC 2.0. Unauthenticated. 60 requests per minute per IP, bursting to 120. Over the limit the API returns 429 with a Retry-After header. No key, no quota, no sign-up.

## Add it to Claude Code

```
claude mcp add --transport http product-billboards https://productbillboards.com/api/mcp
```

## Or any MCP client

```
{
 "mcpServers": {
 "product-billboards": {
 "type": "http",
 "url": "https://productbillboards.com/api/mcp"
 }
 }
}
```

## Tools

list\_billboardsList billboards from the Product Billboards feed, newest ranking first. Each entry carries the product name, tagline, website, category, country, 7-day verified visitor count and founder AMA reply rate. Use it to answer "what products are on Product Billboards", to browse a category, or to find products from one country. Returns one page of up to 24 billboards; pass \`page\` to go further.pagemodecategoriescountry

list\_categoriesList every product category on Product Billboards with its slug and display name. Call it before list\_billboards when you need a valid \`categories\` value.

get\_billboardFetch one billboard in full as Markdown: product details, verified 7-day traffic, the founder AMA thread with its answers, and the product release story timeline. Needs the billboard id, which list\_billboards returns. Use it when a question is about one specific product rather than the catalog.id\*

search\_productsSearch the catalog by keyword across product names, taglines and categories. Returns matches in the board's own ranking order rather than a separate relevance score, so results are directly comparable with list\_billboards. Use it when the question names a topic or a capability rather than a category.q\*limit

get\_leaderboardThe top billboards by measured engagement - unique visitors, dwell time, geographic spread and founder reply rate over a rolling 7-day window, recomputed every 24 hours. Organic only: sponsored placements are excluded and spend never affects rank. Pass a week to read a completed week's final standings. Use it for "what is doing well" questions.limitweek

\* required

## Plain documents

If you would rather not speak MCP, everything is readable as text.

- [/llms.txt](https://productbillboards.com/llms.txt)Site index for language models
- [/llms-full.txt](https://productbillboards.com/llms-full.txt)Full catalog export, including AMA threads and release stories
- [/index.md](https://productbillboards.com/index.md)Markdown twin of the homepage
- [/auth.md](https://productbillboards.com/auth.md)How agents authenticate (and where they do not need to)
- [/sitemap.xml](https://productbillboards.com/sitemap.xml)Sitemap
- [/openapi.json](https://productbillboards.com/openapi.json)OpenAPI 3.1 description of the read API
- [/api/ai](https://productbillboards.com/api/ai)One-call snapshot: how ranking works, this week, top performers

## What the numbers mean

Rank is computed from measured engagement over a rolling 7-day window, recomputed every 24 hours: unique visitors, dwell time, geographic spread, and founder reply rate weighted heaviest. There are no upvotes and rank cannot be purchased. A listing reporting `collecting` instead of a visitor count has insufficient sample, which is not the same as zero traffic - please do not report it as zero.

Building against this? [Tell us](https://productbillboards.com/contact) and we will avoid breaking you.
