agentskit.js
ToolsIntegrations

s3

AWS S3 — get, put, list objects. BYO client keeps the tool AWS-SDK-version-agnostic.

import { s3 } from '@agentskit/tools'
import { S3Client } from '@aws-sdk/client-s3'

const client = new S3Client({ region: 'us-east-1' })

const runtime = createRuntime({
  adapter,
  tools: [...s3({ client, bucket: 'agent-scratch' })],
})

Sub-tools

NamePurpose
s3GetObjectRead a key (text or signed-URL modes)
s3PutObjectWrite bytes to a key with optional content-type
s3ListObjectsList keys under a prefix with pagination

Bundled: s3(config).

Config

type S3Config = {
  client: S3Client         // from @aws-sdk/client-s3 (or R2, MinIO, etc)
  bucket: string
  prefix?: string          // scope all operations under a prefix
}

Works with S3-compatible APIs

Pass an S3Client configured for Cloudflare R2, MinIO, Backblaze B2 — same tool.

Example — resume scanner

const runtime = createRuntime({
  adapter,
  tools: [
    ...s3({ client, bucket: 'resumes', prefix: 'incoming/' }),
    ...documentParsers({ parse: pdfParse }),
  ],
})

await runtime.run('List resumes uploaded today and extract contact info.')

Safety

  • Scope to a prefix; the tool enforces it on list + get + put.
  • For delete flows, gate via mandatory sandbox.
✎ Edit this page on GitHub·Found a problem? Open an issue →·How to contribute →

On this page