翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MCP サーバーの接続
Model Context Protocol (MCP) サーバーは、外部オブザーバビリティツール、カスタムモニタリングシステム、運用データソースからのデータへのアクセスを提供することで、 AWS DevOps Agent の調査機能を拡張します。このガイドでは、MCP サーバーを AWS DevOps エージェントに接続する方法について説明します。
要件
MCP サーバーを接続する前に、サーバーが次の要件を満たしていることを確認してください。
ストリーミング可能な HTTP トランスポートプロトコル – ストリーミング可能な HTTP トランスポートプロトコルを実装する MCP サーバーのみがサポートされています。
認証のサポート – MCP サーバーは、OAuth 2.0 (クライアント認証情報または 3LO)、API キー/トークンベースの認証、名前を付けた HTTP ヘッダーで送信される 1 つ以上のシークレット、または AWS 署名バージョン 4 (SigV4) のいずれかの認証方法をサポートする必要があります。
セキュリティに関する考慮事項
MCP サーバーを AWS DevOps エージェントに接続するときは、次のセキュリティ面を考慮してください。
ツールの許可リスト – MCP サーバーからすべてのツールを公開するのではなく、エージェントスペースに必要な特定のツールのみを許可リストに登録する必要があります。エージェントスペースごとにリストツールを許可する方法については、「エージェントスペースでの MCP ツールの設定」を参照してください。
MCP ツールの最大ツール名の長さは 64 文字です。エージェントスペースごとに許可される MCP ツールの最大数については、「」を参照してくださいクォータ。
プロンプトインジェクションリスク – カスタム MCP サーバーは、プロンプトインジェクション攻撃のリスクを高める可能性があります。詳細については、「プロンプトインジェクション保護: AWS DevOps エージェントセキュリティ」を参照してください。
読み取り専用ツールとアクセス – 読み取り専用 MCP ツールのみを許可リストに登録し、認証情報が読み取り専用アクセスのみを許可されていることを確認します。
プロンプトインジェクションと責任共有モデルの詳細については、AWS DevOps エージェントセキュリティ「」を参照してください。
注記
MCP サーバーがプライベートネットワーク上にある場合は、「」を参照してください。 プライベートにホストされたツールへの接続
コミュニティ MCP サーバー
AWS DevOps エージェントツールリポジトリ
コミュニティ MCP サーバーを使用するには:
サーバーの README のデプロイ手順に従って、アカウントに MCP サーバーを AWS デプロイします。
以下の MCP サーバーの登録の手順に従って、デプロイされたサーバーをエージェントスペースに機能プロバイダーとして登録します。
MCP サーバーの登録 (アカウントレベル)
MCP サーバーは AWS アカウントレベルで登録され、そのアカウントのすべてのエージェントスペース間で共有されます。個々のエージェントスペースは、各 MCP サーバーから必要な特定のツールを選択できます。
ステップ 1: MCP サーバーの詳細
AWS マネジメントコンソールにサインインする
AWS DevOps エージェントコンソールに移動する
機能プロバイダーページに移動する (サイドナビゲーションからアクセス可能)
利用可能なプロバイダーセクションで MCP サーバーを検索し、登録を選択します
MCP サーバーの詳細ページで、次の情報を入力します。
名前 – MCP サーバーのわかりやすい名前を入力します。
エンドポイント URL – MCP サーバーエンドポイントの完全な HTTPS URL を入力します。
説明 (オプション) – サーバーの目的を特定するのに役立つ説明を追加します。
動的クライアント登録を有効にする – AWS DevOps エージェントが MCP サーバーの認可サーバーに自動的に登録できるようにする場合は、このチェックボックスをオンにします。
プライベート接続を使用してエンドポイントに接続する – AWS DevOps Agent が MCP サーバーにプライベートにリクエストを行う場合は、このチェックボックスをオンにします。既存のプライベート接続を選択するか、新しいプライベート接続を作成できます。OAuth 認証を使用する場合、プライベート接続は MCP サーバーエンドポイントとトークン交換エンドポイントの両方に適用されます。プライベート接続が、両方のエンドポイントにトラフィックをルーティングできるホストアドレスで設定されていることを確認します。接続のホストアドレスとこのエンドポイント URL は 2 つの異なる値であり、接続のポート範囲にはエンドポイント URL のポートが含まれている必要があります。ホストアドレスとエンドポイント URLs「ホストアドレスとエンドポイント URL」および「」を参照してくださいプライベートにホストされたツールへの接続。
[次へ] を選択します。
注記
MCP サーバーエンドポイント URL は、アカウントの AWS CloudTrail ログに表示されます。
ステップ 2: 認可フロー
MCP サーバーの認証方法を選択します。
OAuth クライアント認証情報 – MCP サーバーが OAuth クライアント認証情報フローを使用している場合:
OAuth クライアント認証情報の選択
[次へ] を選択します。
OAuth 3LO (Three-Legged OAuth) – MCP サーバーが認証に OAuth 3LO を使用している場合:
OAuth 3LO を選択する
[次へ] を選択します。
API キー – MCP サーバーが API キー認証を使用する場合:
API キーの選択
[次へ] を選択します。
マルチ認証ヘッダー – MCP サーバーが、名前を付けた HTTP ヘッダーに 1 つ以上のシークレットを想定している場合:
マルチ認証ヘッダーを選択します。
[次へ] を選択します。
AWS SigV4 – MCP サーバーが AWS 署名バージョン 4 認証を使用している場合:
AWS SigV4 を選択する
[次へ] を選択します。
ステップ 3: 認可設定
選択した認証方法に基づいて追加の認可パラメータを設定します。
OAuth クライアント認証情報の場合:
クライアント ID – OAuth クライアントのクライアント ID を入力します。
クライアントシークレット – OAuth クライアントのクライアントシークレットを入力します。
Exchange URL – OAuth トークン交換エンドポイント URL を入力します。
Exchange Parameters – サービスで認証するための OAuth トークン交換パラメータを入力します。
スコープの追加 – 認証用の OAuth スコープの追加
[次へ] を選択します。
OAuth 3LO の場合:
クライアント ID – OAuth クライアントのクライアント ID を入力します。
クライアントシークレット – OAuth クライアントで必要な場合は、OAuth クライアントのクライアントシークレットを入力します。
Exchange URL – OAuth トークン交換エンドポイント URL を入力します。
認可 URL - OAuth 認可エンドポイント URL を入力します
コードチャレンジのサポート - OAuth クライアントがコードチャレンジをサポートしている場合は、このチェックボックスをオンにします
スコープの追加 – 認証用の OAuth スコープの追加
[次へ] を選択します。
API キーの場合:
API キー名を入力する
リクエストに API キーを含むヘッダーの名前を入力します。
API キーの値を入力する
[次へ] を選択します。
マルチ認証ヘッダーの場合:
マルチ認証ヘッダー認証は、最大 3 つのシークレットを MCP サーバーに送信します。各シークレットは、名前を付けたヘッダーにあります。複数の認証情報を必要とするサーバーに使用します。たとえば、Datadog は の API キーDD-API-KEYと のアプリケーションキーを想定していますDD-APPLICATION-KEY。選択したヘッダーに 1 つのシークレットを必要とするサーバーも機能します。
認証ヘッダーで、ヘッダーの追加を選択します。
MCP サーバーが想定するヘッダーごとに以下を入力します。
ヘッダー名 – ヘッダーの名前。例:
DD-API-KEY。名前には、最大 256 文字の英字、数字、ハイフン、アンダースコアを含めることができます。シークレット – そのヘッダーに送信する値。最大 4,096 文字の印刷可能な ASCII。値を入力すると、コンソールは値をマスクします。
ヘッダーごとに、最大 3 つまで繰り返します。ヘッダー名は一意である必要があります。同じ名前として大文字と小文字の数だけ異なる名前は、
X-Api-Keyと の両方を追加することはできませんx-api-key。[次へ] を選択します。
AWS DevOps Agent は、HTTP インフラストラクチャまたは MCP プロトコルが予約するヘッダー名を拒否します。予約名には、Host、Content-Type、、Content-Length、Cookie、Accept、User-Agentおよび が含まれますMcp-Session-Id。x-amz-、、x-amzn-、Proxy-、または x-forwarded-で始まる名前も拒否Sec-されます。 Authorization は許可されているため、 にトークンを、別の ヘッダーに Authorization 2 番目のシークレットを期待するサーバーを登録できます。
AWS DevOps エージェントは各シークレットを暗号化して保存し、サーバーを登録した後は再度表示しません。後で値が必要な場合は、独自のコピーを保持します。これは、署名付きリクエストごとにプレーンテキスト値を送信する、 AWS SigV4 設定ステップのオプションのカスタムヘッダーフィールドとは異なります。
For AWS SigV4:
AWS SigV4 認証により、 AWS DevOps Agent は AWS 署名バージョン 4 を使用してリクエスト署名を行う MCP サーバーに接続できます。これは、Amazon API Gateway または SigV4 認証をサポートする他の AWS サービスでホストされている MCP サーバーに役立ちます。
IAM ロールの設定 – 次のいずれかのオプションを選択します。
既存のロールを使用する – ドロップダウンから既存の IAM ロールを選択します。ロールには、 AWS DevOps エージェントサービスプリンシパルがロールを引き受けることを許可する信頼ポリシーが必要です (SigV4認証用の IAM ロールの作成」を参照)。
新しいロールを手動で作成する – コンソールに表示されるstep-by-step手順に従って、正しい信頼ポリシーを持つ新しい IAM ロールを作成します。
専用ロールなしで登録する – IAM ロールを指定せずに MCP サーバーを登録します。 AWS DevOps エージェントは代わりに、エージェントスペースに関連付けられた AWS アカウントから IAM ロールを使用してリクエストに署名し、サーバーを関連付けるまで接続検証を延期します。エージェントスペースに接続されているアカウント間でクロス AWS アカウントアクセスする場合は、これを選択します。詳細については、「専用ロールのないクロスアカウントアクセス」を参照してください。
AWS リージョン – SigV4 署名の AWS リージョンを入力します (例:
us-east-1)。SigV4a マルチリージョン署名を使用するには、 と入力します*。サービス名 – SigV4 署名 AWS のサービス名を入力します (
execute-apiAPI Gateway の場合など)。カスタムヘッダー (オプション) – 署名付きリクエストごとに最大 10 個のカスタムキーと値のヘッダーペアを追加します。
[次へ] を選択します。
ステップ 4: 確認して送信する
すべての MCP サーバー設定の詳細を確認します。マルチ認証ヘッダー認証を選択した場合、レビューステップはヘッダー名を難読化されたシークレットとともに一覧表示します。
送信を選択して登録を完了します
AWS DevOps エージェントは MCP サーバーへの接続を検証します
検証が成功すると、MCP サーバーはアカウントレベルで登録されます。
エージェントスペースでの MCP ツールの設定
アカウントレベルで MCP サーバーを登録したら、そのサーバーから特定のエージェントスペースで使用できるツールを設定できます。
AWS DevOps エージェントコンソールで、エージェントスペースを選択します。
機能タブに移動する
MCP サーバーセクションで、追加 を選択します。
このエージェントスペースに接続する登録済み MCP サーバーを選択します。
エージェントスペースで使用できるように、この MCP サーバーのツールを設定します。
すべてのツールを許可する – MCP サーバーのすべてのツールを使用可能にします
特定のツールの選択 – 許可リストを作成するツールを選択できます。
追加を選択して MCP サーバーをエージェントスペースに接続します
AWS DevOps Agent は、このエージェントスペースの調査中に MCP サーバーから許可リストに登録されたツールを使用できるようになりました。
エージェントが MCP ツールを読み取り専用アクションまたは変更アクションとして呼び出すことができるかどうかを制御するには、各ツールを分類します。toolDetails デフォルトを読み取り専用に指定せずにプログラムで登録するツール。エージェントは承認をリクエストせずにそれらを実行します。MCP ツールを読み取り専用または変更として分類する方法の詳細については、「」を参照してください有向アクションの使用。
MCP サーバー接続の管理
認証情報の更新 – 登録済みの MCP サーバーの認証情報は、登録を解除することなく更新できます。 AWS DevOps Agent コンソールの Capability Providers ページに移動し、MCP サーバーを選択し、Actions メニューから Update を選択します。エージェントスペースの関連付けは保持されます。更新できる内容は、認証方法によって異なります。
API キー – 新しい API キー値とヘッダー名を入力して、認証情報をローテーションします。更新中にエンドポイントを変更することはできません。
OAuth 3LO (Three-Legged OAuth) — 認可フローを再実行して、保存されたトークンを更新します。クライアント認証情報は再入力しません。送信すると、 AWS DevOps Agent はプロバイダーの同意ページにリダイレクトして再承認を完了します。必要に応じて、認可 URL を上書きできます。空白のままにすると、 AWS DevOps Agent は MCP サーバーのメタデータから検出します。
AWS SigV4 – サーバー名、エンドポイント、説明、 AWS リージョン、サービス、IAM ロール、カスタムヘッダーを更新します。
OAuth クライアント認証情報またはマルチ認証ヘッダーを使用する MCP サーバーは更新できません。マルチ認証ヘッダー認証は登録時にのみ使用できるため、シークレットをローテーションしたり、登録されたサーバーでヘッダーの名前を変更したりするパスはありません。これらの認証情報を変更するには、アクティブな関連付けを削除し、MCP サーバーを登録解除して、新しい値で再登録します。
接続された MCP サーバーの表示 – エージェントスペースに接続されているすべての MCP サーバーを表示するには、エージェントスペースを選択し、機能タブに移動して MCP サーバーセクションを確認します。選択したツールをここで更新することもできます。
MCP サーバー接続の削除 – MCP サーバーをエージェントスペースから切断するには、MCP サーバーセクションでサーバーを選択し、削除を選択します。MCP サーバー登録を完全に削除するには、まずすべてのエージェントスペースから削除してから、アカウントレベルの登録を削除します。
SigV4 認証用の IAM ロールの作成
AWS SigV4 認証を使用する場合、 AWS DevOps Agent はアカウントの IAM ロールを引き受けて MCP サーバーへのリクエストに署名します。このロールには、 AWS DevOps エージェントサービスプリンシパル (aidevops.amazonaws.com) が混乱した代理保護で引き受けることを許可する信頼ポリシーが必要です。
信頼ポリシー
次の信頼ポリシーを使用して IAM ロールを作成します。を AWS リージョン ( などus-east-1) REGIONに、 を AWS アカウント ID ACCOUNT_IDに置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:REGION:ACCOUNT_ID:service/*" } } } ] }
信頼ポリシーには、混乱した代理問題を防ぐための以下の条件が含まれています。
aws:SourceAccount– ロールの引き受けを AWS 、アカウントから発信されるリクエストに制限します。aws:SourceArn– アカウントの AWS DevOps エージェントサービスリソースから送信されるリクエストにロールの引き受けを制限します。
アクセス許可ポリシー
MCP サーバーの呼び出しに必要な最小限のアクセス許可を付与するアクセス許可ポリシーをロールにアタッチします。例えば、MCP サーバーが Amazon API Gateway の背後でホストされている場合、ロールには API Gateway リソースに対するexecute-api:Invokeアクセス許可が必要です。
マルチリージョン署名 (SigV4a)
MCP サーバーが複数の AWS リージョンにデプロイされている場合は、SigV4a (署名バージョン 4a) を使用してマルチリージョン署名を行うことができます。これを有効にするには、SigV4 認可を設定するときに AWS リージョン*として を入力します。SigV4a は非対称署名を使用します。これにより、1 つの署名付きリクエストを複数のリージョンで有効にできます。
専用ロールのないクロスアカウントアクセス
MCP サーバー専用の IAM ロールを登録する代わりに、ロールレス登録を使用できます。ロールなしでサーバーを登録し、エージェントスペースに既に関連付けられている AWS アカウントの IAM ロールを使用して AWS DevOps Agent がリクエストに署名します。これは、1 つの AWS アカウントにスコープされた 1 つのロールではなく、MCP サーバーがエージェントスペースに接続されているプライマリアカウントとセカンダリアカウントにまたがるリソースにアクセスする必要がある場合に便利です。
仕組み
専用ロールのないクロスアカウントアクセスは、次のように機能します。
ロールなしで MCP サーバーを登録する – SigV4 認可設定ステップで、専用ロールなしで登録を選択します。 AWS DevOps エージェントはサーバーを登録しますが、検証リクエストに署名するロールがないため、接続はまだ検証しません。
MCP サーバーをエージェントスペースに関連付ける – MCP サーバーをエージェントスペースに追加すると、 AWS DevOps エージェントはプライマリ AWS アカウント (モニター) ロールを使用して検証します。サーバーに到達可能であり、設定が有効であることを確認する
listToolsために ロールと を呼び出すことを前提としています。エージェントスペースにはプライマリ AWS アカウントが関連付けられている必要があります。そのアカウントのロールは MCP サーバーを呼び出すことができる必要があります。調査中 – エージェントが特定のアカウントで運用中に MCP サーバーを使用する場合、そのアカウントのロール、プライマリアカウントのプライマリアカウントロール、および各セカンダリアカウントの対応するセカンダリアカウントロールを使用してリクエストに署名します。エージェントがこの MCP サーバーで使用する各プライマリまたはセカンダリアカウントロールは、それを呼び出すことができる必要があります。
要件
ロールレス SigV4 MCP サーバーをエージェントスペースに関連付ける前に:
エージェントスペースにはプライマリ AWS アカウントが関連付けられている必要があります。プライマリアカウントがないと、プライマリアカウントロールが
listTools検証を実行するため、関連付けは失敗します。エラーメッセージは「専用ロールなしで登録された SigV4 MCP サーバーには、エージェントスペースにプライマリアカウントの関連付けが必要です」です。プライマリアカウントロールは、MCP サーバー (API Gateway がホストするサーバーなど)
execute-api:Invokeを呼び出すアクセス許可を付与する必要があります。エージェントがこの MCP サーバーで使用するすべてのセカンダリアカウントロールも、このアクセス許可を付与する必要があります。詳細については、「アクセス許可ポリシー」を参照してください。 AWS DevOps エージェントは、関連付け時にプライマリロールを使用し、それらのアカウントの調査中にセカンダリロールを使用します。
トラブルシューティング
ロールレス MCP サーバーの関連付けが失敗する:「プライマリアカウントの関連付けが必要です」
専用ロールなしで MCP サーバーを登録し、関連付けが失敗した場合、エラーメッセージを確認します。サーバーがエージェントスペースにプライマリアカウントの関連付けを必要とするというエラーが表示された場合、エージェントスペースにはプライマリ AWS アカウントが接続されていません。
AWS DevOps エージェントは、エージェントスペースのプライマリ AWS アカウントの IAM ロールを使用して、ロールレス SigV4 MCP サーバーを関連付けるときに検証します。これを解決するには:
プライマリ AWS アカウントがまだない場合は、エージェントスペースに追加します。
アカウントの IAM ロールに MCP サーバーを呼び出すアクセス許可があることを確認します (Amazon API Gateway
execute-api:Invokeでホストされているサーバーの場合など)。MCP サーバーを再度関連付けます。
関連トピック
AWS DevOps エージェントのセキュリティ
エージェントスペースのセットアップ
プロンプトインジェクション保護