
A tool for checking cloud wiring
aws-probe is a CLI toolkit designed to troubleshoot and verify connectivity to
AWS resources. It helps developers and operators confirm that their "wiring"
(IAM roles, security groups, network paths) is correctly configured for various
AWS services.
- Identity Verification: Quickly check your current AWS credentials and assumed role.
- Service Inspection: List and probe resources for S3, SQS, SNS, and Secrets Manager.
- MSK Power Tools: List MSK clusters and topics, and interact with Kafka via IAM authentication to produce and consume messages.
View Installation Options
go install github.com/xenos76/aws-probe@latestRelease binaries and DEB, RPM, APK packages can be downloaded from the
repo's releases section.
Binaries and packages are built for Linux and MacOS, amd64 and arm64.
Configure the repo the following way:
echo "deb [trusted=yes] https://repo.os76.xyz/apt stable main" | sudo tee /etc/apt/sources.list.d/os76.listthen:
sudo apt-get update && sudo apt-get install -y aws-probeConfigure the repo the following way:
echo '[os76]
name=OS76 Yum Repo
baseurl=https://repo.os76.xyz/yum/$basearch/
enabled=1
gpgcheck=0
repo_gpgcheck=0' | sudo tee /etc/yum.repos.d/os76.repothen:
sudo yum install aws-probeAdd Os76 Homebrew repository:
brew tap xenos76/tapInstall aws-probe:
brew install --casks aws-probeNote: aws-probe is not configured and signed as a MacOS app. Manual steps
might be needed to enable the execution of the binary.
Generate a completion script for your shell:
aws-probe completion bash
aws-probe completion zsh
aws-probe completion fish
aws-probe completion powershellQuick setup examples:
# Bash (current session)
source <(aws-probe completion bash)
# Zsh (persisted)
mkdir -p "${fpath[1]}"
aws-probe completion zsh > "${fpath[1]}/_aws-probe"
autoload -Uz compinit && compinitaws-probe whoamiList MSK clusters and topics, produce and consume messages.
# List all clusters
aws-probe msk --list-clusters
# List topics for a cluster
aws-probe msk --list-topics <cluster-arn>
# Produce a message
aws-probe msk --produce --topic <topic> --message "hello world" --cluster-arn <arn>
# Consume messages from the beginning
aws-probe msk --consume --topic <topic> --cluster-arn <arn> --from-beginningManage S3 buckets and objects.
# List all buckets
aws-probe s3 --list-buckets
# List objects in a bucket
aws-probe s3 --list-bucket my-bucket --path logs/ --recursive
# Get object metadata
aws-probe s3 --get-metadata my-bucket --key my-file.txtList and retrieve secrets.
# List all secrets
aws-probe secrets --list-secrets
# Get secret value
aws-probe secrets --get-secret-value my-secret-idManage CloudFront distributions and associated resources.
# List certificates of all CloudFront distributions
aws-probe cloudfront --list-certificates# List SNS topics
aws-probe sns --list-topics
# List SNS subscriptions for a topic
aws-probe sns --list-subscriptions <topic-arn>
# List SQS queues
aws-probe sqs --list-queues
# Get SQS queue URL by queue name
aws-probe sqs --get-queue-url <queue-name>
# Receive SQS messages from queue URL
aws-probe sqs --receive-message <queue-url>After bringing up the local stack (./setup-local-env.sh), use these commands
to verify the Terraform sample queues and the new SQS CLI features. The
Terraform apply seeds each sample queue with test messages:
# Confirm queues exist in LocalStack
aws --endpoint-url=http://localhost:4566 --region us-east-1 sqs list-queues
# Verify aws-probe queue listing
aws-probe sqs --list-queues
# Resolve queue URL from queue name
aws-probe sqs --get-queue-url sample-queue-1
# Receive from queue URL (use URL from list/get output)
aws-probe sqs --receive-message <queue-url>Expose aws-probe to AI clients over stdin/stdout (Model Context Protocol):
aws-probe mcp{
"mcpServers": {
"aws-probe": {
"command": "aws-probe",
"args": ["mcp"]
}
}
}| Tool | Purpose |
|---|---|
aws_probe_whoami |
Caller identity and auth method |
aws_probe_s3_list_buckets |
List S3 buckets |
aws_probe_s3_list_objects |
List objects/prefixes in a bucket |
aws_probe_s3_get_object_metadata |
HeadObject metadata |
aws_probe_sqs_list_queues |
List SQS queue URLs |
aws_probe_sqs_get_queue_url |
Resolve queue name to URL |
aws_probe_sqs_receive_message |
Receive messages (batch capped) |
aws_probe_secrets_list |
List secret names/ARNs |
aws_probe_sns_list_topics |
List SNS topic ARNs |
aws_probe_msk_list_clusters |
List MSK clusters |
aws_probe_msk_list_topics |
List topics for a cluster |
aws_probe_msk_consume |
Bounded Kafka consume |
aws_probe_cloudfront_list_certificates |
CloudFront TLS certificate report |
| Prompt | Purpose |
|---|---|
aws_probe_prompt_check_credentials |
Workflow to verify credentials via aws_probe_whoami |
aws_probe_prompt_audit_s3_prefix |
Audit/list workflow for S3 bucket prefix |
aws_probe_prompt_cloudfront_cert_report |
CloudFront TLS/cert review workflow |
Resources: aws-probe://docs/agents, aws-probe://docs/cli-reference,
aws-probe://examples/ministack.