Kiroでgithub-mcp-serverとつないでリポジトリの一覧を取得してみる

未分類

AWS Kiro

KiroはAWS(Amazon Web Service)が提供しているvscodeベースのAIエージェント搭載IDEです.
Spec駆動開発の先駆けじゃないかと個人的には思います.

今回はKiroとローカルDockerを使ったGitHub MCP Serverを繋いでGitHubのリポジトリ一覧を取得してみます.

流れ

  1. Kiroのセットアップ(省略).
  2. ローカルDocker環境の構築(省略).
  3. Dockerコンテナイメージの準備.
  4. GitHubのPersonal Access Tokenの取得.
  5. KiroでのMCPサーバ設定.
1と2は今回の主題ではないので省略しますが、以下の環境はUbuntu 24.04 LTS Desktopです.

Dockerコンテナイメージの準備

今回はGitHub公式のコンテナを利用するので予めコンテナイメージをpullしておきます.

$ docker pull ghcr.io/github/github-mcp-server:latest

GitHubのPersonal Access Tokenの取得

ここはGitHubの画面で取得します。

  1. GitHubにログインしたら右上のプロファイルアイコンをクリックして Settings を開く.
  2. Settingのページで左側メニューの一番下にある Developer settings を開く.
  3. 左側の Personal access tokens を開いて Token (classic) を開く.
  4. Generate new token ボタンを押して開いたサブメニューから Generate new token (classic) を開く.
  5. 名前(Note)を適時入力して、トークンの有効期間(Expiration)を選択しますが、今回は期限なし(No expiration)にする.
  6. 権限(Select scope)は repo にチェック.
  7. 最後に画面下の緑の Generate token ボタンをクリック.
  8. トークンが作成されるので ghp_ から始まる文字列が Personal Access Token になります.

KiroでのMCPサーバ設定

  1. kiroを立ち上げて左側のkiroタブを開く.
  2. 一番下の MCP SERVERSEnable MCP ボタンを開く.
  3. mcp.json 編集画面が開くのでそこに下記のjsonを貼り付け.
  4. <ここにPATを記載> のところを上記のGitHub Personal Access Tokenに置き換え.
  5. 保存すると MCP SERVERS のところに github となればOK.

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": "<ここにPATを記載>"
      },
      "disabled": false,
      "autoApprove": [],
      "disabledTools": []
    }
  }
}

MCPの設定ができたらkiroの画面右側のchatで聞いてみましょう。

githubからリポジトリの一覧を取得して

 

GitHubからあなた(torut)のリポジトリ一覧を取得しました。合計21個のリポジトリがあります。主なリポジトリをカテゴリ別に整理すると:

AWS・クラウド関連:
aws-cloudwatch-munin-plugin (Shell) – CloudWatchからデータを取得するmuninプラグイン
cloudwatch (Shell) – 自作カスタムメトリクス集
jaws09-handson (HTML) – JAWS-UG Shimane vol.9 ハンズオン

開発環境・インフラ:
vagrant-ubuntu-php7 – PHP7開発環境
vagrant-centos6 (HTML) – CentOS6.5 x86_64環境
vagrant-ubuntu-ruby – Ruby開発環境
vagrant-ubuntu-xenial64-nodejs (Shell) – Node.js開発環境
fuelphp-docker (Shell) – FuelPHP用docker-compose
ansible-node.js – Node.js開発環境用ansible-playbook
ansible-ruby – Ruby用ansible

PHP・Web開発:
memopad (PHP) – シンプルなメモパッドシステム
CodeIgniterPlugins (PHP) – CodeIgniterプラグイン集

Ruby・IoT関連:
ruby-bme280-to-csv (Ruby) – BME280センサーデータをCSVに出力
ruby-bme280-to-slack (Ruby) – BME280センサーデータをSlackに通知
mail-to-slack (Ruby) – メールをSlackに通知するスクリプト

その他:
dotfiles (Emacs Lisp) – 設定ファイル集
php5-fpm-multi-munin-plugin (Perl) – PHP-FPM用muninプラグイン
redmine_ttsoft_locales (Ruby) – Redmine用ローカライゼーション

特定のリポジトリについて詳細情報が必要でしたら、お知らせください。

そうするとこんな感じリポジトリ一覧を教えてくれました(実際の出力風景はこちら)。
注目したいのはリポジトリをカテゴライズしてくれていることですね。
内容を見てカテゴライズした上で概要もつけてくれていますね。

コメント

タイトルとURLをコピーしました