Amazon Connect の統合で Amazon Bedrock AgentCore Gateway を設定したが、Amazon Connect 側にツールが反映されなかったのでその原因を特定してみた

Amazon Connect の統合で Amazon Bedrock AgentCore Gateway を設定したが、Amazon Connect 側にツールが反映されなかったのでその原因を特定してみた

Amazon Connect の統合で Amazon Bedrock AgentCore Gateway を設定しても Amazon Connect 側にツールが表示されませんでした。今回の場合、Gateway のログや CloudTrail のデータイベントから Unsupported protocol version のエラーを特定できました。Gateway の Supported versions に 2025-03-26 を追加することで解決しました。
2026.08.17

はじめに

以下のワークショップの手順に沿って Gateway を作成し、Amazon Connect の統合を作成して Gateway とインスタンスを関連付けましたが、Amazon Connect 側でツールが表示されませんでした。

https://catalog.us-east-1.prod.workshops.aws/workshops/f77f49a2-1eae-4223-a9da-7044d6da51f8/ja-JP/02-reservation-system/02-associating-mcp-server

以下のとおり、Amazon Connect の統合を作成したものの、Amazon Connect 側でツールが表示されていない状況です。

統合は作成済みです。
AmazonConnect統合

Amazon Connect のセキュリティプロファイルです。使用可能なツールはありません と表示されています。
AmazonConnectセキュリティプロファイル(ツールなし)

Amazon Connect の AI エージェントのツール追加画面です。名前空間に Gateway のツールがないことがわかります。
AmazonConnectAIツールなし

ログの設定内容

原因を調査するため、Gateway のログと Gateway の CloudTrail のデータイベント(InvokeGateway)を記録するようにあらかじめ設定していました。

以下のとおり設定しています。
なお、CloudTrail も CloudWatch Logs にログを送信するように設定していますので、CloudWatch Logs からログを見ていきます。

Gateway のログを設定している状況です。
Gatewayログ①

Gateway のログの設定内容です。
Gatewayログ②

CloudTrail 証跡でデータイベントを記録している状況です。
CloudTrailデータイベント

Gateway のログを確認してみた

ログの内容を確認してみると、以下のとおり Unsupported protocol version: 2025-03-26 のエラーとなっていました。

{
    "resource_arn": "arn:aws:bedrock-agentcore:us-east-1:xxx:gateway/anycompany-hotels-mcp-server-vtwtbfnhzt",
    "event_timestamp": 1786930351779,
    "body": {
        "isError": true,
        "log": "Unsupported protocol version: 2025-03-26",
        "id": "1"
    },
    "account_id": "xxx",
    "request_id": "f653582b-1706-4314-8afb-194227689f7c",
    "trace_id": "6a8264af7bb9cb64144466bc0b0e306c",
    "span_id": "6099501fcd4a92aa",
    "resource": {
        "attributes": {
            "service.name": "anycompany-hotels-mcp-server-vtwtbfnhzt",
            "cloud.resource_id": "arn:aws:bedrock-agentcore:us-east-1:xxx:gateway/anycompany-hotels-mcp-server-vtwtbfnhzt",
            "cloud.platform": "aws_bedrock_agentcore"
        }
    },
    "attributes": {
        "aws.request.id": "f653582b-1706-4314-8afb-194227689f7c",
        "aws.account.id": "xxx",
        "aws.resource.type": "AWS::BedrockAgentCore::Gateway"
    },
    "timeUnixNano": 1786930351779184405,
    "severityNumber": 17,
    "severityText": "ERROR",
    "traceId": "6a8264af7bb9cb64144466bc0b0e306c",
    "spanId": "6099501fcd4a92aa",
    "timestamp": "1786930351779",
    "gateway_id": "anycompany-hotels-mcp-server-vtwtbfnhzt"
}

CloudTrail のログを確認してみた

CloudTrail のログを確認したところ、上記と同じエラーメッセージが確認できました。

CloudTrail
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AWSAccount",
        "principalId": "",
        "accountId": "anonymous"
    },
    "eventTime": "2026-08-17T01:32:31Z",
    "eventSource": "bedrock-agentcore.amazonaws.com",
    "eventName": "InvokeGateway",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "44.223.254.7",
    "userAgent": "node",
    "requestParameters": {
        "body": {
            "id": 1,
            "jsonrpc": "2.0",
            "method": "tools/list",
            "params": {}
        }
    },
    "responseElements": {
        "body": {
            "jsonrpc": "2.0",
            "id": 1,
            "error": {
                "code": -32022,
                "message": "Unsupported protocol version: 2025-03-26",
                "data": {
                    "supported": [
                        "2026-07-28",
                        "2025-11-25"
                    ],
                    "requested": "2025-03-26"
                }
            }
        },
        "contentType": "application/json",
        "statusCode": 400
    },
    "additionalEventData": {
        "jwt": {
            "headers": {
                "kid": "xxx",
                "alg": "ES384"
            },
            "claims": {
                "sub": "<インスタンスエイリアス>",
                "iss": "https:&#x2F;&#x2F;<インスタンスエイリアス>.my.connect.aws",
                "exp": 1786930951,
                "iat": 1786930351,
                "jti": "xxx"
            },
            "type": "JWS"
        }
    },
    "requestID": "f653582b-1706-4314-8afb-194227689f7c",
    "eventID": "a318fe3c-5300-331f-8e1f-0207ce2fdb2c",
    "readOnly": false,
    "resources": [
        {
            "accountId": "xxx",
            "type": "AWS::BedrockAgentCore::Gateway",
            "ARN": "arn:aws:bedrock-agentcore:us-east-1:xxx:gateway/anycompany-hotels-mcp-server-vtwtbfnhzt"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": false,
    "recipientAccountId": "xxx",
    "sharedEventID": "2aedea32-d5c8-4c15-a6f5-779e1000c661",
    "eventCategory": "Data",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "anycompany-hotels-mcp-server-vtwtbfnhzt.gateway.bedrock-agentcore.us-east-1.amazonaws.com"
    }
}

原因と対応

エラーメッセージから、Gateway で設定する MCP のバージョンである Supported versions に、2025-03-26 が含まれていないことがエラーの原因と考えられました。

Gateway 作成時 Supported versions はデフォルト設定のままでしたが、確認したところ 2026-07-28, 2025-11-25 が設定されていました。

Supported versions に 2025-03-26 も含めればエラーを回避できると思われたので、以下のとおり追加して更新しました。

Gatewayサポートバージョン追加

対応後の結果を確認してみた

20 分ほど時間を置いてから確認すると、以下のとおり Amazon Connect 側でツールが表示されていることを確認できました。
なお、Amazon Connect が Gateway にリクエストを送信する頻度は分からないので、急ぐのであれば Amazon Connect の統合を削除し、再作成した方が結果の確認という観点では早いかもしれません。

Amazon Connect のセキュリティプロファイルでツールが表示されていることが分かります。
AmazonConnectセキュリティプロファイル(ツールあり)

Amazon Connect AI エージェントのツール追加画面です。名前空間に Gateway があることがわかります。
AmazonConnectAIツールあり

Gateway のログを確認しましたが、エラーは確認できませんでした。
以下のとおりツールの内容をレスポンスしているようなログが確認できたので、Amazon Connect 側にツールが表示されるようになったと思われます。

{
    "resource_arn": "arn:aws:bedrock-agentcore:us-east-1:xxx:gateway/anycompany-hotels-mcp-server-vtwtbfnhzt",
    "event_timestamp": 1786931796168,
    "body": {
        "isError": false,
        "responseBody": "{jsonrpc=2.0, id=1, result={tools=[{inputSchema={type=object, properties={reservationId={examples=[RES-ABC123], description=Unique reservation identifier to cancel, type=string}}, required=[reservationId]}, name=anycompany-hotels-api___cancelReservation, description=Cancel an existing reservation. This will update the reservation status to cancelled and process any applicable refunds.}, {inputSchema={type=object, properties={checkOutDate={examples=[1710720000000], format=date, description=Check-out date in YYYY-MM-DD format, type=string}, customerId={examples=[84c06ff4ad2440899cbd91eac98f2ca9], description=Customer ID making the reservation, type=string}, numberOfGuests={examples=[2], description=Number of guests, type=integer}, specialRequests={examples=[Late check-in requested], description=Any special requests or notes, type=string}, hotelId={examples=[hotel-chicago-001], description=Hotel ID where the reservation should be made, type=string}, guestEmail={examples=[xxx@xxx.com], format=email, description=Email address of the primary guest, type=string}, checkInDate={examples=[1710460800000], format=date, description=Check-in date in YYYY-MM-DD format, type=string}, roomType={examples=[Standard King], description=Type of room to book, type=string}, guestName={examples=[John Doe], description=Name of the primary guest, type=string}}, required=[checkInDate, checkOutDate, customerId, guestEmail, guestName, hotelId, roomType]}, name=anycompany-hotels-api___createBooking, description=Create a new hotel reservation. This will book a room for the specified dates and return a confirmation number.}, {inputSchema={type=object, properties={customerId={examples=[84c06ff4ad2440899cbd91eac98f2ca9], description=The customer ID to look up reservations for, type=string}}, required=[customerId]}, name=anycompany-hotels-api___getCustomerReservations, description=Retrieve all reservations for a specific customer. Use this to check existing bookings before making changes or to provide customer service.}, {inputSchema={type=object, properties={reservationId={examples=[RES-ABC123], description=Unique reservation identifier to modify, type=string}, checkOutDate={examples=[1710806400000], format=date, description=New check-out date (optional), type=string}, customerId={examples=[84c06ff4ad2440899cbd91eac98f2ca9], description=Customer ID for verification, type=string}, checkInDate={examples=[1710547200000], format=date, description=New check-in date (optional), type=string}, roomType={examples=[Deluxe Suite], description=New room type (optional), type=string}}, required=[customerId, reservationId]}, name=anycompany-hotels-api___modifyReservation, description=Update details of an existing reservation such as check-in/check-out dates or room type. Requires both reservationId and customerId for security verification.}, {inputSchema={type=object, properties={country={examples=[USA], description=Optional country filter, type=string}, city={examples=[Seattle], description=The city name to search for hotels, type=string}, state={examples=[WA], description=Optional state filter, type=string}}, required=[city]}, name=anycompany-hotels-api___searchHotels, description=Search for hotels in a specific city. Returns a list of available hotels with details like name, address, and amenities.}]}}",
        "log": "Successfully processed request",
        "id": "1"
    },
    "account_id": "xxx",
    "request_id": "666c949f-6061-4b22-8e7f-60aed53390f2",
    "trace_id": "6a826a5411b5986e59700e647a77c6a9",
    "span_id": "3b4bfb6251994a31",
    "resource": {
        "attributes": {
            "service.name": "anycompany-hotels-mcp-server-vtwtbfnhzt",
            "cloud.resource_id": "arn:aws:bedrock-agentcore:us-east-1:xxx:gateway/anycompany-hotels-mcp-server-vtwtbfnhzt",
            "cloud.platform": "aws_bedrock_agentcore"
        }
    },
    "attributes": {
        "aws.request.id": "666c949f-6061-4b22-8e7f-60aed53390f2",
        "aws.account.id": "xxx",
        "aws.resource.type": "AWS::BedrockAgentCore::Gateway"
    },
    "timeUnixNano": 1786931796168839313,
    "severityNumber": 9,
    "severityText": "INFO",
    "traceId": "6a826a5411b5986e59700e647a77c6a9",
    "spanId": "3b4bfb6251994a31",
    "timestamp": "1786931796168",
    "gateway_id": "anycompany-hotels-mcp-server-vtwtbfnhzt"
}

CloudTrail は以下です。

CloudTrail
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AWSAccount",
        "principalId": "",
        "accountId": "anonymous"
    },
    "eventTime": "2026-08-17T01:56:36Z",
    "eventSource": "bedrock-agentcore.amazonaws.com",
    "eventName": "InvokeGateway",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "44.223.254.7",
    "userAgent": "node",
    "requestParameters": {
        "body": {
            "id": 1,
            "jsonrpc": "2.0",
            "method": "tools/list",
            "params": {}
        }
    },
    "responseElements": {
        "body": {
            "jsonrpc": "2.0",
            "id": 1,
            "result": {
                "tools": [
                    {
                        "inputSchema": {
                            "type": "object",
                            "properties": {
                                "reservationId": {
                                    "examples": [
                                        "RES-ABC123"
                                    ],
                                    "description": "Unique reservation identifier to cancel",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "reservationId"
                            ]
                        },
                        "name": "anycompany-hotels-api___cancelReservation",
                        "description": "Cancel an existing reservation. This will update the reservation status to cancelled and process any applicable refunds."
                    },
                    {
                        "inputSchema": {
                            "type": "object",
                            "properties": {
                                "checkOutDate": {
                                    "examples": [
                                        1710720000000
                                    ],
                                    "format": "date",
                                    "description": "Check-out date in YYYY-MM-DD format",
                                    "type": "string"
                                },
                                "customerId": {
                                    "examples": [
                                        "84c06ff4ad2440899cbd91eac98f2ca9"
                                    ],
                                    "description": "Customer ID making the reservation",
                                    "type": "string"
                                },
                                "numberOfGuests": {
                                    "examples": [
                                        2
                                    ],
                                    "description": "Number of guests",
                                    "type": "integer"
                                },
                                "specialRequests": {
                                    "examples": [
                                        "Late check-in requested"
                                    ],
                                    "description": "Any special requests or notes",
                                    "type": "string"
                                },
                                "hotelId": {
                                    "examples": [
                                        "hotel-chicago-001"
                                    ],
                                    "description": "Hotel ID where the reservation should be made",
                                    "type": "string"
                                },
                                "guestEmail": {
                                    "examples": [
                                        "xxx@xxx.com"
                                    ],
                                    "format": "email",
                                    "description": "Email address of the primary guest",
                                    "type": "string"
                                },
                                "checkInDate": {
                                    "examples": [
                                        1710460800000
                                    ],
                                    "format": "date",
                                    "description": "Check-in date in YYYY-MM-DD format",
                                    "type": "string"
                                },
                                "roomType": {
                                    "examples": [
                                        "Standard King"
                                    ],
                                    "description": "Type of room to book",
                                    "type": "string"
                                },
                                "guestName": {
                                    "examples": [
                                        "John Doe"
                                    ],
                                    "description": "Name of the primary guest",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "checkInDate",
                                "checkOutDate",
                                "customerId",
                                "guestEmail",
                                "guestName",
                                "hotelId",
                                "roomType"
                            ]
                        },
                        "name": "anycompany-hotels-api___createBooking",
                        "description": "Create a new hotel reservation. This will book a room for the specified dates and return a confirmation number."
                    },
                    {
                        "inputSchema": {
                            "type": "object",
                            "properties": {
                                "customerId": {
                                    "examples": [
                                        "84c06ff4ad2440899cbd91eac98f2ca9"
                                    ],
                                    "description": "The customer ID to look up reservations for",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "customerId"
                            ]
                        },
                        "name": "anycompany-hotels-api___getCustomerReservations",
                        "description": "Retrieve all reservations for a specific customer. Use this to check existing bookings before making changes or to provide customer service."
                    },
                    {
                        "inputSchema": {
                            "type": "object",
                            "properties": {
                                "reservationId": {
                                    "examples": [
                                        "RES-ABC123"
                                    ],
                                    "description": "Unique reservation identifier to modify",
                                    "type": "string"
                                },
                                "checkOutDate": {
                                    "examples": [
                                        1710806400000
                                    ],
                                    "format": "date",
                                    "description": "New check-out date (optional)",
                                    "type": "string"
                                },
                                "customerId": {
                                    "examples": [
                                        "84c06ff4ad2440899cbd91eac98f2ca9"
                                    ],
                                    "description": "Customer ID for verification",
                                    "type": "string"
                                },
                                "checkInDate": {
                                    "examples": [
                                        1710547200000
                                    ],
                                    "format": "date",
                                    "description": "New check-in date (optional)",
                                    "type": "string"
                                },
                                "roomType": {
                                    "examples": [
                                        "Deluxe Suite"
                                    ],
                                    "description": "New room type (optional)",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "customerId",
                                "reservationId"
                            ]
                        },
                        "name": "anycompany-hotels-api___modifyReservation",
                        "description": "Update details of an existing reservation such as check-in/check-out dates or room type. Requires both reservationId and customerId for security verification."
                    },
                    {
                        "inputSchema": {
                            "type": "object",
                            "properties": {
                                "country": {
                                    "examples": [
                                        "USA"
                                    ],
                                    "description": "Optional country filter",
                                    "type": "string"
                                },
                                "city": {
                                    "examples": [
                                        "Seattle"
                                    ],
                                    "description": "The city name to search for hotels",
                                    "type": "string"
                                },
                                "state": {
                                    "examples": [
                                        "WA"
                                    ],
                                    "description": "Optional state filter",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "city"
                            ]
                        },
                        "name": "anycompany-hotels-api___searchHotels",
                        "description": "Search for hotels in a specific city. Returns a list of available hotels with details like name, address, and amenities."
                    }
                ]
            }
        },
        "contentType": "application/json",
        "statusCode": 200
    },
    "additionalEventData": {
        "jwt": {
            "headers": {
                "kid": "xxx",
                "alg": "ES384"
            },
            "claims": {
                "sub": "<インスタンスエイリアス>",
                "iss": "https:&#x2F;&#x2F;<インスタンスエイリアス>.my.connect.aws",
                "exp": 1786932396,
                "iat": 1786931796,
                "jti": "xxx"
            },
            "type": "JWS"
        }
    },
    "requestID": "666c949f-6061-4b22-8e7f-60aed53390f2",
    "eventID": "0067a552-d902-3584-b3b0-262c8d0846e5",
    "readOnly": false,
    "resources": [
        {
            "accountId": "xxx",
            "type": "AWS::BedrockAgentCore::Gateway",
            "ARN": "arn:aws:bedrock-agentcore:us-east-1:xxx:gateway/anycompany-hotels-mcp-server-vtwtbfnhzt"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": false,
    "recipientAccountId": "xxx",
    "sharedEventID": "f88bc8f2-5b2c-46b6-b68e-4d79c3cfb1f1",
    "eventCategory": "Data",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "anycompany-hotels-mcp-server-vtwtbfnhzt.gateway.bedrock-agentcore.us-east-1.amazonaws.com"
    }
}

おわりに

今回は Gateway のログに加えて CloudTrail のデータイベント(InvokeGateway)も有効化しましたが、結果的には Gateway のログだけで十分でした。
しかし、Gateway のログには載っていない情報も CloudTrail 側には含まれていましたので、トラブルシューティングの際には両方有効化していると調査が楽になるかもしれません。

参考資料

クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。

運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。

当社は様々な職種でメンバーを募集しています。

「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 採用サイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事