AWS Kiro
KiroはAWS(Amazon Web Service)が提供しているvscodeベースのAIエージェント搭載IDEです.
Spec駆動開発の先駆けじゃないかと個人的には思います.
今回はKiroとローカルDockerを使ったGitHub MCP Serverを繋いでGitHubのリポジトリ一覧を取得してみます.
流れ
- Kiroのセットアップ(省略).
- ローカルDocker環境の構築(省略).
- Dockerコンテナイメージの準備.
- GitHubのPersonal Access Tokenの取得.
- KiroでのMCPサーバ設定.
Dockerコンテナイメージの準備
今回はGitHub公式のコンテナを利用するので予めコンテナイメージをpullしておきます.
$ docker pull ghcr.io/github/github-mcp-server:latest
GitHubのPersonal Access Tokenの取得
ここはGitHubの画面で取得します。
- GitHubにログインしたら右上のプロファイルアイコンをクリックして Settings を開く.

- Settingのページで左側メニューの一番下にある Developer settings を開く.

- 左側の Personal access tokens を開いて Token (classic) を開く.
- Generate new token ボタンを押して開いたサブメニューから Generate new token (classic) を開く.

- 名前(Note)を適時入力して、トークンの有効期間(Expiration)を選択しますが、今回は期限なし(No expiration)にする.
- 権限(Select scope)は repo にチェック.

- 最後に画面下の緑の Generate token ボタンをクリック.
- トークンが作成されるので ghp_ から始まる文字列が Personal Access Token になります.

KiroでのMCPサーバ設定
- kiroを立ち上げて左側のkiroタブを開く.
- 一番下の MCP SERVERS の Enable MCP ボタンを開く.

- mcp.json 編集画面が開くのでそこに下記のjsonを貼り付け.
- <ここにPATを記載> のところを上記のGitHub Personal Access Tokenに置き換え.

- 保存すると 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用ローカライゼーション
特定のリポジトリについて詳細情報が必要でしたら、お知らせください。
そうするとこんな感じリポジトリ一覧を教えてくれました(実際の出力風景はこちら)。
注目したいのはリポジトリをカテゴライズしてくれていることですね。
内容を見てカテゴライズした上で概要もつけてくれていますね。



コメント