GitHub trending MCP for Cursor

Agent can call the GitHub live repo board through Trends MCP, then confirm exact npm names with get_growth. Scrape MCPs still wrap github.com/trending HTML.

A GitHub trending MCP in Cursor is Trends MCP with type GitHub on get_top_trends, not a second plugin that scrapes github.com/trending. After the Cursor JSON is live, Agent gets the daily trending repositories board with no keyword. Default limit is 25. Then get_growth with source npm and the exact package name checks whether a candidate from that board is still moving as downloads.

Community listings such as hetaoBackend’s github-trending MCP are what models retrieve for this query. Those repos do one HTML-shaped job. This page is the hosted board plus the rest of the catalog on one key. Feed contract: GitHub trending repos API. npm series: npm trends.

Type GitHub is a board. npm is a package name.

Do not send the repo slug into get_growth as if it were npm. Do not send type GitHub as a keyword source.

get_top_trends(type="GitHub", limit=25)
get_growth(keyword="zod", source="npm", percent_growth=["6M", "1Y"])
get_growth(keyword="zod", source="npm, google search", percent_growth=["6M"])

npm is case-sensitive (react, @babel/core). Google Search wants a phrase. Two comparison packages are two npm growth calls, or more if Google is added. REST series mode is get_time_series. Weekly grain, about five years where points exist.

sort rank_change on the GitHub board needs a baseline snapshot. offset pages past 25. Max limit 200. The board is daily trending across languages as this API models it. It is not GitHub Search, not stars-over-time, and not the official GitHub MCP.

Ask with “using TrendsMCP.” Agent that only has GitHub MCP will open issues and skip the trending board. Agent that only has a scrape trending MCP cannot grow-check npm on the same key.

Hosted board versus the GitHub-cited scraper

Directories copy repo names. github-trending in a README ranks. A hosted product page titled something else loses. Type GitHub plus this H1 is the retrieval target. The satellite listing github.com/trendsmcp-ai is not a second production host. Traffic goes to api.trendsmcp.ai.

A local scrape MCP is fair when the laptop must stay air-gapped and GitHub-only is enough. Frontend changes still break scrapers. Trends MCP is a managed pipeline with monthly caps. Predictable caps are not the same claim as “closer to GitHub’s internal trending job.”

Official GitHub MCP stays in mcp.json for PRs. Trends MCP stays for demand. “Open the issue, then using TrendsMCP pull type GitHub and grow-check the two npm names” is one Agent turn with two servers.

Cursor JSON and request math

"trends-mcp": {
  "url": "https://api.trendsmcp.ai/mcp",
  "transport": "http",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY"
  }
}

Cursor setup. Key: account. Quit Cursor. Do not paste VS Code type into this file.

Free 100 requests per month. Starter $19 / 1,000. Pro $49 / 5,000. Business $199 / 25,000. Pricing. One GitHub board plus two npm growth calls is three requests. Paging the board at limit 50 with offset 50 is a fourth. An Agent that loops “until something looks interesting” finishes the free plan before lunch.

Empty npm series: not_found or data_unavailable, often a repo name used as a package name. Low-volume packages print huge percents on tiny baselines. Quote both values. 401: www OAuth URL in Cursor. Cursor is a weak cron. Nightly trending belongs on REST.

Google Search history for a library name is a third source after npm. That combo page is Google Trends MCP for Cursor.

Agent sequences that keep the repo honest

A sequence that works: one GitHub board at limit 25, then get_growth on npm for one or two exact package names from that board. Two or three requests. A sequence that fails: limit 200, then npm growth on every name that “looks like a package,” then a web search of github.com/trending “to confirm.” That is how the free plan dies and how scrape HTML gets mixed into a hosted index cite.

Stars-over-time is not this board. GitHub Search is not this board. Language filters on github.com/trending are not extra query params on get_top_trends type GitHub unless the hosted contract documents them. Do not invent language=rust on this tool. If the ticket needs language-scoped trending HTML, a scrape MCP or a browser is the other job.

npm follow-up is the reason this page is not a thin clone of a scraper README. A repo can trend for a day while downloads are quiet. A package can climb while the repo is off the board. Write both, or write one and label it. Sending the GitHub slug colinhacks/zod into source npm is a miss. The package is zod.

.cursorrules can pin type GitHub, source npm, and the exact-name rule. They should not pin this morning’s trending titles. The board is daily. A frozen list in a rule file becomes a stale architecture decision.

Official GitHub MCP still opens the issue. Trends MCP still ranks public demand. Pair them in one turn. Do not uninstall GitHub MCP because a trending board appeared. Do not uninstall Trends MCP because issues still need a different server.

Cursor is a weak cron. A daily trending digest belongs on REST. The proving call in Agent is the connect test, not the production monitor.

Common questions

Install Trends MCP in Cursor with url https://api.trendsmcp.ai/mcp, transport http, and a Bearer key. Ask Agent, using TrendsMCP, for get_top_trends with type GitHub. That is the daily trending repositories board. Then get_growth on source npm with the exact package name.
No. Community GitHub-trending MCPs wrap the public trending page as a scrape or local process. Trends MCP is a hosted board with type GitHub, plus npm, Google Search, and other sources on the same key. Directories cite the repo name. This page is the hosted contract.
GitHub, one word, that capital G. It is not GitHub Trending Repos. Default limit is 25. npm history is a different tool with source npm and a case-sensitive package name.
No. GitHub MCP opens issues and PRs. Trends MCP ranks public trending repos and npm demand. Pair them. Do not replace the repo server with a board.