Provides access to GitHub Trending data, allowing retrieval of trending repositories with filtering options by programming language and time range (daily/weekly/monthly).
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., "@GitHub Trending Serviceshow me the top trending Python projects 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.
🚀 GitHub Trending Service
一个部署在 Cloudflare Pages 上的 GitHub 热门项目服务,提供 REST API 和 MCP 协议支持,让 AI 助手能够实时获取 GitHub 热门项目数据。
✨ 功能特性
🔥 REST API - 标准 HTTP API,获取 GitHub Trending 项目数据
🤖 MCP Server - 支持 Model Context Protocol,让 AI 助手(Claude Desktop/Kiro)直接查询
📄 OpenAPI Spec - 完整的 OpenAPI 3.0 规范,支持 GPT/Gemini Function Calling
⚡ KV 缓存 - 使用 Cloudflare KV 缓存数据,减少 GitHub 请求,提升响应速度
🌍 全球 CDN - 部署在 Cloudflare 边缘网络,全球访问快速
🔄 自动部署 - GitHub 推送自动触发部署,无需手动操作
🌐 在线服务
项目结构
部署方式
方式 1: GitHub 自动部署 (推荐)
将代码推送到 GitHub 仓库
进入 Workers & Pages → Create → Pages → Connect to Git
选择你的 GitHub 仓库
配置构建设置:
Build command:
npm run buildBuild output directory:
public
点击 Save and Deploy
每次 push 到 main 分支会自动部署。
方式 2: 命令行部署
📖 使用指南
1️⃣ REST API 使用
基础请求
按语言筛选
按时间范围筛选
组合使用
响应示例
2️⃣ MCP 配置(AI 客户端使用)
Kiro IDE
在 .kiro/settings/mcp.json 中添加:
注意:虽然
type设置为sse,但 Kiro 会自动检测并使用 StreamableHTTP 传输方式。
Claude Desktop
在 claude_desktop_config.json 中添加:
配置后,AI 助手可以直接调用 get_trending_repos 工具查询热门项目。
3️⃣ GPT/Gemini Function Calling
获取 OpenAPI 规范
Python 示例(OpenAI GPT)
JavaScript 示例
🛠️ 本地开发
安装依赖
启动开发服务器
访问 http://localhost:8788 查看效果。
本地测试 API
🔧 技术栈
运行时: Cloudflare Pages Functions
语言: TypeScript
协议: HTTP REST API + MCP (Model Context Protocol)
缓存: Cloudflare KV
部署: GitHub Actions 自动部署
📊 API 参数说明
GET /api/trending
参数 | 类型 | 必填 | 默认值 | 说明 |
| string | 否 | all | 编程语言(如 python, javascript, go, rust, typescript 等) |
| string | 否 | daily | 时间范围: |
响应字段
字段 | 类型 | 说明 |
| array | 热门项目列表 |
| number | 排名 |
| string | 项目所有者 |
| string | 项目名称 |
| string | 项目 URL |
| string | 项目描述 |
| string | 主要编程语言 |
| number | 总星标数 |
| number | 总 Fork 数 |
| number | 时间段内新增星标数 |
| boolean | 是否来自缓存 |
| string | 筛选的语言 |
| string | 时间范围 |
🎯 MCP 工具说明
配置 MCP 后,AI 助手可以使用以下工具:
get_trending_repos
获取 GitHub 热门项目。
参数:
language(可选): 编程语言筛选since(可选): 时间范围(daily/weekly/monthly)
示例对话:
"最近有什么热门的 Python 项目?"
"本周 JavaScript 有哪些热门仓库?"
"给我看看本月 Rust 的热门项目"
🚀 部署到你自己的 Cloudflare
详细部署步骤请查看 DEPLOY.md
快速部署
Fork 本仓库
在 Cloudflare Dashboard 连接你的 GitHub 仓库
配置构建命令:
npm run build部署完成!
🔐 可选配置
KV 缓存(推荐)
启用 KV 缓存可以:
减少对 GitHub 的请求频率
提升 API 响应速度
避免触发 GitHub 速率限制
配置步骤:
Cloudflare Dashboard → Workers & Pages → KV
创建 Namespace,名称:
TRENDING_CACHE进入 Pages 项目 → Settings → Functions → KV namespace bindings
添加绑定:Variable name =
TRENDING_CACHE
缓存时效:1 小时
自定义域名
进入 Pages 项目 → Custom domains
添加你的域名
按提示配置 DNS 记录
📝 常见问题
Q: API 返回空数据或错误?
A: 可能是 GitHub 临时限制了请求。建议配置 KV 缓存,或稍后重试。
Q: MCP 连接失败?
A: 确认 URL 正确使用 https:// 协议,路径为 /mcp/message。如果遇到 CORS 或超时问题,请检查服务端的 CORS 配置是否正确。
Q: 如何查看日志?
A: Cloudflare Dashboard → 你的项目 → Functions → Logs
Q: 支持哪些编程语言?
A: 支持 GitHub 上所有编程语言,常见的如:python, javascript, typescript, go, rust, java, c++, c#, php, ruby, swift, kotlin 等。
Q: 数据更新频率?
A: 启用缓存后每小时更新一次,未启用缓存则实时获取。
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 License
MIT License - 详见 LICENSE 文件
🔗 相关链接
Made with ❤️ | Powered by Cloudflare Pages