name 9f2f9f470f Add AWS Operations Conversational Agent use case
- Complete serverless AI-powered AWS operations platform
- Multi-Lambda architecture with Function URL deployment
- Bedrock AgentCore Gateway integration with MCP protocol
- 20 AWS service tools for comprehensive operations
- Dual authentication: AWS SigV4 + Okta JWT
- Natural language interface with streaming responses
- DynamoDB conversation persistence
- Docker-based MCP Tool Lambda with Strands framework
- Production-ready with enterprise security patterns
- Comprehensive documentation and setup guides
- Read-only operations by default with write enablement guide
- Interactive client with CLI interface
- Complete Okta OAuth2 PKCE setup
- Management scripts for gateway and target operations
- Sanitized configuration with dummy data for public sharing
2025-07-15 17:30:49 -07:00

348 lines
12 KiB
JSON

{
"aws": {
"default_profile": "demo1",
"default_region": "us-east-1",
"default_account": "<YOUR_AWS_ACCOUNT_ID>"
},
"bedrock_agentcore": {
"service_name": "bedrock-agentcore-control",
"active_endpoint": "production_endpoints",
"production_endpoints": {
"control_plane": "https://bedrock-agentcore-control.us-east-1.amazonaws.com",
"target_id": "<YOUR_TARGET_ID>",
"mcp_tool_lambda_arn": "arn:aws:lambda:us-east-1:<YOUR_AWS_ACCOUNT_ID>:function:<YOUR_MCP_TOOL_LAMBDA_FUNCTION_NAME>",
"gateway_id": "<YOUR_GATEWAY_ID>",
"gateway_url": "https://<YOUR_GATEWAY_ID>.gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp"
}
},
"okta": {
"audience": "api://default",
"discovery_url": "https://<YOUR_OKTA_DOMAIN>.okta.com/oauth2/default/.well-known/openid-configuration"
},
"environments": {
"dev": {
"aws_profile": "demo1",
"aws_region": "us-east-1",
"aws_account": "<YOUR_AWS_ACCOUNT_ID>",
"resource_prefix": "<YOUR_RESOURCE_PREFIX>",
"bedrock_agentcore_role_name": "BedrockAgentCoreGatewayExecutionRole-<YOUR_RESOURCE_PREFIX>",
"bedrock_agentcore_role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_ID>:role/BedrockAgentCoreGatewayExecutionRole-<YOUR_RESOURCE_PREFIX>",
"bedrock_agentcore_policy_name": "<YOUR_RESOURCE_PREFIX>-bedrock-agentcore-gateway-policy",
"lambda_arn": "arn:aws:lambda:us-east-1:<YOUR_AWS_ACCOUNT_ID>:function:<YOUR_LAMBDA_FUNCTION_NAME>",
"function_url": "https://<YOUR_LAMBDA_FUNCTION_URL>.lambda-url.us-east-1.on.aws"
}
},
"tool_schemas": [
{
"name": "hello_world",
"description": "Returns a friendly hello world message",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name to greet (optional)"
}
},
"required": []
}
},
{
"name": "get_time",
"description": "Returns current server time",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
},
{
"name": "ec2_read_operations",
"description": "Perform read-only operations on EC2 resources. Accepts natural language queries about EC2 instances, security groups, VPCs, subnets, and key pairs.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about EC2 resources (e.g., 'list running instances', 'show security groups', 'count instances by region')"
}
},
"required": [
"query"
]
}
},
{
"name": "s3_read_operations",
"description": "Perform read-only operations on S3 resources. Accepts natural language queries about S3 buckets, policies, and configurations.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about S3 resources (e.g., 'list all buckets', 'show bucket policies', 'find large buckets')"
}
},
"required": [
"query"
]
}
},
{
"name": "lambda_read_operations",
"description": "Perform read-only operations on Lambda resources. Accepts natural language queries about Lambda functions, layers, and configurations.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about Lambda resources (e.g., 'list all functions', 'show function runtimes', 'find functions with high memory')"
}
},
"required": [
"query"
]
}
},
{
"name": "cloudformation_read_operations",
"description": "Perform read-only operations on CloudFormation resources. Accepts natural language queries about stacks, resources, and templates.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about CloudFormation resources (e.g., 'list all stacks', 'show failed stacks', 'find stack resources')"
}
},
"required": [
"query"
]
}
},
{
"name": "iam_read_operations",
"description": "Perform read-only operations on IAM resources. Accepts natural language queries about users, roles, policies, and groups.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about IAM resources (e.g., 'list all users', 'show admin roles', 'find unused policies')"
}
},
"required": [
"query"
]
}
},
{
"name": "rds_read_operations",
"description": "Perform read-only operations on RDS resources. Accepts natural language queries about database instances, clusters, and configurations.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about RDS resources (e.g., 'list all databases', 'show database engines', 'find large instances')"
}
},
"required": [
"query"
]
}
},
{
"name": "cloudwatch_read_operations",
"description": "Perform read-only operations on CloudWatch resources. Accepts natural language queries about metrics, alarms, and logs.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about CloudWatch resources (e.g., 'show active alarms', 'list log groups', 'find high CPU metrics')"
}
},
"required": [
"query"
]
}
},
{
"name": "cost_explorer_read_operations",
"description": "Perform read-only operations on Cost Explorer. Accepts natural language queries about costs, billing, and usage.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about costs and billing (e.g., 'show monthly costs', 'find expensive services', 'compare last 3 months')"
}
},
"required": [
"query"
]
}
},
{
"name": "ecs_read_operations",
"description": "Perform read-only operations on ECS resources. Accepts natural language queries about clusters, services, and tasks.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about ECS resources (e.g., 'list all clusters', 'show running services', 'find failed tasks')"
}
},
"required": [
"query"
]
}
},
{
"name": "eks_read_operations",
"description": "Perform read-only operations on EKS resources. Accepts natural language queries about Kubernetes clusters and node groups.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about EKS resources (e.g., 'list all clusters', 'show node groups', 'find cluster versions')"
}
},
"required": [
"query"
]
}
},
{
"name": "sns_read_operations",
"description": "Perform read-only operations on SNS resources. Accepts natural language queries about topics and subscriptions.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about SNS resources (e.g., 'list all topics', 'show subscriptions', 'find topic policies')"
}
},
"required": [
"query"
]
}
},
{
"name": "sqs_read_operations",
"description": "Perform read-only operations on SQS resources. Accepts natural language queries about queues and messages.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about SQS resources (e.g., 'list all queues', 'show queue attributes', 'find queues with messages')"
}
},
"required": [
"query"
]
}
},
{
"name": "dynamodb_read_operations",
"description": "Perform read-only operations on DynamoDB resources. Accepts natural language queries about tables and indexes.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about DynamoDB resources (e.g., 'list all tables', 'show table indexes', 'find large tables')"
}
},
"required": [
"query"
]
}
},
{
"name": "route53_read_operations",
"description": "Perform read-only operations on Route53 resources. Accepts natural language queries about DNS zones and records.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about Route53 resources (e.g., 'list hosted zones', 'show DNS records', 'find domain configurations')"
}
},
"required": [
"query"
]
}
},
{
"name": "apigateway_read_operations",
"description": "Perform read-only operations on API Gateway resources. Accepts natural language queries about APIs and deployments.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about API Gateway resources (e.g., 'list all APIs', 'show API stages', 'find API methods')"
}
},
"required": [
"query"
]
}
},
{
"name": "ses_read_operations",
"description": "Perform read-only operations on SES resources. Accepts natural language queries about email identities and configurations.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about SES resources (e.g., 'list verified emails', 'show sending statistics', 'find configuration sets')"
}
},
"required": [
"query"
]
}
},
{
"name": "bedrock_read_operations",
"description": "Perform read-only operations on Bedrock resources. Accepts natural language queries about foundation models and jobs.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about Bedrock resources (e.g., 'list available models', 'show model capabilities', 'find customization jobs')"
}
},
"required": [
"query"
]
}
},
{
"name": "sagemaker_read_operations",
"description": "Perform read-only operations on SageMaker resources. Accepts natural language queries about ML endpoints and models.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query about SageMaker resources (e.g., 'list all endpoints', 'show training jobs', 'find model artifacts')"
}
},
"required": [
"query"
]
}
}
]
}