mcpField
G
GitHub MCP Server

GitHub MCP Server

ローカル
github.com/Sami-07バージョン管理077 週間前に更新

GitHub MCP Server について

GitHub MCP Serverは、GitHubのアカウント、リポジトリ、イシュー、コミットステータスの操作をMCPクライアントに公開します。呼び出し可能なツールとURIベースのリソースを備え、GitHubトークンでアクセスします。

主な機能

  1. 01ユーザーと所有者の情報取得
  2. 02リポジトリとフォロワーの一覧表示
  3. 03リポジトリのイシューの取得と作成
  4. 04コミットステータスの確認
  5. 05リソース経由でのGitHubデータ参照

活用シーン

  1. 01ユーザーの公開プロフィールとリポジトリの確認
  2. 02リポジトリのイシュー一覧の取得
  3. 03MCPクライアントからのイシュー作成
  4. 04コミットステータスの確認

MCP 対応

ツールとURIベースのリソースを通じて、GitHubの操作をMCPクライアントに提供します。`.env`ファイルでGitHubトークンを設定します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

GitHub MCP サーバー

さまざまなツールやリソースを通じて GitHub との連携機能を提供する、シンプルなカスタム構築の MCP サーバーです。

デモ

https://github.com/user-attachments/assets/63b92a95-56f3-4290-9c73-acc4ad407246

機能

  • ユーザー情報とプロフィールの詳細を取得
  • ユーザーのリポジトリとフォロワーを一覧表示
  • リポジトリの Issue を取得
  • 新しい Issue を作成
  • コミットのステータスを取得
  • オーナー情報を取得
  • リソースベースで GitHub データにアクセス

セットアップ

  1. 依存関係をインストールします。
pip install -r requirements.txt
  1. プロジェクトのルートに .env ファイルを作成し、GitHub トークンを追加します。
GITHUB_TOKEN=your_github_token_here

次の権限を持つ GitHub トークンは、https://github.com/settings/personal-access-tokens で作成できます。

  • repo(プライベートリポジトリの完全な制御)
  • read:user(ユーザープロフィールデータの読み取り)
  • user:follow(ユーザーのフォローとフォロー解除)

利用可能なツール

  • owner_info(): 認証済み GitHub ユーザーの情報を取得
  • get_user_info(username): GitHub ユーザーの情報を取得
  • list_followers(username, limit=10): GitHub ユーザーのフォロワーを一覧表示
  • list_repositories(username, limit=5): GitHub ユーザーのリポジトリを一覧表示
  • get_repo_issues(owner, repo, state="open"): リポジトリの Issue を取得
  • create_issue(owner, repo, title, body, labels=None): 新しい Issue を作成
  • get_commit_statuses(owner, repo, sha): 特定のコミット SHA のステータスを取得

利用可能なリソース

  • github://user/{username}: ユーザーの GitHub プロフィールを取得
  • github://followers/{username}: ユーザーのフォロワーを一覧表示
  • github://repos/{username}: ユーザーのリポジトリを一覧表示
  • github://issues/{owner}/{repo}: リポジトリの Issue を取得
  • github://commit-status/{owner}/{repo}/{sha}: 特定のコミットのステータスを取得

サーバーの実行

python server.py

使用例

# Get authenticated user information
user_info = owner_info()

# Get user information
user_info = get_user_info("octocat")

# List followers
followers = list_followers("octocat", limit=5)

# List repositories
repos = list_repositories("octocat", limit=3)

# Get repository issues
issues = get_repo_issues("octocat", "Hello-World")

# Create a new issue
new_issue = create_issue(
    "octocat",
    "Hello-World",
    "Bug Report",
    "Found a bug in the code",
    labels=["bug"]
)

# Get commit statuses
statuses = get_commit_statuses("octocat", "Hello-World", "abc123")

レスポンス形式の例

ユーザー情報
{
    "name": "The Octocat",
    "login": "octocat",
    "bio": "GitHub's mascot",
    "public_repos": 8,
    "followers": 1000,
    "following": 9
}
リポジトリ情報
{
    "name": "Hello-World",
    "description": "My first repository",
    "stars": 100,
    "forks": 50,
    "language": "Python"
}
Issue 情報
{
    "number": 1,
    "title": "Bug Report",
    "state": "open",
    "created_at": "2024-05-04T14:35:40.784Z",
    "user": "octocat"
}

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。