The RepoTrending MCP server.
Ask Claude, Cursor or another MCP client which repos are gaining stars. Five read-only tools, the same numbers as this site, no login.
What the server does
An MCP server gives an AI assistant tools it can call. This one lets the assistant look things up in RepoTrending's data instead of guessing from memory: the repos gaining the most stars today, this week or this month, the numbers for one repo, and how the ranking is made. The ranking is the one on the site (how we rank): stars gained between two daily snapshots, from repos with 5,000 stars or more.
Every answer says data_date (the day of the latest snapshot), collecting_since, that we are not affiliated with GitHub, and the address of the page that explains the method. Every repo in an answer comes with the address of its page on this site.
Five tools, all read-only
Your assistant picks the tool. You only ask the question; the arguments below show what it sends.
| Tool | What it does | You could ask |
|---|---|---|
get_trending{ "window": "week", "language": "Rust", "limit": 5 } | Top repos by stars gained today, this week or this month, or by total stars. Optional language or topic. | Which Rust repos gained the most stars this week? |
get_repo{ "repo": "vercel/next.js" } | One repo: stars, forks, language, license, topics, the last days of star counts, and its gains and ranks in each window. | How is vercel/next.js doing, and where does it rank this month? |
search_repos{ "query": "vector database" } | Find tracked repos by words in the name, description, topics or language. Every word must match. | Find repos about vector databases. |
list_filters{ "kind": "topic" } | The languages or topics the other tools accept, with how many tracked repos each has. | Which topics can I filter by? |
how_we_rank{} | How stars gained is counted, which repos are tracked, what is left out, and how much data each window has so far. | How do you count stars gained, and which windows are ready? |
Windows are today (24 hours between two snapshots), week (7 days), month (30 days) and all (total stars). A repo's first day has no gain yet, so it shows null, never 0.
How to connect it
Any client that speaks MCP over Streamable HTTP can use it. You only need the server's address; there is nothing to sign in to.
claude mcp add --transport http repotrending https://repotrending-mcp.sinh-gi-ng.workers.dev/mcp
{ "mcpServers": { "repotrending": { "url": "https://repotrending-mcp.sinh-gi-ng.workers.dev/mcp" } } }
In any other client, add a remote server with the Streamable HTTP transport, paste the address, and leave authentication empty. We have tried it with the MCP Inspector and Claude Code. The Cursor line follows Cursor's documented format and we have not run it there.
How fresh the data is
Once a day, after the site is rebuilt, the server is given the new export. The site's data day is Oct 28, 2026, and the server normally shows the same day. If a refresh fails, the server keeps the old data and its answers keep saying which day that is. Check data_date before you quote a number.
While history is short, a window that is not complete says so: it lists what exists, marked partial, and a note says when the full window starts. Nothing is estimated.
Limits on calls
About 60 calls a minute per caller, then HTTP 429 with a Retry-After header. The count is kept per server instance and per Cloudflare location, so it stops casual abuse, not a determined flood. Smaller limits apply to what one call can ask for:
| What | Limit |
|---|---|
| Repos in one answer | 25 (the topic and language lists: 100) |
| Size of one answer | 24 KB; rows are dropped from the end and truncated is true |
| Size of one request | 16 KB; above that, HTTP 413 |
| Batches | not supported; one message per request |
What the server keeps about you
Nothing about you, in our code. For each call it writes one line: the time and the tool name. It does not write your address, your arguments, the answer, your headers or the name of your client; a test checks that a call carrying a secret argument, a cookie and an authorization header leaves none of them in the log. There are no accounts, no cookies and no stored questions.
The server runs on Cloudflare Workers. Cloudflare records requests to anything it serves, in its own network and security logs, and that is outside our code. See also Privacy.
What it can't do
- It can't change anything. It only reads, so it can't star, follow, post or send.
- It doesn't know every repo. It answers for the repos we track, mainly those with 5,000 stars or more.
- It can't tell a real surge from bought stars, here or on the site.
- Repo descriptions are written by strangers. The server removes links, markup and hidden characters, withholds text that reads like an instruction to an AI model, and labels descriptions as data. That filter catches common phrasings, not every one, so treat a description as untrusted text.
Questions
What is the RepoTrending MCP server?
It is a small server that lets an AI assistant ask RepoTrending questions, such as which repos are gaining stars or how one repo ranks. It speaks the Model Context Protocol (MCP) over Streamable HTTP and answers from the same data the site is built from.
Do I need an account or an API key?
No. The server has no login, no key and no cookie. It reads public data and has nothing to log in to.
Can it change anything?
No. It has five tools and every one is declared read-only. There is no tool that writes, sends or deletes, and the tests fail if one is added.
How fresh is the data?
It is refreshed once a day, after the site is rebuilt. Every answer carries data_date, the day of the latest snapshot, and collecting_since, the first day we have data, so you can see how old a number is.
Does it store my questions?
Our code logs one line per call: the time and the tool name. It does not log your address, your arguments, the answer or the name of your client. The server runs on Cloudflare, and Cloudflare keeps its own network records of requests to anything it serves; that is outside our code.
How many calls can I make?
About 60 calls a minute per caller. After that the server answers HTTP 429 with a Retry-After header. The count is approximate, because it is kept per server instance and per Cloudflare location.
Where is the server address?
It is https://repotrending-mcp.sinh-gi-ng.workers.dev/mcp. It is also in the connect steps on this page. There is nothing to sign in to.