mcp_agent について
mcp_agent は GitHub ユーザーの Star したリポジトリを取得・分析する MCP サーバーで、公開リポジトリを整理したい開発者向けです。統計の確認に加え、検索や言語・トピックなどによる絞り込みができます。
主な機能
- 01ユーザーの Star リポジトリ取得
- 02言語・トピック分布の集計
- 03名前・説明・トピックの検索
- 04言語・トピック・状態による絞り込み
活用シーン
- 01ユーザーの Star リポジトリ全体の把握
- 02Star 一覧から特定トピックの検索
- 03言語や Star 数によるリポジトリの絞り込み
MCP 対応
GitHub REST API v3 を利用し、Star リポジトリの取得・分析・検索・絞り込みを行うツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GitHub Stars MCP サーバー
GitHub ユーザーが Star したプロジェクトを分析する MCP(Model Context Protocol)サーバーです。
機能
この MCP サーバーは、GitHub ユーザーが Star したプロジェクトを分析するための以下のツールを提供します。
1. get_starred_repos - Star したプロジェクトの一覧を取得
指定した GitHub ユーザーが Star したプロジェクトの一覧を、詳細情報とともに取得します。
パラメーター:
username(必須):GitHub ユーザー名limit(任意):返すプロジェクトの最大数
例:
{
"username": "torvalds",
"limit": 10
}
2. analyze_starred_repos - Star したプロジェクトを分析
ユーザーが Star したプロジェクトを包括的に分析し、統計情報を生成します。
パラメーター:
username(必須):GitHub ユーザー名
分析内容:
- Star の合計数
- プログラミング言語の分布
- トピックの分析
- Star 数が最も多いプロジェクト
- フォーク数が最も多いプロジェクト
- 最近 Star したプロジェクト
- アーカイブ済みプロジェクト数
- Star 数とフォーク数の平均
例:
{
"username": "octocat"
}
3. search_starred_repos - Star したプロジェクトを検索
ユーザーが Star したプロジェクトを検索します。プロジェクト名、説明、トピックを検索できます。
パラメーター:
username(必須):GitHub ユーザー名query(必須):検索キーワード
例:
{
"username": "octocat",
"query": "machine learning"
}
4. filter_starred_repos - Star したプロジェクトをフィルタリング
さまざまな条件に基づいて、Star したプロジェクトをフィルタリングします。
パラメーター:
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(公開リポジトリ情報へのアクセスに使用)を選択します。 - トークンを生成してコピーします。
-
環境変数を設定します。
export GITHUB_TOKEN="your_token_here"
または、MCP クライアントの使用時に環境変数を設定します。
注意: トークンを使用しない場合、API 呼び出しはレート制限(1 時間あたり 60 リクエスト)の対象になります。トークンを使用すると、制限は 1 時間あたり 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
レート制限
- 未認証リクエスト:1 時間あたり 60 回
- 認証済みリクエスト:1 時間あたり 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 を設定します。
-
ユーザー名が存在しない
- ユーザー名が正しいか確認します。
- ユーザーが Star したプロジェクトが公開されていることを確認します。
-
ネットワーク接続エラー
- ネットワーク接続を確認します。
- api.github.com にアクセスできることを確認します。
ライセンス
MIT License
コントリビューション
Issue と Pull Request の投稿を歓迎します!
関連リソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。