mcp-github-trending
The mcp-github-trending server provides access to GitHub trending data:
Access trending repositories and developers via
get_github_trending_repositoriesandget_github_trending_developersfunctionsFilter results by:
Programming language (e.g., Python, JavaScript)
Time period (daily, weekly, monthly)
Spoken language
Returns well-formatted JSON responses for both repositories and developers
Provides access to GitHub trending repositories and developers data, with filtering capabilities by programming language, time period, and spoken language
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-github-trendingshow me trending Python repositories from this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-github-trending MCP Server
A MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.
Features
Access GitHub trending repositories and developers data
Filter by programming language
Filter by time period (daily, weekly, monthly)
Filter by spoken language
Returns well-formatted JSON responses
Related MCP server: ossinsight-mcp
Tools
The server implements the following tools:
get_github_trending_repositories
Gets trending repositories from GitHub with the following parameters:
language(optional): Programming language to filter repositories by (e.g. "python", "javascript")since(optional): Time period to filter repositories by ("daily", "weekly", "monthly"). Defaults to "daily"spoken_language(optional): Spoken language to filter repositories by
Example response:
[
{
"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
Gets trending developers from GitHub with the following parameters:
language(optional): Programming language to filter by (e.g. "python", "javascript")since(optional): Time period to filter by ("daily", "weekly", "monthly"). Defaults to "daily"
Example response:
[
{
"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"
}
}
]Installation
Prerequisites
Python 3.12
Install Steps
Install the package:
pip install mcp-github-trendingClaude Desktop Configuration
On MacOS:
~/Library/Application\ Support/Claude/claude_desktop_config.jsonOn Windows:
%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"
]
}
}
}Development
Building and Publishing
Sync dependencies and update lockfile:
uv syncBuild package distributions:
uv buildPublish to PyPI:
uv publishNote: Set PyPI credentials via environment variables or command flags:
Token:
--tokenorUV_PUBLISH_TOKENUsername/password:
--username/UV_PUBLISH_USERNAMEand--password/UV_PUBLISH_PASSWORD
Debugging
For the best debugging experience, use the MCP Inspector.
Launch the MCP Inspector via npm:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-github-trending run mcp-github-trendingThe Inspector will display a URL that you can access in your browser to begin debugging.
License
This project is licensed under the MIT License - see the LICENSE file for details.
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. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
get_github_trending_developers - First observed
get_github_trending_repositories
TDQS
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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
Trending/new/changed MCP servers: a liveness-probed freshness index + x402-paid change-data API
Related MCP Servers
- -licenseNot gradedqualityAmaintenanceMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.117,29690,042MIT
- 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.18143MIT
- 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.467ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hetaoBackend/mcp-github-trending'
If you have feedback or need assistance with the MCP directory API, please join our Discord server