Skip to main content
Glama

s3_object_list

Retrieve and list objects from an S3 bucket using a natural language command on the AWS MCP Server. Simplifies access to bucket contents by specifying the bucket name.

Instructions

List objects in an S3 bucket

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bucket_nameYesName of the S3 bucket

Implementation Reference

  • Executes the s3_object_list tool by calling AWS S3 list_objects_v2 with the bucket_name argument.
    elif name == "s3_object_list": response = s3_client.list_objects_v2( Bucket=arguments["bucket_name"])
  • Defines the Tool schema for s3_object_list, including input schema requiring bucket_name.
    Tool( name="s3_object_list", description="List objects in an S3 bucket", inputSchema={ "type": "object", "properties": { "bucket_name": { "type": "string", "description": "Name of the S3 bucket" } }, "required": ["bucket_name"] } ),
  • Registers all AWS tools, including s3_object_list, by returning get_aws_tools().
    async def list_tools() -> list[Tool]: """List available AWS tools""" logger.debug("Handling list_tools request") return get_aws_tools()
  • Combines S3 and DynamoDB tools for registration, including s3_object_list via get_s3_tools().
    def get_aws_tools() -> list[Tool]: return [ *get_s3_tools(), *get_dynamodb_tools() ]
  • The shared handler function for all S3 tools, dispatching based on name and executing list_objects_v2 for s3_object_list.
    async def handle_s3_operations(aws: AWSManager, name: str, arguments: dict) -> list[TextContent]: """Handle S3-specific operations""" s3_client = aws.get_boto3_client('s3') response = None if name == "s3_bucket_create": response = s3_client.create_bucket(Bucket=arguments["bucket_name"], CreateBucketConfiguration={ 'LocationConstraint': os.getenv("AWS_REGION") or 'us-east-1' }) elif name == "s3_bucket_list": response = s3_client.list_buckets() elif name == "s3_bucket_delete": response = s3_client.delete_bucket(Bucket=arguments["bucket_name"]) elif name == "s3_object_upload": response = s3_client.upload_fileobj( io.BytesIO(base64.b64decode(arguments["file_content"])), arguments["bucket_name"], arguments["object_key"]) elif name == "s3_object_delete": response = s3_client.delete_object( Bucket=arguments["bucket_name"], Key=arguments["object_key"] ) elif name == "s3_object_list": response = s3_client.list_objects_v2( Bucket=arguments["bucket_name"]) elif name == "s3_object_read": logging.info(f"Reading object: {arguments['object_key']}") response = s3_client.get_object( Bucket=arguments["bucket_name"], Key=arguments["object_key"] ) content = response['Body'].read().decode('utf-8') return [TextContent(type="text", text=content)] else: raise ValueError(f"Unknown S3 operation: {name}") aws.log_operation("s3", name.replace("s3_", ""), arguments) return [TextContent(type="text", text=f"Operation Result:\n{json.dumps(response, indent=2, default=custom_json_serializer)}")]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rishikavikondala/mcp-server-aws'

If you have feedback or need assistance with the MCP directory API, please join our Discord server