🦔
GitHub MCP Serverを使って、Cursorからissueを操作してみる
GitHubの公式のMCPサーバーがパブリックプレビューで公開されたので使ってみました。
やってみたこと
以下の手順でissueをクローズさせるまでやってみました。
- CursorにGitHubのMCP設定を追加
- CursorでGithubのissueを取得
- 取得した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にツールの種類がリストアップされていますが、抜粋して記述しておきます。
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
ツール名 | 説明 |
---|---|
search_code | GitHub全体のリポジトリでコードを検索します |
search_users | GitHubユーザーを検索します |
Code Scanning
ツール名 | 説明 |
---|---|
get_code_scanning_alert | コードスキャンアラートを取得します |
list_code_scanning_alerts | リポジトリのコードスキャンアラートを一覧表示します |
Discussion