RepoAlerts
Rising GitHub repos with fake stars filtered out: search, trending, repo pages, alternatives.
我该使用它吗
质量与安全性
发现(2)
- HIGH
- INFO在 get_repo 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"radar": {
"url": "https://repoalerts.com/mcp"
}
}
}远程端点
https://repoalerts.com/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢search_repos(query, topic, kind, language, license, ...)
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.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "What the user needs, in plain words. Examples: 'a calendar MCP server', 'free Photoshop alternative for Mac', 'local-first database', 'rust game engine'."
},
"topic": {
"description": "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).",
"type": "string",
"enum": [
"agents",
"models",
"infra",
"creative",
"desktop",
"web"
]
},
"kind": {
"description": "Optional: what the repo is. app (end-user application), mcp_server, agent_skill, agent, template, library, cli, model, resource (lists, docs, courses), other.",
"type": "string",
"enum": [
"app",
"mcp_server",
"agent_skill",
"agent",
"template",
"library",
"cli",
"model",
"resource",
"other"
]
},
"language": {
"description": "Optional main programming language as GitHub names it, e.g. 'TypeScript', 'Python', 'Rust', 'C++'.",
"type": "string",
"pattern": "^[\\w.+#\\- ]{1,40}$"
},
"license": {
"description": "Optional SPDX licence id, e.g. 'MIT', 'Apache-2.0', 'GPL-3.0', 'AGPL-3.0'.",
"type": "string",
"pattern": "^[\\w.+#\\- ]{1,40}$"
},
"min_stars": {
"description": "Optional minimum total stars, e.g. 1000 for established projects.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"limit": {
"default": 5,
"description": "How many repos to return, 1 to 10. Default 5.",
"type": "integer",
"minimum": 1,
"maximum": 10
},
"locale": {
"default": "en",
"description": "Language of the summaries: 'en' (default) or 'es' for Spanish. Use 'es' when the user writes in Spanish.",
"type": "string",
"enum": [
"en",
"es"
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"repos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"full_name": {
"type": "string",
"description": "owner/name on GitHub"
},
"summary": {
"type": "string",
"description": "What it is, in one or two sentences"
},
"for_whom": {
"type": [
"string",
"null"
],
"description": "Who it's for"
},
"kind": {
"type": [
"string",
"null"
],
"description": "What it is: app, mcp_server, library… (null while unknown)"
},
"topic": {
"type": [
"string",
"null"
],
"description": "RepoAlerts topic"
},
"language": {
"type": [
"string",
"null"
],
"description": "Main programming language"
},
"license": {
"type": [
"string",
"null"
],
"description": "SPDX licence id"
},
"stars": {
"type": "integer",
"description": "Total GitHub stars"
},
"stars_gained_24h": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 24 hours"
},
"stars_gained_7d": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 7 days"
},
"age_days": {
"type": "integer",
"description": "Days since the repo was created"
},
"last_push": {
"type": [
"string",
"null"
],
"description": "Last push to the repo (ISO 8601)"
},
"hacker_news_points": {
"type": [
"integer",
"null"
],
"description": "Points of its best Hacker News story"
},
"star_farm_check": {
"type": "string",
"enum": [
"not_flagged"
],
"description": "Repos flagged as star farms are never returned"
},
"trust": {
"description": "Trust signals, when RepoAlerts has them"
},
"install": {
"description": "How to install it, when RepoAlerts has it"
},
"homepage": {
"type": [
"string",
"null"
],
"description": "Project website"
},
"repoalerts_url": {
"type": "string",
"description": "Its RepoAlerts page: link this when recommending it"
},
"github_url": {
"type": "string"
},
"stars_gained": {
"type": "integer",
"description": "trending_repos: stars gained in the period"
},
"listed_as_alternative": {
"type": "boolean",
"description": "find_alternatives: its page lists it as an alternative to the app asked about"
}
},
"required": [
"full_name",
"summary",
"stars",
"repoalerts_url",
"github_url",
"star_farm_check"
]
}
},
"total": {
"type": "integer",
"description": "Matches in the directory before the limit"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"attribution": {
"type": "string"
}
},
"required": [
"repos",
"attribution"
]
}🟢trending_repos(period, topic, kind, limit, locale)
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.
输入模式
{
"type": "object",
"properties": {
"period": {
"default": "today",
"description": "Window for stars gained: 'today' (last 24 hours, default), 'week' (7 days), 'month' (30 days) or 'year' (repos created this year, by total stars).",
"type": "string",
"enum": [
"today",
"week",
"month",
"year"
]
},
"topic": {
"description": "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).",
"type": "string",
"enum": [
"agents",
"models",
"infra",
"creative",
"desktop",
"web"
]
},
"kind": {
"description": "Optional: what the repo is. app (end-user application), mcp_server, agent_skill, agent, template, library, cli, model, resource (lists, docs, courses), other.",
"type": "string",
"enum": [
"app",
"mcp_server",
"agent_skill",
"agent",
"template",
"library",
"cli",
"model",
"resource",
"other"
]
},
"limit": {
"default": 10,
"description": "How many repos to return, 1 to 20. Default 10.",
"type": "integer",
"minimum": 1,
"maximum": 20
},
"locale": {
"default": "en",
"description": "Language of the summaries: 'en' (default) or 'es' for Spanish. Use 'es' when the user writes in Spanish.",
"type": "string",
"enum": [
"en",
"es"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"repos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"full_name": {
"type": "string",
"description": "owner/name on GitHub"
},
"summary": {
"type": "string",
"description": "What it is, in one or two sentences"
},
"for_whom": {
"type": [
"string",
"null"
],
"description": "Who it's for"
},
"kind": {
"type": [
"string",
"null"
],
"description": "What it is: app, mcp_server, library… (null while unknown)"
},
"topic": {
"type": [
"string",
"null"
],
"description": "RepoAlerts topic"
},
"language": {
"type": [
"string",
"null"
],
"description": "Main programming language"
},
"license": {
"type": [
"string",
"null"
],
"description": "SPDX licence id"
},
"stars": {
"type": "integer",
"description": "Total GitHub stars"
},
"stars_gained_24h": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 24 hours"
},
"stars_gained_7d": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 7 days"
},
"age_days": {
"type": "integer",
"description": "Days since the repo was created"
},
"last_push": {
"type": [
"string",
"null"
],
"description": "Last push to the repo (ISO 8601)"
},
"hacker_news_points": {
"type": [
"integer",
"null"
],
"description": "Points of its best Hacker News story"
},
"star_farm_check": {
"type": "string",
"enum": [
"not_flagged"
],
"description": "Repos flagged as star farms are never returned"
},
"trust": {
"description": "Trust signals, when RepoAlerts has them"
},
"install": {
"description": "How to install it, when RepoAlerts has it"
},
"homepage": {
"type": [
"string",
"null"
],
"description": "Project website"
},
"repoalerts_url": {
"type": "string",
"description": "Its RepoAlerts page: link this when recommending it"
},
"github_url": {
"type": "string"
},
"stars_gained": {
"type": "integer",
"description": "trending_repos: stars gained in the period"
},
"listed_as_alternative": {
"type": "boolean",
"description": "find_alternatives: its page lists it as an alternative to the app asked about"
}
},
"required": [
"full_name",
"summary",
"stars",
"repoalerts_url",
"github_url",
"star_farm_check"
]
}
},
"total": {
"type": "integer",
"description": "Matches in the directory before the limit"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"attribution": {
"type": "string"
},
"period": {
"type": "string"
},
"generated_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"repos",
"attribution"
]
}🟢get_repo(repo, locale)
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).
输入模式
{
"type": "object",
"properties": {
"repo": {
"type": "string",
"minLength": 3,
"maxLength": 300,
"description": "The repository as 'owner/name' (e.g. 'vercel/next.js'), or its GitHub or RepoAlerts URL."
},
"locale": {
"default": "en",
"description": "Language of the summaries: 'en' (default) or 'es' for Spanish. Use 'es' when the user writes in Spanish.",
"type": "string",
"enum": [
"en",
"es"
]
}
},
"required": [
"repo"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"repo": {
"type": [
"object",
"null"
],
"properties": {
"full_name": {
"type": "string",
"description": "owner/name on GitHub"
},
"summary": {
"type": "string",
"description": "What it is, in one or two sentences"
},
"for_whom": {
"type": [
"string",
"null"
],
"description": "Who it's for"
},
"kind": {
"type": [
"string",
"null"
],
"description": "What it is: app, mcp_server, library… (null while unknown)"
},
"topic": {
"type": [
"string",
"null"
],
"description": "RepoAlerts topic"
},
"language": {
"type": [
"string",
"null"
],
"description": "Main programming language"
},
"license": {
"type": [
"string",
"null"
],
"description": "SPDX licence id"
},
"stars": {
"type": "integer",
"description": "Total GitHub stars"
},
"stars_gained_24h": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 24 hours"
},
"stars_gained_7d": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 7 days"
},
"age_days": {
"type": "integer",
"description": "Days since the repo was created"
},
"last_push": {
"type": [
"string",
"null"
],
"description": "Last push to the repo (ISO 8601)"
},
"hacker_news_points": {
"type": [
"integer",
"null"
],
"description": "Points of its best Hacker News story"
},
"star_farm_check": {
"type": "string",
"enum": [
"not_flagged"
],
"description": "Repos flagged as star farms are never returned"
},
"trust": {
"description": "Trust signals, when RepoAlerts has them"
},
"install": {
"description": "How to install it, when RepoAlerts has it"
},
"homepage": {
"type": [
"string",
"null"
],
"description": "Project website"
},
"repoalerts_url": {
"type": "string",
"description": "Its RepoAlerts page: link this when recommending it"
},
"github_url": {
"type": "string"
},
"stars_gained": {
"type": "integer",
"description": "trending_repos: stars gained in the period"
},
"listed_as_alternative": {
"type": "boolean",
"description": "find_alternatives: its page lists it as an alternative to the app asked about"
},
"github_description": {
"type": [
"string",
"null"
],
"description": "The description on GitHub"
},
"alternatives": {
"type": "array",
"items": {
"type": "string"
},
"description": "Apps or tools it can replace"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"github_topics": {
"type": "array",
"items": {
"type": "string"
}
},
"forks": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"radar_rank": {
"type": [
"integer",
"null"
],
"description": "Position in today's RepoAlerts radar"
},
"days_in_radar": {
"type": "integer",
"description": "Days it has been in the radar's top 500"
},
"star_curve": {
"type": [
"object",
"null"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"stars_at_start": {
"type": "integer"
},
"stars_now": {
"type": "integer"
},
"gained_last_7_days": {
"type": [
"integer",
"null"
],
"description": "From the curve"
},
"gained_last_30_days": {
"type": [
"integer",
"null"
],
"description": "From the curve"
},
"points": {
"type": "array",
"description": "[day, total stars], at most 12",
"items": {
"type": "array",
"prefixItems": [
{
"type": "string"
},
{
"type": "integer"
}
],
"minItems": 2,
"maxItems": 2
}
}
}
},
"hacker_news": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": [
"string",
"null"
],
"description": "Story title"
},
"points": {
"type": "integer"
},
"comments": {
"type": "integer"
},
"posted_at": {
"type": "string"
},
"url": {
"type": "string"
}
}
}
},
"similar": {
"type": "array",
"items": {
"type": "object",
"properties": {
"full_name": {
"type": "string",
"description": "owner/name on GitHub"
},
"summary": {
"type": "string",
"description": "What it is, in one or two sentences"
},
"for_whom": {
"type": [
"string",
"null"
],
"description": "Who it's for"
},
"kind": {
"type": [
"string",
"null"
],
"description": "What it is: app, mcp_server, library… (null while unknown)"
},
"topic": {
"type": [
"string",
"null"
],
"description": "RepoAlerts topic"
},
"language": {
"type": [
"string",
"null"
],
"description": "Main programming language"
},
"license": {
"type": [
"string",
"null"
],
"description": "SPDX licence id"
},
"stars": {
"type": "integer",
"description": "Total GitHub stars"
},
"stars_gained_24h": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 24 hours"
},
"stars_gained_7d": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 7 days"
},
"age_days": {
"type": "integer",
"description": "Days since the repo was created"
},
"last_push": {
"type": [
"string",
"null"
],
"description": "Last push to the repo (ISO 8601)"
},
"hacker_news_points": {
"type": [
"integer",
"null"
],
"description": "Points of its best Hacker News story"
},
"star_farm_check": {
"type": "string",
"enum": [
"not_flagged"
],
"description": "Repos flagged as star farms are never returned"
},
"trust": {
"description": "Trust signals, when RepoAlerts has them"
},
"install": {
"description": "How to install it, when RepoAlerts has it"
},
"homepage": {
"type": [
"string",
"null"
],
"description": "Project website"
},
"repoalerts_url": {
"type": "string",
"description": "Its RepoAlerts page: link this when recommending it"
},
"github_url": {
"type": "string"
},
"stars_gained": {
"type": "integer",
"description": "trending_repos: stars gained in the period"
},
"listed_as_alternative": {
"type": "boolean",
"description": "find_alternatives: its page lists it as an alternative to the app asked about"
}
},
"required": [
"full_name",
"summary",
"stars",
"repoalerts_url",
"github_url",
"star_farm_check"
]
},
"description": "Similar repos in the directory"
}
}
},
"attribution": {
"type": "string"
}
},
"required": [
"found",
"repo",
"attribution"
]
}🟢find_alternatives(to, platform, topic, kind, limit, ...)
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.
输入模式
{
"type": "object",
"properties": {
"to": {
"type": "string",
"minLength": 2,
"maxLength": 60,
"description": "The app, product or tool to replace, e.g. 'Photoshop', 'Notion', 'Heroku', 'Postman', 'Google Analytics'."
},
"platform": {
"description": "Optional platform or constraint in a few words, e.g. 'Mac', 'self-hosted', 'Windows', 'mobile'.",
"type": "string",
"maxLength": 40
},
"topic": {
"description": "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).",
"type": "string",
"enum": [
"agents",
"models",
"infra",
"creative",
"desktop",
"web"
]
},
"kind": {
"description": "Optional: what the repo is. app (end-user application), mcp_server, agent_skill, agent, template, library, cli, model, resource (lists, docs, courses), other.",
"type": "string",
"enum": [
"app",
"mcp_server",
"agent_skill",
"agent",
"template",
"library",
"cli",
"model",
"resource",
"other"
]
},
"limit": {
"default": 5,
"description": "How many repos to return, 1 to 10. Default 5.",
"type": "integer",
"minimum": 1,
"maximum": 10
},
"locale": {
"default": "en",
"description": "Language of the summaries: 'en' (default) or 'es' for Spanish. Use 'es' when the user writes in Spanish.",
"type": "string",
"enum": [
"en",
"es"
]
}
},
"required": [
"to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"repos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"full_name": {
"type": "string",
"description": "owner/name on GitHub"
},
"summary": {
"type": "string",
"description": "What it is, in one or two sentences"
},
"for_whom": {
"type": [
"string",
"null"
],
"description": "Who it's for"
},
"kind": {
"type": [
"string",
"null"
],
"description": "What it is: app, mcp_server, library… (null while unknown)"
},
"topic": {
"type": [
"string",
"null"
],
"description": "RepoAlerts topic"
},
"language": {
"type": [
"string",
"null"
],
"description": "Main programming language"
},
"license": {
"type": [
"string",
"null"
],
"description": "SPDX licence id"
},
"stars": {
"type": "integer",
"description": "Total GitHub stars"
},
"stars_gained_24h": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 24 hours"
},
"stars_gained_7d": {
"type": [
"integer",
"null"
],
"description": "Stars gained in the last 7 days"
},
"age_days": {
"type": "integer",
"description": "Days since the repo was created"
},
"last_push": {
"type": [
"string",
"null"
],
"description": "Last push to the repo (ISO 8601)"
},
"hacker_news_points": {
"type": [
"integer",
"null"
],
"description": "Points of its best Hacker News story"
},
"star_farm_check": {
"type": "string",
"enum": [
"not_flagged"
],
"description": "Repos flagged as star farms are never returned"
},
"trust": {
"description": "Trust signals, when RepoAlerts has them"
},
"install": {
"description": "How to install it, when RepoAlerts has it"
},
"homepage": {
"type": [
"string",
"null"
],
"description": "Project website"
},
"repoalerts_url": {
"type": "string",
"description": "Its RepoAlerts page: link this when recommending it"
},
"github_url": {
"type": "string"
},
"stars_gained": {
"type": "integer",
"description": "trending_repos: stars gained in the period"
},
"listed_as_alternative": {
"type": "boolean",
"description": "find_alternatives: its page lists it as an alternative to the app asked about"
}
},
"required": [
"full_name",
"summary",
"stars",
"repoalerts_url",
"github_url",
"star_farm_check"
]
}
},
"total": {
"type": "integer",
"description": "Matches in the directory before the limit"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"attribution": {
"type": "string"
}
},
"required": [
"repos",
"attribution"
]
}社区
证据