GitHub Trending MCP Server
A Model Context Protocol (MCP) server that fetches GitHub trending repositories and filters them by keywords, programming language, and time period.
Key Features
- Fetch trending repositories from GitHub
- Filter by keywords (default: "mcp", "model context protocol", "skill")
- Filter by programming language (Python, TypeScript, Rust, etc.)
- Filter by time period (daily, weekly, monthly)
- Rich response format with keyword match details and locations
- Runs as a standard MCP server over stdio
Installation
From PyPI
pip install yw-github-trending-mcp
From Source
git clone https://github.com/snyangwei2/yw-github-trending-mcp.git
cd yw-github-trending-mcp
pip install -e .
Configuration
Add the server to your MCP client configuration. Below are examples for Claude Desktop.
Claude Desktop (macOS)
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"github-trending": {
"command": "python",
"args": ["-m", "github_trending_mcp"]
}
}
}
Claude Desktop (Windows)
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"github-trending": {
"command": "cmd",
"args": ["/c", "python", "-m", "github_trending_mcp"]
}
}
}
Tip: If you installed the package in a virtual environment, use the full path to the Python binary instead of just
"python".
Usage
Once configured, you can ask your MCP client natural language questions like:
- "Show me trending MCP repositories on GitHub"
- "What are the trending Python repositories this week?"
- "Find trending repos related to model context protocol"
- "Show me weekly trending Rust projects"
- "Are there any trending repositories about skills or MCP?"
The server will scrape GitHub Trending, filter results by your criteria, and return a formatted markdown response.
Tool: get_trending_repos
The server exposes a single tool with the following parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
keywords |
string[] |
No | Keywords to match in repo names and descriptions. Default: ["mcp", "model context protocol", "skill"] |
language |
string |
No | Programming language filter (e.g., "python", "typescript", "rust") |
since |
string |
No | Time period: "daily" (default), "weekly", or "monthly" |
spoken_language |
string |
No | Human language filter (e.g., "en", "zh", "ja") |
Example Response
# GitHub Trending Repositories
Found 3 repositories matching keywords: mcp, model context protocol, skill
## 1. anthropics/mcp-server
**URL:** https://github.com/anthropics/mcp-server
**Description:** Reference implementation of the Model Context Protocol
**Language:** TypeScript
**Stars:** 12,345 (+230 today)
**Forks:** 1,024
**Matched Keywords:** mcp, model context protocol
- 'mcp' found in: name, description
- 'model context protocol' found in: description
Development
Setup
git clone https://github.com/snyangwei2/yw-github-trending-mcp.git
cd yw-github-trending-mcp
pip install -e ".[dev]"
Run Tests
pytest
Format Code
black src/ tests/
Type Check
mypy src/
Lint
ruff check src/ tests/
Publishing
PyPI
pip install build twine
python -m build
twine upload dist/*
License
MIT License. See LICENSE for details.
Contributing
Contributions are welcome! To get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes and add tests
- Run the test suite (
pytest) - Run formatting and linting (
black src/ tests/ && ruff check src/ tests/) - Submit a pull request
Metadata
Release files for yw-github-trending-mcp 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| yw_github_trending_mcp-1.0.2.tar.gz | 23.5 kB | Without provenance | Details for yw_github_trending_mcp-1.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| yw_github_trending_mcp-1.0.2-py3-none-any.whl | Python 3 | none | any | Details for yw_github_trending_mcp-1.0.2-py3-none-any.whl |
Total release size: 37.1 kB
Release files / yw_github_trending_mcp-1.0.2.tar.gz
| Download URL | yw_github_trending_mcp-1.0.2.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eccef8b473feb096bae1335fc14b5f7c09d1cfd8b0d0d6a21a14b7718a57bd88
|
|
BLAKE2b-256 checksum How to use checksums |
7ef4e5af13b253d13599b7b584f0b91a3bd2036480292b1c95496b9c4c167a75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / yw_github_trending_mcp-1.0.2-py3-none-any.whl
| Download URL | yw_github_trending_mcp-1.0.2-py3-none-any.whl |
|---|---|
| Size | 13.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ffe97b47e168e9e939ec39bfed6efaa246ec97a7e252f97dbb75ea7547678c9b
|
|
BLAKE2b-256 checksum How to use checksums |
060052a85d50df685c94c8b81c4ba4277937d4376f26ac6cf91de519acd2af57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for yw-github-trending-mcp 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.