こんにちは、佐野(マナティ)です!
今回は、皆さんも使ってみたいと一度は挑戦して、けど設定がよくわからない~!となったことがある(かもしれない)サービスの設定方法/使用方法をお伝えできたらと思います!
それじゃあ、行ってみましょう!
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
【目次】
・AWS Kiroとは
・MCPとは
・設定手順【Kiro】
・確認しておきたい設定【Kiro】
・実際の使い方【Kiro】
・留意点【Kiro】
・設定手順&実際の使い方【MCP】
・まとめ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
このサービスはAmazonが開発した新しいエージェント型AI統合開発環境(IDE)であり、「要件定義」「設計」「タスク実行」までをAIが構造的に支援する「スペック駆動開発」を採用しています。
これがKiroの最大の特徴であり、従来のVibe Codingから本番環境で利用可能な堅牢で保守性の高い「Viable Code」へと移行することを支援する思想に基づいて設計されています。
Specsは、ユーザーが自然言語でアプリケーションのアイデアを伝えることで、AIがアプリケーションの仕様を生成し、実装まで導くワークフローとなっています。このワークフローは3つのフェーズを経て行われます。
|
フェーズ
|
生成ファイル
|
目的と内容
|
|
要件(Requirements)
|
requirements.md
|
何を作るかを定義します。
EARS(Easy Approach to Requirements Syntax)表記を用いて作成します。
|
|
設計(Design)
|
design.md
|
「どのように」作るかを定義します。アプリケーションのアーキテクチャ、技術スタック、コンポーネント階層、エラーハンドリング、テスト戦略、実装方針などが含まれます。
|
|
タスク(Tasks)
|
tasks.md
|
実装の具体的な手順をリスト化します。(それに沿って実装がされます。)
|
※EARS: https://alistairmavin.com/ears/
Hooksはファイルの保存、作成、削除などの特定のイベントをトリガーとして、バックグラウンドで定型業務や品質保証タスクを自動で実行させる機能です。
具体例として、TypeScriptファイルが「保存」されたときにフォーマットの整形をしてもらう(npx oxlint --fixなど)、APIエンドポイントの変更時にREADMEを自動修正するなどが可能です。
Steering機能は、Kiroにプロジェクトの目的、設計パターン、開発スタイルなどの長期記憶を与えるために使用されます。ステアリングファイルに命名規則、ディレクトリ構成、使用するライブラリ、リソースへのタグ付けルールなどを記述することによって一貫性のあるコードを生成することができます。
また、タスク実行ログやドキュメントコードコメントの言語を日本語統一することも可能です。
MCPとは、Model context Protocolといい、AIと外部のデータやツールをつなぐための標準的な通信ルール(プロトコル)です。多くのブログや説明でも「AIのためのUSB-C」と表現されているように、様々なデバイスをコンピュータに接続するUSB-Cのように、AIモデルと外部リソースを共通の方式で接続することを目指しています。
簡単に言うと、AI(MCPホスト/MCPクライアント)から送られてきたリクエストを受け取り、その内容を解析して処理を実行します。そのため、特定の機能やデータをAIに提供する「提供者」であるため、「MCPサーバー」とも呼ばれます。
また、MCPをAIと組み合わせて使うことで「学習した知識を答えるだけ」の存在からリアルタイム情報に基づき「行動できる」存在へと進化させることも可能です。
今回は、AWSの公式ドキュメントにアクセスできるMCP(aws-documentation-mcp-server)があるのでそちらを連携して使ってみたいと思います。
① https://kiro.dev/downloads/ で任意のOSものをダウンロード(※今回はwindowsで進めます。)
②インストール後にKiroを起動すると認証要求画面に遷移します。任意の方法で認証を行ってください。(※今回はBuilder IDで行います。)
③認証後以下の画面に遷移します。ここでは、既存の設定ファイルやエディタの環境(拡張機能など)を引き継ぐかを聞かれています。初めての利用の場合はスキップでも問題ありません。
④ここまでの初期設定が完了するとエディタ画面が表示されます。
Kiroの有料プラン以上ではデフォルトの設定により、ユーザーのコンテンツがAIモデルの学習に使用されることはありません。また、Amazon Q Developer Proユーザーの場合もコンテンツは使用されないです。
しかし、無料プランではオプトアウト(自身でチェックを外さない限り)しないとモデル改善のために使用される可能性があります。
そのため、少しでも懸念がある方はオプトアウトするのが良いかと思います。
左下の「」から「設定」を開き、アプリケーション > テレメトリの順に開きます。本項目で「Disabled」にすることで無効にすることができます。
KiroではWSLが含まれていないため、通常WSLに接続できません。
動かすにはサードパーティ製の「Open Remote WSL」という拡張機能を利用することで、WSLに接続できるようになります。
1.%USERPROFILE%.kiro\argv.jsonに以下の項目を追加
"enable-proposed-api": [
"jeanp413.open-remote-wsl",
]
2.拡張機能で「Open Remote WSL」を検索し、Kiroを再起動
3.VSCode同様、左下のアイコンから接続可能
1.まず任意のプロジェクトを作成します。(※今回は「test」にしました)作成したフォルダーを開き、左側にあるKiroマークを押下してください。
2.以下の画面に遷移し、「SPECS」の「+」を押下することでAWS Specsのワークフローを設定することができます。
3.作りたいサービス(案)を入力することでKiroが汲み取り、requirements.md, design.md, tasks.mdを順に作成していきます。(各mdファイル作成ごとにKiroがユーザーへ確認するので適宜内容の修正をすることも可能です)
4.tasks.mdまで作成し終えると、以下のように実行順が記載されます。順番ごとに「Start task」を押下することでKiroに実装してもらうことができます。(※押下前に実行する内容を随時確認することを推奨します)
これでコードを実際に書き、CDKでの実装を行ってくれます。ただ、以下の点を気に留めておく必要があるかと思います。
AWS CDKを使う上で気を付けなければいけない点がプロファイル設定です。デプロイ前などは以下のコマンドで使用するAWS環境を確認しておくことが非常に重要です。(※作成されたファイル内にどのプロファイルを使うか指定されている場合もあるため、その確認も重要)
使用するコマンド:aws configure list
# 出力例
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************ABCD shared-credentials-file
secret_key ****************WXYZ shared-credentials-file
region ap-northeast-1 config-file ~/.aws/config
Kiroは毎月無料枠分として50クレジット分使用できるようになっていますが、都度Kiroに確認しながら使用すると早いタイミングで使用上限に到達します。そのため、使用クレジットに注意しながらの開発が必要です。(※無料枠の場合、上限に達しても勝手に課金はされません)
おすすめの使い方は、requirements.md, design.md, tasks.mdを作成後はAmazon Q Developerを使用して実装の続きを行うのが良いかと個人的には思います。
また補足ですが、Kiroのプレビュー期間や初期アナウンスではQ Developerユーザーが使用したときにQ Developerの料金体系が適用されるという表現がありましたが、今現在では正式な料金ページが公開され有料プランが明示されました。現状の公式情報では別課金と一貫していますのでそのような話はなくなったと思われます。
1.Kiroマークから「MCP SERVERS」の編集マークを選択します。(※すでにセットしていたものがあるので書いてありますが、初めての場合は空の状態です)
2.「User Config」と「Workspace Config」があります。「User Config」はKiro使用時のMCP設定全体に反映され、「Workspace Config」は現在のプロジェクトのみに反映することができます。今回は、「User Config」に追加してみます。
3.今回はawslabs(https://github.com/awslabs/mcp/tree/main/src/aws-documentation-mcp-server)で公開しているMCPを使用します。「aws-documentation-mcp-server」は繋げると、KiroがAWS公式のドキュメントにアクセスし、情報を検索・取得・利用してくれるので便利なツールです。
4.下の方にスクロールすると以下の画面が出てきます。このコードを先ほどの「mcp.json」に貼り付けることで設定できます。(※新たにMCPを付け加えるときはその続きに書き加えることで使用できます)
{
"mcpServers": { "awslabs.aws-documentation-mcp-server": { "command": "uvx", "args": ["awslabs.aws-documentation-mcp-server@latest"], "env": { "FASTMCP_LOG_LEVEL": "ERROR", "AWS_DOCUMENTATION_PARTITION": "aws", "MCP_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" }, "disabled": false, "autoApprove": [] } } }
5.実際にKiroに質問してみましょう。右の再生ボタンでツール利用時にどのような処理をしているのかを適宜確認しながら進めることができます。左側のチェックボタンはユーザーの確認なしにツールを使用することを許可するものとなっています。状況によって使い分けると良いかと思います。
しっかり登録したMCPを活用して調べ物をしてくれているようですね。いい感じ。
情報も公式ドキュメントの情報しかアクセスしていないので、正確性も向上します。また料金ですが、AWSがホストしているMCPと連携する分には無料で活用できます。(※料金はかからないもののレート制限があったりはします)
今回はAWS KiroとMCPの初期設定&その使い方をご紹介しました。今注目のサービスを使いこなして、業務に役立てていただけると嬉しいです!