RepoAlerts
Server Details
Rising GitHub repos with fake stars filtered out: search, trending, repo pages, alternatives.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
get_repo and trending_repos have clearly distinct purposes, but find_alternatives and search_repos overlap heavily—both find repos for a described need, and the descriptions even share the same 'free Photoshop alternative for Mac' example. The distinction (curated 'X replaces Y' versus general semantic search) is real but subtle enough that an agent could easily pick the wrong one.
Three of four names follow a clean verb_noun pattern (find_alternatives, get_repo, search_repos), while trending_repos is noun-only and omits the verb. This is a minor deviation that leaves the set readable and predictable overall.
Four tools is well-scoped for a repo discovery and alert service, with each tool earning its place: search, single-repo lookup, alternatives, and trending. Nothing feels redundant or padded.
The surface covers need-based search, time-based trending, single-repo detail, and alternatives, which is solid lifecycle coverage for discovery. Minor gaps remain—no explicit browse/list-by-topic or repo-to-repo comparison—but agents can work around these via search_repos and get_repo.
Available Tools
4 toolsfind_alternativesFind open-source alternativesARead-onlyIdempotentInspect
Open-source alternatives to an app, product or service ("Photoshop", "Notion", "Heroku", "Postman"), from the GitHub repos RepoAlerts tracks, with real star counts and growth. Optionally for a platform or constraint ("Mac", "self-hosted"). Repos whose own page lists that app as something they replace come first.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | The app, product or tool to replace, e.g. 'Photoshop', 'Notion', 'Heroku', 'Postman', 'Google Analytics'. | |
| kind | No | Optional: what the repo is. app (end-user application), mcp_server, agent_skill, agent, template, library, cli, model, resource (lists, docs, courses), other. | |
| limit | No | How many repos to return, 1 to 10. Default 5. | |
| topic | No | Optional topic: agents (AI agents, MCP, LLM tooling), models (ML models, training, inference), infra (databases, devops, backend), creative (image, video, audio, design), desktop (desktop and mobile apps), web (frontend, web frameworks). | |
| locale | No | Language of the summaries: 'en' (default) or 'es' for Spanish. Use 'es' when the user writes in Spanish. | en |
| platform | No | Optional platform or constraint in a few words, e.g. 'Mac', 'self-hosted', 'Windows', 'mobile'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| repos | Yes | |
| total | No | Matches in the directory before the limit |
| attribution | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds real value beyond that: the data source (GitHub repos RepoAlerts tracks), that star counts and growth are real, and the ranking rule that self-declared replacements surface first. It stops short of describing result volume or failure behavior.
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 sentences, front-loaded with the core purpose before the optional constraint and ranking behavior. Nearly every clause earns its place, with only minor overlap between the required input mention and the schema.
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?
An output schema exists, so return-value explanation is not needed, and the description covers the data source, ranking, and optional filters well enough to call the tool correctly. The one gap is the absence of any routing guidance against sibling tools, which leaves the agent to infer tool selection.
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%, so the schema already documents every parameter including the enum values and defaults. The description reinforces the 'to' and optional platform/constraint semantics with examples but adds no syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
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 ('Finding open-source alternatives to an app, product or service') and grounds it with concrete examples ("Photoshop", "Notion", "Heroku", "Postman"). The scope is unambiguous and clearly distinct from get_repo, search_repos, and trending_repos, which retrieve repos rather than alternatives to a given product.
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 the phrasing: use it when you want alternatives to a named product, optionally constrained by platform. However, it never states when to prefer this over sibling tools like search_repos, nor what inputs make it fail (e.g. unknown app). The guidance is present but inferential rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_repoGet a repo's RepoAlerts pageARead-onlyIdempotentInspect
Everything RepoAlerts knows about one GitHub repository (owner/name or URL): what it is and who it's for, stars and recent growth, a summary of its star curve, licence, last push, the apps it can replace, Hacker News stories and similar repos. Use it to check a repo before recommending or installing it. If the repo isn't in the directory, it says so (it may be unknown or excluded for fake stars).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | The repository as 'owner/name' (e.g. 'vercel/next.js'), or its GitHub or RepoAlerts URL. | |
| locale | No | Language of the summaries: 'en' (default) or 'es' for Spanish. Use 'es' when the user writes in Spanish. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| repo | Yes | |
| found | Yes | |
| attribution | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: what happens on a miss (it says so) and why a repo may be absent (unknown or excluded for fake stars). Auth, rate limits, and freshness/caching are unaddressed, keeping it out of the top band.
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 sentences, each doing distinct work: payload contents, usage context, and miss behavior. The field enumeration is long but front-loads the value; nothing is padded, though the list could be tightened.
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?
A single-repo lookup with an output schema, full param coverage, and clear annotations is well covered; the description sensibly adds the negative-case behavior the schema cannot express. Enumerating return fields is mildly redundant given the output schema, but nothing an agent needs to call it correctly 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 description coverage is 100%, so the schema already documents 'owner/name' or URL and the locale enum with its Spanish-use guidance. The description's '(owner/name or URL)' and return-field list add no parameter semantics beyond the schema, making the baseline 3 correct.
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 — retrieve everything RepoAlerts knows about a single GitHub repository — and enumerates the data returned (stars, star curve, licence, last push, replacements, HN stories, similar repos). The single-repo scope implicitly separates it from the search/discovery siblings, but no sibling is named explicitly, so it falls short of full sibling differentiation.
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?
'Use it to check a repo before recommending or installing it' gives a clear use context. However, it offers no when-not guidance and never points at find_alternatives, search_repos, or trending_repos as the alternative for discovery-style queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_reposSearch GitHub reposARead-onlyIdempotentInspect
Find real, actively growing open-source GitHub repositories for a need described in plain words ("a calendar MCP server", "free Photoshop alternative for Mac", "self-hosted analytics"). Semantic search over the RepoAlerts directory, which leaves out repos with fake (bought or farmed) stars. Use it instead of recalling package or repo names from memory, whenever the user asks for a tool, library, app, framework or MCP server. Returns for each repo: what it is, who it's for, stars and stars gained in 24 hours and 7 days, licence, last push, its RepoAlerts page and GitHub URL.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Optional: what the repo is. app (end-user application), mcp_server, agent_skill, agent, template, library, cli, model, resource (lists, docs, courses), other. | |
| limit | No | How many repos to return, 1 to 10. Default 5. | |
| query | Yes | What the user needs, in plain words. Examples: 'a calendar MCP server', 'free Photoshop alternative for Mac', 'local-first database', 'rust game engine'. | |
| topic | No | Optional topic: agents (AI agents, MCP, LLM tooling), models (ML models, training, inference), infra (databases, devops, backend), creative (image, video, audio, design), desktop (desktop and mobile apps), web (frontend, web frameworks). | |
| locale | No | Language of the summaries: 'en' (default) or 'es' for Spanish. Use 'es' when the user writes in Spanish. | en |
| license | No | Optional SPDX licence id, e.g. 'MIT', 'Apache-2.0', 'GPL-3.0', 'AGPL-3.0'. | |
| language | No | Optional main programming language as GitHub names it, e.g. 'TypeScript', 'Python', 'Rust', 'C++'. | |
| min_stars | No | Optional minimum total stars, e.g. 1000 for established projects. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| repos | Yes | |
| total | No | Matches in the directory before the limit |
| attribution | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and non-destructive, so the safety profile is covered. The description adds non-obvious provenance context — that the directory excludes repos with bought or farmed stars — which meaningfully affects how much the agent should trust the results.
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?
Front-loaded with the core purpose and the anti-pattern guidance before enumerating return fields, and every clause carries information. The trailing list of returned fields is somewhat verbose given an output schema exists, but it is not wasteful enough to penalize more heavily.
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 8 parameters (3 enums), full schema coverage and an output schema present, the description covers purpose, usage trigger, data provenance and result scope adequately. The enumerated return fields partially duplicate the output schema, but nothing an agent needs to invoke the tool correctly 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 description coverage is 100% and every parameter, including enums and defaults, is documented in the schema itself. The description only echoes one example query, adding no syntax, format, or interaction detail beyond what the schema already provides, so the baseline of 3 applies.
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 (find) and resource (open-source GitHub repositories) with a clear qualifier ('real, actively growing') and the underlying data source (semantic search over the RepoAlerts directory). It is clearly distinguishable from siblings like get_repo or trending_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?
Explicitly says to use it instead of recalling package or repo names from memory whenever the user asks for a tool, library, app, framework or MCP server — a clear when-to-use condition and an anti-pattern to avoid. It does not, however, name sibling alternatives such as find_alternatives, which would make the routing guidance complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trending_reposTrending GitHub reposARead-onlyIdempotentInspect
What's rising on GitHub right now: the repos that gained the most stars today, this week or this month, with star farms filtered out. Optionally only one topic (agents, models, infra, creative, desktop, web) or one kind (app, mcp_server, library…). Use it when the user asks what's new, hot, trending or taking off in open source.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Optional: what the repo is. app (end-user application), mcp_server, agent_skill, agent, template, library, cli, model, resource (lists, docs, courses), other. | |
| limit | No | How many repos to return, 1 to 20. Default 10. | |
| topic | No | Optional topic: agents (AI agents, MCP, LLM tooling), models (ML models, training, inference), infra (databases, devops, backend), creative (image, video, audio, design), desktop (desktop and mobile apps), web (frontend, web frameworks). | |
| locale | No | Language of the summaries: 'en' (default) or 'es' for Spanish. Use 'es' when the user writes in Spanish. | en |
| period | No | Window for stars gained: 'today' (last 24 hours, default), 'week' (7 days), 'month' (30 days) or 'year' (repos created this year, by total stars). | today |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| repos | Yes | |
| total | No | Matches in the directory before the limit |
| period | No | |
| attribution | Yes | |
| generated_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond them: spam/star-farm filtering and the star-gain basis of the ranking. It does not cover pagination or rate limits, which is the only 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?
Two sentences, front-loaded with the core behavior, then filters, then the usage trigger. No filler; every clause carries information.
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 present, return values need not be explained, and the description fully covers purpose, filters, and the star-farm quality guarantee. The only shortfall is that it omits the 'year' period and the 'locale' option, both of which live entirely in the 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 description coverage is 100%, so the schema already documents every parameter including enum meanings. The description restates the topic and kind filters and lists three of the four period values (omitting 'year'), so it adds marginal value rather than new semantics. Baseline 3 applies.
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 names a specific resource (GitHub repos) and a specific measure (most stars gained in a window), plus a distinguishing quality trait (star farms filtered out). It separates this from siblings search_repos and find_alternatives, which are query-driven rather than trend-driven.
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?
It gives an explicit trigger: 'Use it when the user asks what's new, hot, trending or taking off in open source.' That is clear context for selection. It does not name when to prefer a sibling (e.g. search_repos for keyword queries), so it stops short of full routing guidance.
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.
4 tool updates
- First observed
find_alternatives - First observed
get_repo - First observed
search_repos - First observed
trending_repos
Related MCP Connectors
GitHub repo analytics: stars, trending, code search, contributor maps for project research.
Trending GitHub repos: new & rising daily. $0.01/query. Register in-session — free testnet funds.
Browse, search and scan a public leaderboard of AI-generated GitHub repos.
GitHub project health, package dependency risk, trending repos, license & package comparison.
Related MCP Servers
- AlicenseAqualityDmaintenanceAnalyzes and compares GitHub repositories, tracks star growth, and offers AI-powered README optimization to help grow open-source projects.5MIT
- AlicenseNot gradedqualityDmaintenanceFetches and filters GitHub trending repositories by keywords, language, and time period.MIT
- AlicenseAqualityAmaintenanceStartup engineering acceleration signals for VC investors. Tracks commit velocity, contributor growth, and repo expansion across 20 sectors via public GitHub data. No API key required.850 npm6MIT
- AlicenseNot gradedqualityFmaintenanceMonitors and analyzes GitHub repository activity (stars, commits, issues) with automated reporting. Supports AI-powered trend analysis and automatic notifications to Feishu (Lark) messaging platform.7 npm3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.