一个高性能的 MCP (Model Context Protocol) 服务器,用于 GitHub 星标仓库分析和时间线跟踪。
- 🌟 星标仓库管理: 获取和分析用户的 GitHub 星标仓库
- 📊 数据分析: 提供语言分布、主题统计、星标趋势等分析
- 🚀 批量处理: 支持批量获取仓库详情和 README 内容
- 💾 多级缓存: L1 (内存) + L2 (Redis) 缓存系统提升性能
- 🔧 精简工具集: 4个核心工具,专注于核心功能
- 克隆仓库:
git clone <repository-url>
cd github-stars-mcp-server- 安装依赖:
pip install -e .- 配置环境变量:
export GITHUB_TOKEN="your_github_token_here"
export REDIS_URL="redis://localhost:6379/0" # 可选python -m github_stars_mcp.serverget_user_starred_repositories(
username="", # 空字符串表示当前认证用户
limit=50, # 返回数量限制 (1-100)
cursor="" # 分页游标
)get_repo_details(
repository_name="owner/repo" # 仓库名称格式: owner/repo
)get_batch_repo_details(
repository_names=["owner/repo1", "owner/repo2"],
max_concurrent=10 # 最大并发请求数 (1-20)
)create_starred_repo_analysis_bundle(
username="", # GitHub 用户名 (可选)
include_readme=True, # 是否包含 README 内容
max_repositories=100, # 最大分析仓库数 (1-200)
concurrent_requests=10 # 并发请求数 (1-20)
)GITHUB_TOKEN: GitHub Personal Access Token (必需)REDIS_URL: Redis 连接 URL (可选,默认: redis://localhost:6379/0)LOG_LEVEL: 日志级别 (可选,默认: INFO)DANGEROUSLY_OMIT_AUTH: 是否跳过认证检查 (可选,默认: true)
- L1 缓存: 内存中的 TTL 缓存,默认 128 个条目,5 分钟过期
- L2 缓存: Redis 缓存,用于持久化和跨实例共享
包含星标仓库的完整信息,包括:
- 基本信息 (名称、描述、URL)
- 统计数据 (星标数、分叉数)
- 元数据 (创建时间、更新时间、星标时间)
- 标签和主题
综合分析报告,包含:
- 语言分布统计
- 主题分布统计
- 星标数量统计
- 处理摘要和元数据
服务器包含完善的错误处理机制:
AuthenticationError: GitHub 认证失败RateLimitError: API 速率限制GitHubAPIError: GitHub API 错误CacheError: 缓存操作错误ConfigurationError: 配置错误
- 多级缓存系统减少 API 调用
- 并发控制避免速率限制
- 分页支持处理大量数据
- 异步操作提升响应速度
pytestruff check src/
mypy src/ruff format src/MIT License
欢迎提交 Issue 和 Pull Request!