1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

【トラブルシューティング】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)の接続ステータスがエラーとなってしまいました。

MCPサーバー接続エラー画面

「Try Powers」をクリックしてアクティベートを試みましたが、接続失敗(Connection Retry)の状態が続いてしまいます。

Kiroによる原因調査とPythonバージョンの壁

ここで面白いのが、Kiroの自律的なトラブルシューティング能力です。
エラーが出ている状態で当該箇所をクリックすると、Kiroがトラブルシューティング用のプロンプトを発行してくれました。

Kiroによるトラシュー用のプロンプト発行

Kiroの提案を受け入れながらトラブルシューティングが完了すると、以下の事実が判明しました。

  • 私の環境では Python 3.14.0 が動作している。
  • AWS MCPサーバーが使用する samtranslator は、Pydantic V1 に依存している。
  • Pydantic V1 は Python 3.14以降と互換性がない ため、サーバー起動時にクラッシュしている。
Kiroによるエラー原因の特定

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」状態になりました。
mcp.jsonの設定変更画面

動作確認:CDKベストプラクティスを聞いてみる

MCPサーバーが正常に稼働しているか確認するため、「MCPを使ってCDKのベストプラクティスについてまとめてください」と質問してみました。

Kiroが正常に回答している画面

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.またはその関連会社の商標です。

  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード