jameshung2015/mcp_agent
If you are the rightful owner of mcp_agent and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The mcp_agent is a public server designed to facilitate communication and data exchange using the Model Context Protocol (MCP). It serves as a bridge between different systems and applications, enabling seamless integration and interaction.
GitHub Stars MCP Server
一个用于分析 GitHub 用户 Star 项目的 MCP (Model Context Protocol) 服务器。
功能特性
这个 MCP 服务器提供了以下工具来分析 GitHub 用户的 starred 项目:
1. get_starred_repos - 获取 Star 项目列表
获取指定 GitHub 用户的 starred 项目列表,包含详细信息。
参数:
username(必需): GitHub 用户名limit(可选): 返回的最大项目数量
示例:
{
"username": "torvalds",
"limit": 10
}
2. analyze_starred_repos - 分析 Star 项目
对用户的 starred 项目进行全面分析,生成统计信息。
参数:
username(必需): GitHub 用户名
分析包括:
- 总 star 数量统计
- 编程语言分布
- 主题(topics)分析
- 最多 star 的项目
- 最多 fork 的项目
- 最近 star 的项目
- 归档项目数量
- 平均 star 和 fork 数
示例:
{
"username": "octocat"
}
3. search_starred_repos - 搜索 Star 项目
在用户的 starred 项目中搜索,支持在项目名称、描述和主题中搜索。
参数:
username(必需): GitHub 用户名query(必需): 搜索关键词
示例:
{
"username": "octocat",
"query": "machine learning"
}
4. filter_starred_repos - 过滤 Star 项目
根据各种条件过滤 starred 项目。
参数:
username(必需): GitHub 用户名language(可选): 按编程语言过滤topic(可选): 按主题过滤min_stars(可选): 最小 star 数量archived(可选): 按归档状态过滤 (true/false)
示例:
{
"username": "octocat",
"language": "Python",
"min_stars": 1000,
"archived": false
}
安装
依赖要求
- Python 3.10 或更高版本
- uv (推荐) 或 pip
使用 uv 安装(推荐)
# 克隆仓库
git clone <repository-url>
cd mcp_agent
# 使用 uv 安装依赖
uv pip install -e .
使用 pip 安装
# 克隆仓库
git clone <repository-url>
cd mcp_agent
# 安装依赖
pip install -e .
配置
GitHub Token(可选但推荐)
为了避免 GitHub API 速率限制,建议配置 GitHub Personal Access Token:
-
在 GitHub 上创建 Personal Access Token:
- 访问 https://github.com/settings/tokens
- 点击 "Generate new token (classic)"
- 选择权限:
public_repo(用于访问公开仓库信息) - 生成并复制 token
-
设置环境变量:
export GITHUB_TOKEN="your_token_here"
或者在使用 MCP 客户端时配置环境变量。
注意: 不使用 token 时,API 调用会受到速率限制(每小时 60 次请求)。使用 token 后限制提高到每小时 5000 次。
使用方法
作为 MCP 服务器运行
在 Claude Desktop 或其他 MCP 客户端中配置:
{
"mcpServers": {
"github-stars": {
"command": "python",
"args": ["-m", "github_stars_mcp"],
"cwd": "/path/to/mcp_agent",
"env": {
"GITHUB_TOKEN": "your_token_here"
}
}
}
}
或者使用 uv:
{
"mcpServers": {
"github-stars": {
"command": "uv",
"args": ["run", "python", "-m", "github_stars_mcp"],
"cwd": "/path/to/mcp_agent",
"env": {
"GITHUB_TOKEN": "your_token_here"
}
}
}
}
直接运行
# 设置 GitHub token(可选)
export GITHUB_TOKEN="your_token_here"
# 运行服务器
python -m github_stars_mcp
# 或使用 uv
uv run python -m github_stars_mcp
使用示例
示例 1:获取用户的 Star 项目
使用 get_starred_repos 工具获取 torvalds 的前 20 个 starred 项目
示例 2:分析 Star 项目统计
使用 analyze_starred_repos 工具分析 octocat 的 starred 项目
示例 3:搜索特定主题的项目
使用 search_starred_repos 工具在 octocat 的 starred 项目中搜索 "rust"
示例 4:过滤 Python 项目
使用 filter_starred_repos 工具过滤 octocat 的 starred 项目,
只显示 Python 语言且 star 数超过 1000 的项目
API 参考
GitHub API
本工具使用 GitHub REST API v3:
- 端点:
GET https://api.github.com/users/{username}/starred - 文档:https://docs.github.com/en/rest/activity/starring
速率限制
- 未认证请求:每小时 60 次
- 已认证请求:每小时 5000 次
开发
运行测试
# 安装开发依赖
uv pip install -e ".[dev]"
# 运行测试
pytest
项目结构
mcp_agent/
├── src/
│ └── github_stars_mcp/
│ ├── __init__.py
│ ├── __main__.py
│ ├── server.py # MCP 服务器实现
│ └── github_client.py # GitHub API 客户端
├── pyproject.toml
├── README.md
└── .gitignore
故障排除
常见问题
-
API 速率限制错误
- 解决方案:配置 GitHub Personal Access Token
-
用户名不存在
- 检查用户名是否正确
- 确保用户的 starred 项目是公开的
-
网络连接错误
- 检查网络连接
- 确认可以访问 api.github.com
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!