Connect your AI Agents to Amazon S3 in minutes

Available tools
list_buckets
List all S3 buckets in the AWS account with owner information
get_bucket_info
Get S3 bucket location/region. Returns the AWS region where the bucket is hosted
create_bucket
Create a new S3 bucket. Name must be globally unique, 3-63 chars, lowercase only
delete_bucket
Delete an empty S3 bucket. Use delete_objects first to remove all objects before deleting
get_bucket_policy
Get the IAM policy JSON document attached to an S3 bucket for access control review
put_bucket_policy
Set or update the IAM policy on an S3 bucket for access control configuration
get_bucket_cors
Get CORS configuration rules for an S3 bucket to review cross-origin access settings
put_bucket_cors
Set CORS rules on an S3 bucket to enable cross-origin web browser access
get_bucket_versioning
Get versioning status of an S3 bucket (Enabled, Suspended, or never enabled)
put_bucket_versioning
Enable or suspend versioning on an S3 bucket for object version management
get_bucket_tagging
Get all tags on an S3 bucket as key-value pairs for resource organization and billing
put_bucket_tagging
Set tags on an S3 bucket (replaces all existing tags). Max 50 tags per bucket
list_objects
List objects in an S3 bucket with prefix filtering, delimiter grouping, and pagination support
get_object_metadata
Get metadata for an S3 object (size, type, last modified) without downloading content
upload_object
Upload base64-encoded content as an S3 object with optional content type and metadata
download_object
Download an S3 object and return its content as base64-encoded string
delete_object
Delete a single object from an S3 bucket. Use delete_objects for batch deletion
delete_objects
Batch delete up to 1000 objects from an S3 bucket in a single request
copy_object
Copy an S3 object within the same bucket or across buckets in the same region
get_object_tagging
Get all tags on an S3 object as key-value pairs for resource classification
put_object_tagging
Set tags on an S3 object (replaces all existing tags). Max 10 tags per object
generate_presigned_download_url
Generate a temporary presigned URL for downloading an S3 object without AWS credentials
generate_presigned_upload_url
Generate a temporary presigned URL for uploading to S3 without AWS credentials via HTTP PUT
validate_credential
Validate Amazon S3 credentials. Verifies credentials during setup.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Amazon S3 MCP server
FAQs on using Merge's Amazon S3 MCP server
What is an Amazon S3 MCP?
It's an MCP server that gives your agents access to Amazon S3 storage via tools. Your agents can invoke these tools to list objects in a bucket, read file contents, upload new files, generate presigned download links, and more.
AWS offers an official MCP server, but you can also use one from a third-party platform, like Merge Agent Handler.
How can I use the Amazon S3 MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Automated report archiving: When a data pipeline finishes a processing run, an agent uploads the output files to a designated S3 bucket with a structured prefix and timestamp, making them available for downstream analytics tools without manual file transfers
- Document processing pipeline: When a new file lands in an S3 intake prefix, an agent reads the object content, routes it to a document processing or extraction service, and writes the structured output back to a processed/ prefix in the same bucket
- Secure asset delivery: When a customer requests access to a report or export file stored in S3, an agent generates a presigned URL scoped to that object and sends it via email or embeds it in a CRM record, avoiding the need to make the bucket public
- Storage cost management: An agent scans a logs/ prefix for objects older than a defined retention window, flags them in a spreadsheet for review, and deletes confirmed stale files to reduce storage spend
What are popular tools for Amazon S3's MCP server?
Here are some of the most commonly used tools:
list_objects: returns objects in a specified bucket and prefix, with optional filters for key pattern or last-modified date. Useful for agents that need to discover what files exist before reading or processing them
get_object: downloads the content of a specific S3 object and returns it to the agent. Call this when an agent needs to read a file's contents to parse, summarize, or route it downstream
put_object: uploads a file or text payload to a specified S3 key. Good for workflows where an agent produces output that needs to be persisted to cloud storage for other systems to consume
delete_object: removes a specific object from a bucket. Use this when an agent is running a cleanup or archival workflow and needs to free up storage after files have been processed or expired
create_presigned_url: generates a time-limited URL that grants temporary access to a private S3 object without changing bucket permissions. Helpful when an agent needs to share a file securely with an external user or downstream service
copy_object: copies an object from one S3 location to another within or across buckets. Use this when an agent needs to move processed files into an archive prefix or replicate objects between environments
What makes Merge Agent Handler's Amazon S3 MCP server better than alternative Amazon S3 MCP servers?
Using Merge Agent Handler for your Amazon S3 MCP server gives you capabilities that community implementations or self-built integrations typically don't include:
- Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Amazon S3, this means you can prevent file contents, object metadata, and access patterns tied to sensitive data in your buckets from being exposed even when the agent has broad read access
- Managed authentication and credentials: Merge stores and manages your AWS credentials on your behalf. You never embed access keys or IAM secrets in agent configuration, and you don't need to rotate them manually when they change
- Real-time observability and audit trail: Every tool call against Amazon S3 is captured with full context: bucket name, object key, operation type, and response status. You get a searchable audit log of every file an agent read, wrote, or deleted without writing any logging code
- Tool Packs and controlled access: Tool Packs let you bundle specific Amazon S3 tools with tools from other connectors into a single MCP endpoint, scoped to a specific use case. An agent gets exactly the tools it needs, nothing more
How can I start using Merge Agent Handler's Amazon S3 MCP server?
You can take the following steps:
1. Create or log into your Merge Agent Handler account and navigate to Tool Packs (collections of connector tools scoped to a specific use case).
2. Create a new Tool Pack, then find and enable the Amazon S3 connector. Select the tools that fit your use case: read-only tools like list_objects and get_object are enough for processing workflows, while put_object and delete_object are needed if your agent needs to write or clean up files.
3. Add a Registered User inside the Tool Pack. This is the identity context under which your agent operates. Merge generates a unique MCP URL scoped to this user once it's created.
4. From the Registered User detail page, connect Amazon S3 by entering your AWS credentials. Merge stores and manages those credentials going forward.
5. Copy the MCP URL from the Tool Pack detail page and generate an API key from Settings. You'll need both to connect your agent.
6. Add the MCP server to your agent or IDE using the MCP URL and API key. Your Amazon S3 tools are now accessible through that endpoint.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now

























