記事公開日
【トラブルシューティング】Powersが動かない?Pythonバージョン起因のエラーをKiro自身に解決してもらった話
この記事のポイント
KiroのAWS CDK連携Power導入時に発生したエラーと、その解決策について共有します。
- Pythonバージョンの競合:
最新のPython 3.14環境では、AWS Power依存のライブラリが動作しない不具合が発生。 - Kiroによる自律診断:
エラー発生時、Kiro自身がログを分析し「Python 3.12へのダウングレード」を提案。 - 設定ファイルでの解決:
mcp.jsonに引数を追加し、Power実行時のPythonバージョンを強制指定することで解決。
DXソリューション営業本部の三浦です。
先日「Kiro」に、AWS公式のPowerである「Build AWS infrastructure with CDK and CloudFormation」をインストールして使おうとしたところ、環境依存のエラーに遭遇しました。
Kiroに修正を依頼したところ、Kiro自身が原因を特定し、解決策を提示してくれました。今回はそのトラブルシューティングの過程と、具体的な解決方法(mcp.jsonの設定)について共有します。
なお、Powersの概要についてはAWS公式ブログもご参照ください。
PowerインストールとMCPエラーの発生
KiroのPowersの設定から「Build AWS infrastructure with CDK and CloudFormation」をインストールしました。
しかし、いざ使おうとすると左下のMCPサーバー(Model Context Protocol)の接続ステータスがエラーとなってしまいました。
「Try Powers」をクリックしてアクティベートを試みましたが、接続失敗(Connection Retry)の状態が続いてしまいます。
Kiroによる原因調査とPythonバージョンの壁
ここで面白いのが、Kiroの自律的なトラブルシューティング能力です。
エラーが出ている状態で当該箇所をクリックすると、Kiroがトラブルシューティング用のプロンプトを発行してくれました。
Kiroの提案を受け入れながらトラブルシューティングが完了すると、以下の事実が判明しました。
- 私の環境では Python 3.14.0 が動作している。
- AWS MCPサーバーが使用する
samtranslatorは、Pydantic V1に依存している。 - Pydantic V1 は Python 3.14以降と互換性がない ため、サーバー起動時にクラッシュしている。
Kiroは「Python 3.13をインストールして環境を切り替える」等の修正案を提示し、自動で修復を試みてくれましたが解決には至りませんでした。
代替案として提示されている方法を試していきます。
解決策:mcp.jsonでPythonバージョンを固定する
Kiroからの提案やGitHubのIssue(issue#27)を参考に、今回は安定している Python 3.12 を強制的に使用するよう設定を変更しました。
Kiroの設定ファイル .kiro/settings/mcp.json を開き、該当するPowerの引数(args)に --python 3.12 を追記します。
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
],
"env": {},
"disabled": true,
"autoApprove": []
}
},
"powers": {
"mcpServers": {
"power-aws-infrastructure-as-code-awslabs.aws-iac-mcp-server": {
"command": "uvx",
"args": [
"--python", // ← 追加: Pythonバージョンを指定するフラグ
"3.12", // ← 追加: 安定している 3.12 を指定
"awslabs.aws-iac-mcp-server@latest"
],
"env": {
"AWS_PROFILE": "default",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false
}
}
}
}
この記述を追加して保存・再起動したところ、無事にMCPサーバーが「Connected」状態になりました。
動作確認:CDKベストプラクティスを聞いてみる
MCPサーバーが正常に稼働しているか確認するため、「MCPを使ってCDKのベストプラクティスについてまとめてください」と質問してみました。
Kiroが正しく aws-infrastructure-as-code ツールを認識し、ツール経由で情報を取得・回答してくれることが確認できました。
まとめ
今回のケースでは、Kiroが自律的にエラーログを読み解き、バージョンの不整合という根本原因を特定してくれました。
Kiroはエラー解消を自律的に試みますが、今回のように設定ファイルの書き換えが必要なケースもあります。その際も、Kiroが「何が原因か」を教えてくれるため、人間側は最後に少し設定を調整してあげるだけで解決できました。
実際のプロジェクト開発においても、トラブルシューティングの手順をSteeringで定義しておくことで、Kiroの自律的な能力を最大限に活かせそうです。
↓QESではKiroについて積極的に情報発信していきますので是非ご覧ください!
もし「このサービスについて知りたい」「AWS環境の構築、移行」などのリクエストがございましたら、弊社お問合せフォームまでお気軽にご連絡ください。 複雑な内容に関するお問い合わせの場合には直接営業からご連絡を差し上げます。 また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>
<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>
※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。


