oss-trends-mcp
Oops typos "贪腐" etc. Need careful.
Let me carefully di-re:
Title: "# oss-trends-mcp"
Para1: "面向 AI 开发者的任务驱动型热门 OSS 推荐器,以 MCP 服务器形式对外提供。只要输入“构建 X 时,有哪些 OSS 正在流行?”送到即可获得由实时信号支撑的开源项目排名:GitHub star 增长动能、npm/PyPI 下载增长,以及 Hacker News 热度。"
"只要咨询" or "询问". Better: 询问"构建 X 时,什么 OSS 正在流行?"即可得到……
Para2: "Awesome 列表几周就会过时;AI 工具生态则以天为单位变化。oss-trends-mcp 在提问时刻基于真实信号而不是手工精选的链接对候选排序——将成熟的玩家与潜在的上星新人(repo 有18 个月的仓库)区分开。"
Ok.
Now description of recommend_oss: "Returns a permanent ranking plus newcompers" - "返回 established 榜单和 rising 新人,每条都带揭示性评分 breakdown".
Let me write official:
recommend_oss 主工具
"输入:task(你想构建什么)、queries(适配的分 GitHub 搜索词——;否则从任务文本中自动扩展)、ecosystem(auto/npm/pypi/none)、limit。返回 established 排名列表以及 risingNewcomers 两列,每个结果 get a transparent score breakdown, with a LLM can explain "why". LLM 负责将 task 展开为搜索词;服务器负责确定性的收集与打分。"
I'm mixing too much English. That's okay because those terms are untranslated. But needs enough Chinese.
Let's final:
"输入:task(你想构建的内容)、queries(有重点的 GitHub 搜索词——建议指定;否则自动从任务文本扩展)、ecosystem(auto/npm/pypi/none)、limit。输出为一个 established 排名,外加 risingNewcomers,各自附上透明的评分明细,便于调用方 LLM 解释“为什么”。任务展开为搜索词的动作由 LLM 完成;服务器进行确定性的收集和评分。"
search_repos
"提供 GitHub 仓库原始搜索接口,输出规范化的结果。"
repo_health
"单个仓库深度信号:star 动能、维护时效性、npm/PyPI 采用、HN 热议度,还有 0-100 分数。"
compare_repos
"2-6 个仓库逐项趋势比较,按照综合得分排序。"
Scoring:
"## 评分(0-100)"
Bullets:
momentum 35 — 近 30 日拣获的 star 数量(log 刻度)
maintenance 20 — push 时效的衰减;归档仓库 0 分
adoption 20 — npm 与 PyPI 月下载量+相对最近 28 天与前 28 天的增长奖励
community 15 — 网络扶持:forks、license、topics
buzz 10 — 最近 180 天产生的 Hacker News 故事和其中的最高得分
Setup:
"构建并注册到 Claude Code:GXP1 如果给服务器提供 GITHUB_TOKEN,否则每分钟只能 10 searches 和每小时 60 core requests,这样采样 star 动量的星星会多降级为 fallback:
GXP2 能在任何支持 stdio MCP 客户端(Claude Code,Cursor 等)中运行"
Need "fallback signals" translated.
Ok. Let me avoid "GPLO".
Now final output including exact bullet marks with em dash — preserve.
Let me get precise. I'll now write the final variant carefully.
I also need to ensure "10 searches/min and 60 core requests/hour" is translated "每分钟 10 次搜索和每小时 60 次核心请求" and may keep as "10 次搜索/分钟和 60 次请求/时". GITHUB basic:allow unauthenticated rate limits 10 search/min, 60 core/hour.
"因此 star 动能采样常常只能回退到其他信号" - ok.
For "unmatched repos skip adoption signals" -> "未匹配的仓库会省略 adoption 信号" good.
"the calling LLM" -> "调用方 LLM".
"transparent score breakdown" -> "透明的得分拆解".
"deterministic collection and scoring" -> "确定性的收集与打分".
"normal placement output" - "标准化的输出"
Now to "article skeleton": no.
Let's produce final.
One more check: "Awesome list" might be a given name; writing "Awesome 列表" keeps "Awesome" word. Good.
Also "AI builder" maybe "AI 构建者" or "AI 构建方向的人"; I'll use "AI 开发者" as common.
"task-driven" - "任务驱动" is a readable term.
Now the close. Let me craft the entire final in one shot:
Available Tools
4 toolscompare_reposCompare repositoriesA
Side-by-side trend comparison of 2-6 github repositories, ranked by composite score.
| Name | Required | Description | Default |
|---|---|---|---|
| repos | Yes | owner/name list to compare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does reveal that the tool ranks by a composite score, which is a behavioral trait. However, it does not disclose what 'trend' means, what the output looks like, whether any mutation occurs, or other operational details. The gap is moderate, so a 3 is appropriate.
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 sentence, front-loaded with the key distinction ('side-by-side trend comparison') and the range constraint. Every word earns its place; there is no fluff or redundancy.
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?
The tool has low complexity (one parameter) and high schema coverage, but no output schema and no annotations. The description does not explain what 'trend' means or what the composite score is based on, nor does it describe the return format. An agent would have to infer the output. For a tool that ranks repos, this is a notable gap, but the minimal scope keeps it from being a 2.
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 the 'repos' parameter as an owner/name list with min/max items. The description adds the notion of 'side-by-side' but not new syntax or semantics. Baseline of 3 is correct when schema fully covers the parameter.
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 action (side-by-side trend comparison) and a specific resource (github repositories), and adds a distinguishing detail (ranked by composite score). This clearly separates it from siblings like search_repos (search) and recommend_oss (recommend). The purpose is unambiguous and does not restate the title.
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 description gives clear context for when to use this tool (when comparing 2-6 repositories side-by-side) but does not explicitly mention when not to use it or name alternative tools for different scenarios. Since siblings exist, an explicit exclusion would have raised it to a 5, but the implied usage is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_ossRecommend trending OSSB
Given a task or feature description, recommends trending open-source projects using GitHub star momentum, npm/PyPI download growth and Hacker News buzz. Pass focused github search terms in queries for best results.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | what the user wants to build, e.g. memory layer for AI agents | |
| limit | No | max established recommendations | |
| queries | No | focused github search queries, 2-4 terms each (recommended) | |
| ecosystem | No | package registry used for download signals | auto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does disclose the behavioral basis — the scoring signals (star momentum, download growth, HN buzz) — which is meaningful. But it fails to describe what the agent receives back (list shape, how signals are weighted, or that results are 'established' projects only). The 'limit' param implies 'max established recommendations' but the description never states the output behavior or ranking rationale.
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, both earning their place — the first states the core purpose and inputs, the second is a high-value usage tip. Front-loaded and free of filler. Slight deduction only because the second sentence's advice partially duplicates schema guidance for the queries parameter.
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 recommendation tool with no output schema and no annotations, the description covers the inputs and scoring basis adequately. But it omits what the agent should expect as output (a ranked list? links? metadata?), whether task alone suffices or queries are needed, and how the three signals are combined. An agent reading this knows what it does but not fully what it returns.
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 fully documents all four parameters, which sets the baseline at 3. The description adds marginal value by reinforcing the queries parameter with the 'focused github search terms' tip, but this is a restatement of the schema's own guidance ('2-4 terms each (recommended)') rather than new semantic insight.
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 uses a specific verb-resource pairing: 'recommends trending open-source projects' from a 'task or feature description,' and names the data signals used (GitHub star momentum, npm/PyPI downloads, Hacker News buzz). This clearly differentiates it from siblings like search_repos (searching), repo_health (health), and compare_repos (comparison). It doesn't explicitly name an alternative, but the verb alone distinguishes it — a minor gap from a 5.
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 offers a concrete, actionable tip — 'Pass focused github search terms in queries for best results' — which tells the agent how to get good output. However, it provides no when-to-use vs when-not-to-use guidance relative to the sibling tools, and no conditions for choosing this over search_repos or compare_repos. The guidance is procedural rather than decisional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repo_healthRepository health and trend scoreA
Deep signals for one github repository: star momentum, maintenance freshness, npm/PyPI adoption, HN buzz, plus a transparent 0-100 score breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | owner/name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does reveal that the tool computes a transparent 0-100 score breakdown and covers multiple signal types, which is useful. However, it omits operational details such as data freshness, rate limits, or whether it requires authentication, and it does not describe potential error conditions or output format beyond the score. This is a moderate gap for a tool with no annotation support.
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, efficient sentence that front-loads the core purpose ('Deep signals for one github repository') and then lists specific signal categories and the score breakdown. Every clause adds meaningful information with no redundancy or filler. It is highly concise and well-structured.
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 tool with only one parameter and no output schema, the description sufficiently conveys that it returns health-related signals and a transparent 0-100 score breakdown. It lists the types of signals (stars, maintenance, adoption, buzz), giving an agent a reasonable idea of the data returned. However, it does not specify the exact structure of the output or whether raw numeric values accompany the breakdown, which is a minor gap.
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 schema already provides 100% coverage for the sole parameter 'repo' with description 'owner/name'. The tool description does not add any additional semantic detail about the parameter, such as format examples or edge cases. Since schema coverage is high, the baseline of 3 is appropriate; the description offers no extra value for parameter understanding.
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 tool's purpose: providing deep signals for a single GitHub repository, listing specific signal categories (star momentum, maintenance freshness, adoption, buzz) and a score breakdown. It distinguishes from siblings by focusing on one repo's health rather than searching, recommending, or comparing. However, it lacks an explicit action verb like 'get' or 'analyze', which limits precision.
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 'for one github repository' implies it is for deep-diving a single repo, which hints at when to use it versus search_repos or compare_repos. However, there is no explicit guidance on when not to use it, no mention of alternatives, and no exclusions. The usage context is implied but not stated outright.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_reposSearch GitHub repositoriesC
Raw github repository search with normalized output. Use for ad-hoc exploration.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | stars | |
| limit | No | ||
| query | Yes | github search query, e.g. agent memory or topic:mcp | |
| minStars | No | minimum stars filter | |
| createdAfter | No | YYYY-MM-DD; only repos created after this date |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'raw' and 'normalized output' but does not disclose side effects, authentication requirements, rate limits, or whether the search is read-only. It is unclear what 'normalized output' means structurally, and there is no mention of pagination or default ordering 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?
The description is a single sentence that leads with the primary purpose ('Raw github repository search') and then adds the usage hint. It is efficient and front-loaded, with no filler or redundant content.
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?
Given the tool has no output schema and no annotations, the description should explain return values and other operational details. It only says 'normalized output' without specifying the structure, and it does not address pagination, result count, or error handling. For a search tool with 5 parameters, this is insufficient for an agent to call it correctly without additional inference.
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 60%, leaving sort, limit, and minStars without descriptions in the schema. The description does not compensate for this by explaining any parameters. It adds no value beyond what the schema already provides for query and createdAfter, and leaves the other parameters unexplained.
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 the specific verb 'search' and resource 'github repositories', and adds 'raw' to indicate the search type. It is clear but does not explicitly distinguish from sibling tools like recommend_oss or repo_health. The phrase 'ad-hoc exploration' gives some hint, but the description does not name alternatives.
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 description says 'Use for ad-hoc exploration,' which provides a context for when to use the tool. However, it does not explicitly state when NOT to use it or mention alternative tools such as recommend_oss or repo_health. The guidance is implied rather than explicit.
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
v0.1.0- First observed
compare_repos - First observed
recommend_oss - First observed
repo_health - First observed
search_repos
TDQS
Scored across 4 tools
Each tool serves a distinct purpose: recommendation, raw search, in-depth single-repo health, and multi-repo comparison. There is no overlap in functionality, so an agent can easily select the right tool for the task.
Three tools follow a verb_noun pattern (recommend_oss, search_repos, compare_repos) while repo_health is noun_noun. The style is uniform in lowercase with underscores, and the one deviation is minor and still intuitive.
With 4 tools, the server is tightly scoped to its purpose of OSS trend analysis. Each tool covers a distinct aspect without bloat, making the set manageable and well-focused.
The surface covers the core workflow: discover via search, get recommendations, deep-dive into one repo, and compare multiple. Missing features like historical trend charts or per-repo dependency analysis are minor gaps that don't block primary use cases.
Maintenance
Related MCP Connectors
Finds real, maintained open-source repos that fit your project. MCP grounding for coding agents.
GitHub project health, package dependency risk, trending repos, license & package comparison.
Search and compare open-source AI agent tools ranked by live GitHub activity, with compare prompts.
Dependency picker for coding agents: recommends, compares and scores GitHub repos with a verdict.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceDiscover, rank, and compare GitHub repositories from any MCP-compatible AI client. Enables searching, filtering, ranking, and evaluating open-source repositories by topic, language, stars, license, activity, and relevance.MIT
- FlicenseNot gradedqualityCmaintenanceProvides AI agents with 6 tools for searching Hugging Face models, GitHub trending repos, analyzing GitHub repositories, fetching dev.to articles, Show HN launches, and Product Hunt daily launches. Built for dev tooling research and AI ecosystem analysis.-
- AlicenseNot gradedqualityFmaintenanceOpen source intelligence for AI agents — GitHub project-health scoring, package dependency-risk analysis, trending repositories, license checks, and side-by-side package comparison.MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural language queries to search GitHub for trending repositories by topic, summarize project READMEs, and compare multiple repos to uncover ecosystem patterns.2-