mcp-github-trending
mcp-github-trending MCP サーバー
シンプルな API インターフェースを通じて GitHub のトレンド リポジトリと開発者データへのアクセスを提供する MCP サーバー。
特徴
GitHubのトレンドリポジトリと開発者データにアクセスする
プログラミング言語でフィルタリング
期間(日次、週次、月次)でフィルタリング
話し言葉でフィルタリング
適切にフォーマットされたJSONレスポンスを返す
Related MCP server: ossinsight-mcp
ツール
サーバーは次のツールを実装します。
get_github_trending_repositories
次のパラメータを使用して、GitHub からトレンドのリポジトリを取得します。
language(オプション): リポジトリをフィルタリングするプログラミング言語 (例: "python"、"javascript")since(オプション): リポジトリをフィルタリングする期間(「daily」、「weekly」、「monthly」)。デフォルトは「daily」spoken_language(オプション): リポジトリをフィルタリングする言語
応答例:
[
{
"name": "repository-name",
"fullname": "owner/repository-name",
"url": "https://github.com/owner/repository-name",
"description": "Repository description",
"language": "Python",
"stars": 1000,
"forks": 100,
"current_period_stars": 50
}
]get_github_trending_developers
次のパラメータを使用して、GitHub からトレンドの開発者を取得します。
language(オプション): フィルタリングするプログラミング言語 (例: "python"、"javascript")since(オプション): フィルタリングする期間(「daily」、「weekly」、「monthly」)。デフォルトは「daily」
応答例:
[
{
"username": "developer",
"name": "Developer Name",
"url": "https://github.com/developer",
"avatar": "https://avatars.githubusercontent.com/u/123456",
"repo": {
"name": "repository-name",
"description": "Repository description",
"url": "https://github.com/developer/repository-name"
}
}
]インストール
前提条件
Python 3.12
インストール手順
パッケージをインストールします。
pip install mcp-github-trendingクロードデスクトップ構成
MacOSの場合:
~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindowsの場合:
%APPDATA%/Claude/claude_desktop_config.json{
"mcpServers": {
"mcp-github-trending": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-github-trending",
"run",
"mcp-github-trending"
]
}
}
}{
"mcpServers": {
"mcp-github-trending": {
"command": "uvx",
"args": [
"mcp-github-trending"
]
}
}
}発達
建築と出版
依存関係を同期し、ロックファイルを更新します。
uv syncパッケージディストリビューションをビルドします。
uv buildPyPI に公開:
uv publish注: 環境変数またはコマンドフラグを使用して PyPI 資格情報を設定します。
トークン:
--tokenまたはUV_PUBLISH_TOKENユーザー名/パスワード:
--username/UV_PUBLISH_USERNAMEおよび--password/UV_PUBLISH_PASSWORD
デバッグ
最適なデバッグ エクスペリエンスを得るには、 MCP Inspectorを使用します。
npm経由で MCP Inspector を起動します。
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-github-trending run mcp-github-trendingインスペクターには、ブラウザでアクセスしてデバッグを開始できる URL が表示されます。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
Available Tools
2 toolsget_github_trending_developersC
Get trending developers on github
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language to filter repositories by | |
| since | No | Time period to filter repositories by | |
| spoken_language | No | Spoken language to filter repositories by |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the action without disclosing behavioral traits like rate limits, authentication needs, or output format. It's a read operation implied by 'Get', but details on pagination, error handling, or data freshness are missing.
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 with zero waste, front-loading the core purpose. It's appropriately sized for a simple tool, making it easy to parse quickly.
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 lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects or return values, leaving gaps in understanding how the tool behaves and what results to expect, which is inadequate for a tool with parameters and no structured output info.
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 description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional meaning beyond implying filtering for 'trending developers', which aligns with the schema but doesn't enhance understanding. Baseline 3 is appropriate as 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?
The description 'Get trending developers on github' clearly states the verb ('Get') and resource ('trending developers'), making the purpose understandable. However, it doesn't differentiate from the sibling tool 'get_github_trending_repositories' beyond the resource type, which is a minor gap in specificity.
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 provides no guidance on when to use this tool versus alternatives, such as the sibling tool for trending repositories. It lacks any context about scenarios where developers vs. repositories are relevant, leaving usage decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_github_trending_repositoriesC
Get trending repositories on github
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language to filter repositories by | |
| since | No | Time period to filter repositories by | |
| spoken_language | No | Spoken language to filter repositories by |
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 states the action ('Get') but doesn't describe any behavioral traits such as rate limits, authentication requirements, data freshness, or what 'trending' entails (e.g., based on stars, forks). This leaves significant gaps in understanding how the tool behaves in practice.
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 with zero waste. It's front-loaded with the core purpose and uses minimal words to convey the essential action, making it highly concise and well-structured for quick understanding.
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 complexity of a tool that fetches trending data with three parameters and no output schema, the description is incomplete. It lacks details on what 'trending' means, the return format, any limitations, or how to interpret results. Without annotations or an output schema, the description should provide more context to be fully helpful.
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 input schema has 100% description coverage, with clear documentation for all three parameters (language, since, spoken_language). The description adds no additional parameter semantics beyond what's in the schema, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as 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?
The description clearly states the verb ('Get') and resource ('trending repositories on github'), making the purpose immediately understandable. It distinguishes from the sibling tool 'get_github_trending_developers' by specifying repositories rather than developers. However, it doesn't specify what 'trending' means or the scope (e.g., global vs. user-specific), keeping it from a perfect score.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'get_github_trending_developers' or any other potential tools for GitHub data. There's no context about prerequisites, limitations, or typical use cases, leaving the agent with minimal usage direction.
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.
2 tool updates
v1.0.0- First observed
get_github_trending_developers - First observed
get_github_trending_repositories
TDQS
Scored across 2 tools
The two tools have perfectly distinct purposes: one targets trending developers, the other trending repositories. There is no overlap in functionality, and an agent can easily differentiate between them based on the clear resource distinction.
Both tools follow an identical verb_noun pattern with 'get_github_trending_' prefix, ensuring complete predictability. The naming is highly consistent and readable, with no deviations in style or structure.
With only 2 tools, the server feels thin for its apparent scope of 'github-trending'. While it covers two key resources, the lack of filtering, sorting, or time-range options limits utility, making the count borderline insufficient for robust trending analysis.
The server provides basic access to trending developers and repositories, but there are notable gaps. Missing operations include filtering by language, location, or time period, and there is no way to get historical trending data or detailed analytics, which are common needs in this domain.
Maintenance
Related MCP Connectors
Create, deploy, and operate MCP servers directly from your GitHub repositories.
A MCP server built for developers enabling Git based project management with project and personal…
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- -licenseNot gradedqualityAmaintenanceMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.94,627 npm91,276MIT
- AlicenseBqualityDmaintenanceAn MCP server that provides access to the OSS Insight Public API for GitHub repository analytics. It enables querying trending repositories, contributor statistics, and collection rankings through various tools.188 npm3MIT
- FlicenseNot gradedqualityDmaintenanceA simple MCP server that provides repository information (list repos, get repo details) using GitHub's public REST API, without needing any API keys or tokens.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides tools for interacting with the GitHub API, enabling AI assistants to query repositories, pull requests, issues, commits, users, and more.538 npmISC