返回市场
GitHub星数MCP服务器

GitHub星数MCP服务器

作者:Dustyposa2 星标更新:2025-08-05

项目介绍

GitHub Stars MCP Server

一款高性能的MCP(模型上下文协议)服务器,用于GitHub星标仓库分析和时间线追踪。

功能

  • 🌟 星标仓库管理:获取并分析用户的GitHub星标仓库
  • 📊 数据分析:提供语言分布、主题统计、星标趋势等分析
  • 🚀 批量处理:支持批量检索仓库详情和README内容
  • 💾 多级缓存:L1(内存)+ L2(Redis)缓存系统提升性能
  • 🔧 简化工具集:4个核心工具,专注于核心功能

安装

  1. 克隆仓库:
git clone <repository-url>
cd github-stars-mcp-server
  1. 安装依赖:
pip install -e .
  1. 配置环境变量:
export GITHUB_TOKEN="your_github_token_here"
export REDIS_URL="redis://localhost:6379/0"  # 可选

使用说明

启动服务器

python -m github_stars_mcp.server

可用工具

1. 获取星标仓库列表

get_user_starred_repositories(
    username="",  # 空字符串表示当前认证用户
    limit=50,     # 返回数量限制 (1-100)
    cursor=""     # 分页游标
)

2. 获取单个仓库详情

get_repo_details(
    repository_name="owner/repo"  # 仓库名称格式: owner/repo
)

3. 批量获取仓库详情

get_batch_repo_details(
    repository_names=["owner/repo1", "owner/repo2"],
    max_concurrent=1
0  # 最大并发请求数 (1-20)
)

4. 创建综合分析报告

create_starred_repo_analysis_bundle(
    username="",           # GitHub 用户名 (可选)
    include_readme=True,   # 是否包含 README 内容
    max_repositories=100,  # 最大分析仓库数 (1-200)
    concurrent_requests=10 # 并发请求数 (1-20)
)

配置选项

环境变量

  • GITHUB_TOKEN: GitHub 个人访问令牌 (必需)
  • REDIS_URL: Redis 连接URL (可选,默认: redis://localhost:6379/0 )
  • LOG_LEVEL: 日志级别 (可选,默认: INFO)
  • DANGEROUSLY_OMIT_AUTH: 跳过身份验证检查 (可选,默认: true)

缓存配置

  • L1 缓存:内存中的TTL缓存,默认128条目,5分钟过期
  • L2 缓存:Redis缓存,用于持久化和跨实例共享

数据模型

StarredRepository

包含完整的星标仓库信息,包括:

  • 基本信息(名称、描述、URL)
  • 统计数据(星标数量、分支数量)
  • 元数据(创建时间、更新时间、星标时间)
  • 标签和主题

AnalysisBundle

综合分析报告,包括:

  • 语言分布统计
  • 主题分布统计
  • 星标数量统计
  • 处理摘要和元数据

错误处理

服务器包含全面的错误处理机制:

  • AuthenticationError: GitHub身份验证失败
  • RateLimitError: API速率限制
  • GitHubAPIError: GitHub API 错误
  • CacheError: 缓存操作错误
  • ConfigurationError: 配置错误

性能优化

  • 多级缓存系统减少API调用
  • 并发控制避免速率限制
  • 分页支持处理大量数据
  • 异步操作提高响应速度

开发

运行测试

pytest

代码审查

ruff check src/
mypy src/

格式化代码

ruff format src/

许可证

MIT 许可证

贡献

欢迎提交Issue和Pull Requests!