Amazon Web Services ブログ

Kiro と Model Context Protocol (MCP) で開発生産性を解き放つ

本記事は米国時間 8 月 13 日に公開された「Unlock your development productivity with Kiro and Model Context Protocol (MCP)」の日本語抄訳版です。Kiro の最新情報は、https://kiro.dev/ をご覧ください。

Kiro はその組み込み機能によって、私にとって個人的な開発加速装置となってきました。ファイルの読み書きや Bash スクリプトを実行するツールを使うことで、Kiro は仕様駆動開発(spec-driven development)、オートパイロット、エージェントフックといった機能を通じてアイデアを現実に変えます。しかし、開発チームの一員として作業していると、組み込みのツールだけでは十分でない場面があります。そこで Kiro を次のレベルに引き上げるのが Model Context Protocol(MCP) です。開発チームで作業する際には、次のような追加的なやり取りやデータアクセスが必要になることがよくあります。

  • 社内ナレッジベース統合:会社のドキュメント、Wiki、ナレッジリポジトリへの接続
  • カスタム API アクセス:内部サービスや組織固有 API とのやり取り
  • プロジェクト管理ツール:Jira、Asana、GitLab などとの統合によるチケット・タスクの文脈提供
  • データベースアクセス:IDE 内でのデータベースクエリや分析
  • CI/CD パイプライン統合:GitLab、GitHub Actions、Jenkins などとの接続によるビルド・デプロイ状況取得
  • コード品質ツール:SonarQube、Code Climate などへのリンクによるコード品質の洞察
  • 監視システム:Prometheus、Grafana などからのメトリクスやログへのアクセス
  • インフラ管理:IaC ツールやクラウドリソースとのやり取り

Model Context Protocol (MCP) の登場

MCP は Anthropic が提供する画期的なオープンソースプロトコルで、重要な課題を解決します。それは「AI モデルにツールやデータへの安全で一貫したアクセスを与える」ことです。MCP は、Kiro があらゆる開発ツールやサービスとシームレスに通信できるようにする「ユニバーサル翻訳機」と考えることができます。

Kiro + MCP を使い始める

Kiro には MCP クライアントが組み込まれており、外部データソースやツールと安全かつ柔軟に通信する機能を拡張できます。
Kiro 内で MCP サーバーを有効化するには以下の手順が必要です。

  1. ローカルマシンに MCP サーバーをセットアップする
  2. Kiro 内に MCP サーバーを追加・設定する
  3. Kiro のチャットセッション内で MCP サーバーツールを使い始める

Kiro は MCP サーバーと標準入出力(stdio)を通じ、シンプルな JSON ベースのリクエスト/レスポンスパターンで通信します。

Kiro の MCP クライアントとサーバーの構成図

Kiro の MCP クライアントアーキテクチャ

MCP サーバーは Kiro と同じローカルマシン上で動作しますが、PostgreSQL データベースのようなローカルシステムや GitLab のようなリモートサービスとも通信できます。

Kiro における MCP サーバーの利用有効化

MCP サーバーは Kiro 内で 2 つのレベルで設定できます。

  • ワークスペース:現在のプロジェクト/ワークスペース固有、.kiro/settings/mcp.json に保存
  • ユーザー:全プロジェクト/ワークスペースに適用、ホームディレクトリ(~/.kiro/settings/mcp.json)に保存

ユーザースコープの MCP サーバーを設定する手順は以下のとおりです。

  1. アクティビティバーから Kiro を選択
  2. MCP SERVERS を展開
  3. Workspace または User Config を開く
Kiro のワークスペース設定で、ユーザー単位の MCP サーバーを選んでいる画面

MCP Server のセットアップ

GitLab の計画機能を Kiro に持ち込む

開発チームは、共同作業や計画、ソフトウェア管理のために集中型のツールをよく使います。たとえば GitLab は、計画・開発・デリバリーを一体化したオールインワンのツールです。私の開発ワークフローでは、GitLab をコードやビルド管理だけでなく、機能やバグといったタスクの計画にも使っています。

製品の機能とバグが並ぶ GitLab の Issues の画面

GitLab Issues は製品の機能とバグを表示

例えば、次のような機能を考えてみます。

GitLab の Issue「Feature: Containerise Products API」の画面

機能:Products API のコンテナ化

コンテキストスイッチをせずに、Kiro に GitLab の課題を読み込ませて実装してみましょう。

GitLab MCP サーバーの設定

このブログ記事では、オープンソースの GitLab MCP サーバー (https://gitlab.com/fforster/gitlab-mcp)を使います。README に設定方法が記載されており、私はソースからバイナリをビルドしました。

GitLab プロフィールからパーソナルアクセストークンを発行した後、Kiro MCP サーバーのユーザー設定に記述します。

{
  "mcpServers": {
    "GitLab": {
      "command": "../gitlab-mcp",
      "env": {
        "GITLAB_TOKEN": "gitlab_access_token",
        "GITLAB_URL": "gitlab_url"
      }
    }
  }
}

Kiro のユーザー設定は .kiro/settings/mcp.json にあります。

設定が正しければ、Kiro は MCP サーバーから提供される新しいツールを返してきます。

gitlab-mcp サーバーが提供するツールを確かめている画面

gitlab-mcp server によって提供されるツール

ここでは、例えば get_issue や list_project_issues などの便利なツールがいくつかあります。これらの使い方を見ていきましょう。

GitLab イシューと Kiro の仕様駆動開発を同期

GitLab に列挙された課題を実装するために、Kiro のエージェントによる仕様駆動開発を活用したいと考えています。GitLab MCP サーバーが設定できたので、「製品に関連するすべての課題について要件ドキュメントを作成してほしい」と自然言語で説明できます。

Kiro チャットウィンドウで「Spec」を選択すると、GitLab イシューを構造的に実装することができます。次のステップは、Kiro に GitLab イシューの仕様を作成するよう指示することです。

gitlab プロジェクト WWSO-Q-DEV-SA/products-api のすべてのイシューに対する仕様を作成する
GitLab の Issue を Kiro のスペックに同期するよう 1 回で依頼している画面

GitLab の issue を Kiro の仕様に同期するための単一のリクエスト

list_project_issues のような新しいツールを初めて使う際は、Kiro は実行前に承認を求めてきます。

list_project_issues ツールでプロジェクトの Issue を探している画面

list_project_issues ツールを使用してプロジェクトの問題を特定

なお、MCP 設定内の autoApprove 設定を使用して、Kiro がユーザーにプロンプトを表示せずにツール実行リクエストを自動的に承認するかどうかを制御することもできます。

{
  "mcpServers": {
    "GitLab": {
      "command": "../gitlab-mcp",
      "env": {
        "GITLAB_TOKEN": "gitlab_access_token",
        "GITLAB_URL": "gitlab_url"
      },
      "autoApprove": [
        "list_project_issues"
      ]
    }
  }
}

イシューが取得されると、Kiro は各 GitLab イシューに対して仕様を作成し始めます。

チャットのセッションで、GitLab の Issue からスペックを作っている Kiro

GitLab イシューの仕様を作成

仕様は専用メニューに保存され、プロジェクトワークスペースの .kiro ディレクトリにも格納されます。

1 件目の Issue から作られた要件

最初に作成されたイシューの要件

ここから、技術的なアーキテクチャ決定、システムコンポーネントの相互作用、データモデルとフロー、API 仕様、セキュリティ検討、性能要件などを含む設計ドキュメントを作成できます。

最終ステップは設計を実行可能なタスクに分解し、明確な「完了の定義」と実装詳細を含めることです。

GitLab イシューの計画が完了すれば、タスクリストに従って構造的に機能を構築できます。

Issue の要件、設計、タスク一覧を確かめている画面

イシューに関する要件、設計、タスクリストの確認

開発を次のレベルへ

Kiro の MCP 統合は単なる機能追加ではなく、AI が開発ワークフローに統合される根本的な変化です。Kiro をツールやサービスに直接接続することで、コンテキストスイッチに費やす時間を減らし、より多くの時間を構築に使えるようになります。

無料で Kiro を始めたり、ドキュメントを参照して機能をさらに学んだりしましょう。MCP ユーザーガイドや MCP Server ページでリファレンス実装も確認できます。要件に合う MCP サーバーが見つからない場合は、Kiro と一緒に自作することも検討してください。

ぜひつながりましょう。X、LinkedIn、Instagram では @kirodotdev を、Bluesky では @kiro.dev をタグ付けし、#builtwithkiro でシェアしてください。