🦔

GitHub MCP Serverを使って、Cursorからissueを操作してみる

に公開

GitHubの公式のMCPサーバーがパブリックプレビューで公開されたので使ってみました。

https://github.blog/changelog/2025-04-04-github-mcp-server-public-preview/

https://github.com/github/github-mcp-server

やってみたこと

以下の手順でissueをクローズさせるまでやってみました。

  1. CursorにGitHubのMCP設定を追加
  2. CursorでGithubのissueを取得
  3. 取得したissueをクローズさせる

1. CursorにGitHubのMCP設定を追加

MCPサーバーの設定に以下のjsonを記述(追記)します。
※事前にGitHubのPersonal Access Tokenを作成しておきます

これで設定は完了です。
※接続がうまくいかない場合はCursorを再起動してみてください。

mcp.json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR TOKEN>"
      }
    }
  }
}

2. CursorでGithubのissueを取得

CursorのAgentモードで現在のリポジトリのissueを取得できます。

3. 取得したissueをクローズさせる

今度はそのまま自然言語でissueをクローズする指示を出します。

GitHubのMCPサーバーでできること

READMEにツールの種類がリストアップされていますが、抜粋して記述しておきます。

https://github.com/github/github-mcp-server?tab=readme-ov-file#tools

Users

ツール名 説明
get_me 認証されたユーザーの詳細を取得します

Issues

ツール名 説明
get_issue リポジトリ内の問題の内容を取得します
get_issue_comments GitHubの問題に対するコメントを取得します
create_issue GitHubリポジトリに新しい問題を作成します
add_issue_comment 問題にコメントを追加します
list_issues リポジトリの問題を一覧表示してフィルタリングします
update_issue GitHubリポジトリの既存の問題を更新します
search_issues 問題とプルリクエストを検索します

Pull Requests

ツール名 説明
get_pull_request 特定のプルリクエストの詳細を取得します
list_pull_requests リポジトリのプルリクエストを一覧表示してフィルタリングします
merge_pull_request プルリクエストをマージします
get_pull_request_files プルリクエストで変更されたファイルのリストを取得します
get_pull_request_status プルリクエストのすべてのステータスチェックの総合ステータスを取得します
update_pull_request_branch プルリクエストブランチをベースブランチからの最新の変更で更新します
get_pull_request_comments プルリクエストのレビューコメントを取得します
get_pull_request_reviews プルリクエストのレビューを取得します
create_pull_request_review プルリクエストレビューにレビューを作成します
create_pull_request 新しいプルリクエストを作成します

Repositories

ツール名 説明
create_or_update_file リポジトリ内の単一ファイルを作成または更新します
push_files 単一のコミットで複数のファイルをプッシュします
search_repositories GitHubリポジトリを検索します
create_repository 新しいGitHubリポジトリを作成します
get_file_contents ファイルまたはディレクトリの内容を取得します
fork_repository リポジトリをフォークします
create_branch 新しいブランチを作成します
list_commits リポジトリのブランチのコミットを取得します
ツール名 説明
search_code GitHub全体のリポジトリでコードを検索します
search_users GitHubユーザーを検索します

Code Scanning

ツール名 説明
get_code_scanning_alert コードスキャンアラートを取得します
list_code_scanning_alerts リポジトリのコードスキャンアラートを一覧表示します

記事一覧

Discussion