Skip to main content
The AWS plugin provides access to the following resources from Amazon Web Services:
  • EC2 Instances
  • RDS Databases
  • S3 Buckets
  • Application Load Balancers (ALB)
  • Classic Load Balancers (ELB)
  • ALB Target Groups
  • EBS Volumes
EC2 Instances:
  • CPU Utilization
  • Network In/Out
  • Status Check Failed
  • EBS Read/Write Bytes
RDS Databases:
  • CPU Utilization
  • Database Connections
  • DB Load Relative to vCPUs
  • Free Storage Space
  • Network Receive Throughput
  • Read/Write IOPS
  • Read/Write Throughput
Application Load Balancers:
  • Request Count
  • HTTP Response Codes (2XX, 3XX, 4XX, 5XX)
  • Healthy/Unhealthy Host Count
  • Target Response Time
Classic Load Balancers:
  • Request Count
  • HTTP Backend Response Codes
  • Healthy/Unhealthy Host Count
  • Latency
S3 Buckets:
  • Bucket Size (Bytes)
  • Number of Objects
  • Request metrics (Get, Put, Delete, etc.)
  • get_realtime_instance_status: Get real-time status information for an EC2 instance
  • get_realtime_instance_status_by_node: Get instance status using a knowledge graph node ID

Prerequisites

You should have AWS credentials configured through one of the following methods:
  • AWS CLI Profile: Use aws configure to set up a named profile, or have the AWS CLI installed and authenticated
  • Environment Variables: Set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and optionally AWS_SESSION_TOKEN
  • IAM Roles: If running on AWS infrastructure (EC2, Lambda, etc.)
  • AWS SSO: If using AWS Single Sign-On, ensure you can run aws sso login
The plugin follows the standard AWS credential provider chain.

Configuration

Configure the AWS plugin by running uv run unpage configure or by editing the ~/.unpage/profiles/<profile_name>/config.yaml file:
plugins:
  # ...
  aws:
    enabled: true
    # Optional: specify an AWS profile
    accounts:
      default:
        profile: "my-aws-profile"
If no profile is specified, the plugin will use the default AWS credential providers.

Tools

The AWS plugin provides the following tools to Agents and MCP Clients:

get_realtime_instance_status

Get real-time status information for an EC2 instance directly from AWS API.Arguments
instance_id
string
required
The EC2 instance ID (e.g., “i-0abcd1234efgh5678”).
region
string
required
The AWS region where the instance is located (e.g., “us-east-1”).
Returns dict | string: A dictionary containing instance status information or an error message if the instance couldn’t be found.Example response:
{
  "InstanceId": "i-0abcd1234efgh5678",
  "InstanceState": { "Code": 16, "Name": "running" },
  "AvailabilityZone": "us-east-1a",
  "SystemStatus": { "Status": "ok" },
  "InstanceStatus": { "Status": "ok" }
}

get_realtime_instance_status_by_node

Get real-time status information for an EC2 instance using a node ID from the knowledge graph.Arguments
node_id
string
required
The node ID from the knowledge graph (e.g., “aws_ec2_instance:i-0abcd1234efgh5678”).
Returns dict | string: Same as get_realtime_instance_status or an error message if the node doesn’t exist, isn’t an EC2 instance, or the instance couldn’t be found.
I