RepoTrending
Server Details
Read-only GitHub trending data: top repos by stars gained today, this week or this month.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: fetching one repo, listing trending repos, explaining ranking methodology, listing filter values, and searching tracked repos. The potential overlap between get_trending and search_repos is resolved by their descriptions: one browses rankings, the other matches keywords.
Four tools follow a clear verb_noun pattern (get_repo, get_trending, list_filters, search_repos). The exception is how_we_rank, which is readable but breaks the convention.
Five tools are well-scoped for a read-only GitHub trending explorer. Each tool covers a distinct need without padding or obvious missing essentials.
The surface covers repo details, trending lists, filters, search, and ranking explanation, which handles the core domain. A way to list all tracked repos or compare repos could be useful, but agents can work around this via search and trending.
Available Tools
5 toolsget_repoOne GitHub repoARead-onlyIdempotentInspect
Details of one tracked repo by owner/name: stars, forks, language, license, topics, star counts of the last days, gains and ranks per window.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo as owner/name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| note | Yes | |
| rank | Yes | |
| repo | Yes | |
| forks | Yes | |
| stars | Yes | |
| source | Yes | |
| topics | Yes | |
| license | Yes | |
| language | Yes | |
| data_date | Yes | Day of the latest snapshot, YYYY-MM-DD. |
| text_note | Yes | |
| created_at | Yes | |
| first_seen | Yes | |
| github_url | Yes | |
| method_url | Yes | Page that explains how the numbers are made. |
| description | Yes | |
| stars_by_day | Yes | Total stars at each daily snapshot, oldest first (up to 31). |
| stars_gained | Yes | |
| collecting_since | Yes | First day of collected data, YYYY-MM-DD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the response field list and the word 'tracked,' but it does not explain behavior for untracked repos, freshness of star counts, auth needs, or rate limits; because an output schema exists, the field enumeration is somewhat redundant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It efficiently states the lookup key, the single-repo scope, and the main returned data categories.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with full parameter schema, complete annotations, and an output schema, the description gives enough context to call the tool correctly with an owner/name. The remaining gaps are edge-case behavior for untracked repos and explicit routing guidance versus sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already defines the single repo parameter as 'owner/name' with a pattern and length constraints. The description mirrors this without adding syntax, encoding, or validation details beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource and scope: details of one tracked repository looked up by owner/name, including the specific data fields returned. It implicitly distinguishes itself from search_repos and get_trending by emphasizing a single tracked repo, but it does not name any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'one tracked repo by owner/name,' meaning the agent should use it when it already has an exact owner/name and wants details for that one repo. However, there is no explicit guidance on when to use this instead of search_repos, get_trending, or how_we_rank, and no stated exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trendingTrending GitHub reposARead-onlyIdempotentInspect
Top GitHub repos by stars gained today (last 24 hours), this week (7 days) or this month (30 days), or by total stars (window "all"). Optional language or topic filter. Use list_filters for valid names.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many repos to return (1 to 25). | |
| topic | No | GitHub topic, for example "mcp". | |
| window | No | today = last 24 hours, week = 7 days, month = 30 days, all = total stars. | week |
| language | No | Programming language, for example "Rust". |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| count | Yes | |
| repos | Yes | |
| topic | Yes | |
| source | Yes | |
| window | Yes | |
| language | Yes | |
| data_date | Yes | Day of the latest snapshot, YYYY-MM-DD. |
| text_note | Yes | |
| truncated | Yes | |
| method_url | Yes | Page that explains how the numbers are made. |
| window_status | Yes | |
| repos_in_filter | Yes | |
| collecting_since | Yes | First day of collected data, YYYY-MM-DD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds the meaning of 'trending' (stars gained over a window) and that filters are optional, but says nothing about refresh cadence, result ordering/tie-breaks, or that list_filters is required to validate names — details an agent might want before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the ranking basis and windows come first, the filter hint and the pointer to list_filters follow. Nothing is repeated needlessly and the front-loading is ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, rich annotations, and 100% parameter coverage, the description only needs to explain the ranking concept, which it does. It could go one step further by pointing to how_we_rank for the ranking methodology, but nothing required for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter (limit, topic, language, window with enum) is documented inline, so the description's restatement of the windows and 'optional language or topic filter' adds no syntax or format detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (GitHub repos) plus the ranking basis (stars gained) and the exact windows, which clearly separates it from get_repo (single lookup) and search_repos (query-driven search). An agent can tell what it returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for use — 'top repos by stars gained' over named windows — and routes to the sibling list_filters for valid language/topic names. It does not explicitly contrast with search_repos, but the trending-vs-search distinction is inferable from the metric described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
how_we_rankHow the rankings are madeARead-onlyIdempotentInspect
Plain explanation of how RepoTrending counts stars gained, which repos it tracks, what it leaves out and how much data each window has so far.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| limits | Yes | |
| source | Yes | |
| summary | Yes | |
| windows | Yes | |
| data_date | Yes | Day of the latest snapshot, YYYY-MM-DD. |
| method_url | Yes | Page that explains how the numbers are made. |
| repos_tracked | Yes | |
| repos_available | Yes | |
| collecting_since | Yes | First day of collected data, YYYY-MM-DD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish this as a safe, idempotent, closed-world read, so the description's job is lighter. It adds genuinely useful behavioral context by signaling the content includes exclusions and per-window data coverage (i.e., freshness/limitations), which an agent wouldn't know from structured fields alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that enumerates exactly what is covered with zero filler. Every clause (counting method, repo scope, exclusions, window coverage) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, a full annotation set, and an output schema, the description carries little burden and covers content scope well. A brief pointer on when to consult it relative to get_trending would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly implies no input is needed, and no parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and its contents: an explanation of how stars gained are counted, which repos are tracked, what is excluded, and how much data each window holds. This is unmistakably a methodology/documentation tool, clearly distinct from data-fetching siblings like get_trending or search_repos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer it should call this when it needs to understand or caveat ranking results. There is no explicit when-to-use trigger and no reference to alternatives such as get_trending or list_filters, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filtersLanguages and topicsARead-onlyIdempotentInspect
List the languages or the GitHub topics that get_trending and search_repos accept, with how many tracked repos each has. Most repos first.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Which list to return. | |
| limit | No | How many names to return (1 to 100). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| count | Yes | |
| items | Yes | |
| total | Yes | |
| source | Yes | |
| data_date | Yes | Day of the latest snapshot, YYYY-MM-DD. |
| truncated | Yes | |
| method_url | Yes | Page that explains how the numbers are made. |
| collecting_since | Yes | First day of collected data, YYYY-MM-DD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so safety is covered. The description adds value beyond them by disclosing that each entry carries a tracked-repo count and that results are sorted 'most repos first', which an agent needs to interpret ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler, and the resource definition plus its consumers are front-loaded before the ordering detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters, full schema coverage, annotations and an output schema, the description covers what is needed to call it correctly. The only minor gap is not clarifying whether the repo count is a total or a filtered count, but that is inferable from the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both `kind` and `limit` are fully documented in the schema. The description maps 'languages or topics' onto the `kind` enum but adds no syntax or format detail beyond that; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (languages / GitHub topics) and immediately ties them to the tools that consume them (get_trending, search_repos), which distinguishes it from every sibling. An agent knows exactly what this returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'that get_trending and search_repos accept' makes the intended workflow clear: call this to discover valid filter values before using those tools. There is no explicit 'when not to use' or exclusion, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_reposSearch tracked reposARead-onlyIdempotentInspect
Find tracked repos by words in the name, description, topics or language. Every word must match. Results are ordered by relevance, then stars.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many repos to return (1 to 25). | |
| query | Yes | Words to look for, for example "vector database". | |
| language | No | Only repos in this language. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| repos | Yes | |
| source | Yes | |
| matches | Yes | |
| language | Yes | |
| data_date | Yes | Day of the latest snapshot, YYYY-MM-DD. |
| text_note | Yes | |
| truncated | Yes | |
| method_url | Yes | Page that explains how the numbers are made. |
| collecting_since | Yes | First day of collected data, YYYY-MM-DD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, closed-world safety, so the description's job is narrower and it delivers: it discloses the AND-matching rule ("Every word must match") and the result ordering (relevance, then stars), both non-obvious behaviors. It says nothing about empty-result behavior or how many results a broad query may return, which is the remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler. The core action is front-loaded in sentence one, with matching semantics and ordering following in priority order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter search tool with full schema coverage, annotations, and an output schema, the description covers what it searches, the match rule, and the sort order — everything needed to call it correctly. Only the query-language-filter interaction is left unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage the baseline is 3, but the description genuinely adds meaning by naming which fields the query matches against — information absent from the schema. Minor ambiguity: it lists "language" as a query-matched field while a separate language filter parameter exists, which could confuse an agent about which one to use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Find tracked repos") and enumerates the searchable fields (name, description, topics, language). It is clear enough to distinguish from get_repo (single-repo lookup) by implication, but it never names a sibling the way a top-scoring definition would.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by "Find tracked repos by words...", so an agent can infer this is the discovery path versus get_repo/get_trending. However, no explicit when-to-use/when-not-to-use guidance or alternative routing (e.g., prefer get_repo when you already know the repo) is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
get_repo - First observed
get_trending - First observed
how_we_rank - First observed
list_filters - First observed
search_repos
Related MCP Connectors
GitHub hot-repo leaderboards: snapshots, movers, rank history. Read-only JSON, hourly batches.
Trend data from Google, TikTok, Amazon, Reddit, YouTube, Steam, npm and more as JSON
Trending GitHub repos: new & rising daily. $0.01/query. Register in-session — free testnet funds.
Rising GitHub repos with fake stars filtered out: search, trending, repo pages, alternatives.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query GitHub trending projects, analyze language and technology trends, and generate visual trend reports.MIT
- FlicenseNot gradedqualityDmaintenanceProvides access to GitHub trending projects through MCP, allowing AI assistants to query popular repositories filtered by language and time range (daily/weekly/monthly).-
- AlicenseNot gradedqualityDmaintenanceFetches and filters GitHub trending repositories by keywords, language, and time period.MIT
- AlicenseAqualityBmaintenanceEnables searching and inspecting GitHub repositories, including topic and trending searches, repo overviews, file browsing, commit history, branches, and side-by-side repo comparisons.91MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.