mirror of
https://github.com/awslabs/amazon-bedrock-agentcore-samples.git
synced 2025-09-08 20:50:46 +00:00
- 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
348 lines
12 KiB
JSON
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"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
} |