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"
]
}社群
證據