AI ペルソナ MCP Server 設定ガイド
May 9, 2026 · View on GitHub
AI ペルソナシステムの主要機能(ペルソナ生成、議論シミュレーション、インサイト生成)を MCP ツールとして外部 AI エージェントから利用できるようにする MCP Server オプションの設定ガイドです。
概要
AgentCore Gateway を介して MCP プロトコルのエンドポイントを公開し、Amazon Quick や他の AI エージェントから AI ペルソナシステムの機能をツールとして呼び出せるようにします。
アーキテクチャ
graph LR
Agent([外部 AI エージェント<br/>Amazon Quick 等]) --> Gateway[AgentCore Gateway<br/>MCP + Cognito M2M]
Gateway -->|GATEWAY_IAM_ROLE| APIGW[API Gateway<br/>REST API / IAM]
APIGW -->|VPC Link V2| ALB[Internal ALB]
ALB --> ECS[Amazon ECS<br/>FastAPI]
- AgentCore Gateway が MCP プロトコルのエンドポイントを提供し、Cognito M2M(Client Credentials)認証を自動管理します
- API Gateway Target により、Gateway の IAM ロールで API Gateway を呼び出します(追加の credential provider 不要)
- API Gateway + VPC Link V2 で Internal ALB に直接接続し、ECS 上の FastAPI アプリケーションの REST API エンドポイントに接続します
利用可能な MCP ツール
| ツール | エンドポイント | 処理方式 | 説明 |
|---|---|---|---|
| ペルソナ一覧取得 | GET /api/personas | 同期 | 保存済みペルソナの一覧を取得 |
| ペルソナ詳細取得 | GET /api/personas/{id} | 同期 | 指定ペルソナの詳細情報を取得 |
| ペルソナ生成 | POST /api/personas/generate | 非同期 | テキストデータから AI ペルソナを生成 |
| 議論実行 | POST /api/discussions | 非同期 | ペルソナ間の議論を実行 |
| 議論結果取得 | GET /api/discussions/{id} | 同期 | 議論結果(メッセージ・インサイト)を取得 |
| インサイト生成 | POST /api/discussions/{id}/insights | 非同期 | 議論結果からインサイトを生成 |
| インタビュー実行 | POST /api/interviews | 同期 | ペルソナに質問して回答を取得 |
| ジョブステータス確認 | GET /api/jobs/{job_id} | 同期 | 非同期ジョブの進捗・結果を確認 |
ペルソナ生成と議論実行は処理に時間がかかるため、非同期ジョブとして実行されます。ジョブ投入後に返される job_id を使って GET /api/jobs/{job_id} でステータスと結果をポーリングしてください。
前提条件
- AI ペルソナシステムのメインスタック(
AIPersona-{env})がデプロイ済みであること
セットアップ手順
1. パラメータの設定
deploy.sh を使う場合(推奨)
--enable-mcp オプションを付けてデプロイするだけで、パラメータ設定と MCP Gateway のデプロイが自動で行われます。
./deploy.sh --enable-mcp
再デプロイ時(コード更新のみ):
./deploy.sh --skip-memory --skip-cognito --enable-mcp
CDK を直接使う場合
cdk/parameters.ts で enableMcpGateway を true に設定します。
// 開発環境の例
export const devParameter: AppParameter = {
// ... 既存設定 ...
// MCP Gateway設定(AgentCore Gateway)
enableMcpGateway: true,
};
2. CDK デプロイ
deploy.sh --enable-mcpを使った場合はこのステップは不要です。
メインスタックが未デプロイまたは exportName の追加が必要な場合は、先にメインスタックをデプロイします。
cd cdk
npx cdk deploy AIPersona-dev
次に MCP Gateway スタックをデプロイします。
npx cdk deploy AIPersonaMcp-dev
3. デプロイ出力の確認
デプロイ完了後、以下の出力を確認します。
| 出力キー | 説明 |
|---|---|
GatewayId | AgentCore Gateway の ID |
GatewayArn | AgentCore Gateway の ARN |
ApiGatewayUrl | API Gateway の URL(VPC Link 経由で ECS に接続) |
TokenEndpointUrl | Cognito トークンエンドポイント URL(M2M 認証用) |
UserPoolClientId | Cognito User Pool Client ID(M2M 認証用) |
Client Secret は AWS コンソールの Cognito → ユーザープール → アプリケーションクライアント → クライアントシークレットを表示 から確認してください。
Gateway の MCP エンドポイント URL は以下の形式です:
https://{GatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/mcp
GatewayId は CDK デプロイ時の出力から取得できます。
Amazon Quick との連携
Amazon Quick の MCP 統合機能を使って、AgentCore Gateway の MCP エンドポイントを外部ツールとして登録できます。これにより、Amazon Quick のアシスタントが AI ペルソナシステムの機能をツールとして利用できるようになります。
前提条件
- Amazon Quick Enterprise サブスクリプションが有効であること
- AI ペルソナシステムの MCP Gateway(
AIPersonaMcp-{env})がデプロイ済みであること
接続情報の準備
MCP Gateway のデプロイ出力から以下の情報を控えておきます。
| 情報 | 取得元 |
|---|---|
| MCP エンドポイント URL | https://{GatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/mcp |
| Token URL | CDK 出力の TokenEndpointUrl |
| Client ID | CDK 出力の UserPoolClientId |
| Client Secret | AWS コンソール → Cognito → ユーザープール → アプリケーションクライアント → クライアントシークレットを表示 |
設定手順
- Amazon Quick コンソールを開き、Connectors を選択
- Create for your team タブを選択
- Model Context Protocol (MCP) を選択
- 統合の詳細を入力:
- Name:
AI Persona Research - Description:
Generate customer personas from interview data, simulate multi-persona discussions, and extract structured insights for product planning and marketing strategy - MCP server endpoint:
https://{GatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/mcp
- Name:
- Next を選択
- 認証方式で Service authentication (Service-to-Service) を選択
- 認証情報を入力:
- Client ID: CDK 出力の
UserPoolClientId - Client Secret: Cognito アプリケーションクライアント の Client Secret
- Token URL: CDK 出力の
TokenEndpointUrl
- Client ID: CDK 出力の
- Create and continue を選択
- ツール一覧が自動検出されるので、利用するツールを確認して有効化
- Next を選択し、必要に応じて他のユーザーと共有
利用例
設定完了後、Amazon Quick のチャットで以下のような指示が可能になります:
- 「保存されているペルソナの一覧を見せて」
- 「ペルソナ xxx と yyy で『新商品の価格設定』について議論して」
- 「このデータをもとにペルソナを生成して」
60 秒タイムアウトへの対応
Amazon Quick の MCP 統合には 60 秒のタイムアウト制限があります。AI ペルソナシステムでは、処理時間が長いペルソナ生成と議論実行を非同期ジョブとして実装しているため、以下のフローで利用します:
- ペルソナ生成 / 議論実行のツールを呼び出す →
job_idが即座に返る(60 秒以内) - ジョブステータス確認ツールで
job_idの進捗を確認 →completedになるまで繰り返す - 結果が
resultフィールドに含まれる
AI エージェントがこのポーリングパターンを自動的に実行するため、ユーザーは非同期処理を意識する必要はありません。
注意事項
- ツール一覧は初回登録時に固定されます。MCP エンドポイントの追加・変更後は、統合を削除して再作成してください
MCP ツールの使い方
ペルソナ生成(非同期)
# 1. ジョブ投入
JOB=$(curl -s -X POST "${GATEWAY_URL}/api/personas/generate" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"data_type": "interview",
"file_contents": ["インタビュー内容のテキスト..."],
"count": 3
}')
JOB_ID=$(echo $JOB | jq -r '.job_id')
# 2. ステータス確認(completed になるまでポーリング)
curl -s "${GATEWAY_URL}/api/jobs/${JOB_ID}" \
-H "Authorization: Bearer ${TOKEN}"
data_type には以下を指定できます:
interview— N1 インタビューテキストmarket_report— 市場調査レポートreview— レビューデータpurchase— 購買データother— その他(descriptionで説明を追加)
議論実行(非同期)
# 1. ジョブ投入
JOB=$(curl -s -X POST "${GATEWAY_URL}/api/discussions" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"persona_ids": ["persona-id-1", "persona-id-2"],
"topic": "新商品のターゲット層について",
"mode": "agent",
"rounds": 3
}')
JOB_ID=$(echo $JOB | jq -r '.job_id')
# 2. ステータス確認
curl -s "${GATEWAY_URL}/api/jobs/${JOB_ID}" \
-H "Authorization: Bearer ${TOKEN}"
mode は classic(高速、1-3分)または agent(深い議論、5-15分)を指定できます。rounds(1-10、デフォルト3)で agent モードの議論ラウンド数を制御できます。
インタビュー(同期)
curl -s -X POST "${GATEWAY_URL}/api/interviews" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"persona_ids": ["persona-id-1"],
"question": "普段どのような基準で商品を選びますか?"
}'
インサイト生成(非同期)
# 1. ジョブ投入
JOB=$(curl -s -X POST "${GATEWAY_URL}/api/discussions/${DISCUSSION_ID}/insights" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"categories": [
{"name": "顧客ニーズ", "description": "潜在的・顕在的ニーズ"},
{"name": "市場機会", "description": "新たな市場セグメントや成長領域"}
]
}')
JOB_ID=$(echo $JOB | jq -r '.job_id')
# 2. ステータス確認
curl -s "${GATEWAY_URL}/api/jobs/${JOB_ID}" \
-H "Authorization: Bearer ${TOKEN}"
categories を省略するとデフォルトカテゴリ(顧客ニーズ、市場機会、商品開発、マーケティング、その他)が使用されます。
MCP Gateway の削除
MCP Gateway が不要になった場合、メインスタックに影響なく削除できます。
cd cdk
npx cdk destroy AIPersonaMcp-dev
削除後、次回の deploy.sh 実行時に --enable-mcp を付けなければ再作成されません。CDK を直接使う場合は parameters.ts の enableMcpGateway を false に戻してください。
トラブルシューティング
| 問題 | 対処 |
|---|---|
CDK デプロイで Export not found エラー | メインスタック(AIPersona-{env})を先にデプロイしてください |
| 認証エラー(401) | Cognito の Client ID / Secret / Scope が正しいか確認してください |
ジョブが failed になる | error フィールドのメッセージを確認。Bedrock のモデルアクセス権限やペルソナ ID の存在を確認してください |