PlugWiki
s3-tables-mcp-server logo

AWS S3 Tables MCP Server: Setup for Claude, Cursor and Other Apps

Official · by Amazon Web ServicesLocal
GetPyPIawslabs.s3-tables-mcp-serverawslabs/mcp/tree/HEAD/src/s3-tables-mcp-server

Lets your AI assistant browse and query Amazon S3 Tables, and load CSV or Parquet files into them if you allow writes.

This AWS Labs server runs on your computer and uses your AWS credentials. It lists your table buckets, namespaces and tables and runs read-only SQL on them.

It starts in read-only mode. Adding the --allow-write flag turns on tools that create tables and append data. Even then, the source has no tool that deletes a table, bucket or namespace.

Good for

  • Data teams that keep Iceberg tables in S3 Tables and want to query them in plain words
  • Analysts who want to turn a CSV in S3 into a queryable table
  • Teams that want a read-only view of their S3 Tables by default

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install s3-tables-mcp-server

Claude Code

  1. 1

    Copy this prompt.

    Add the s3-tables-mcp-server server to Claude Code. Run this command:
    
    claude mcp add s3-tables -- uvx awslabs.s3-tables-mcp-server
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires uv (Python).

Built from the package data we hold. Not yet tested by us.

Tools

  • Lists your S3 table buckets

    Returns the table buckets in your AWS account for a region.

    Try: “List my S3 table buckets.”

    Network · list_table_buckets

  • Lists the namespaces in your table buckets

    Returns the namespaces, which group tables inside a table bucket.

    Try: “What namespaces do I have in S3 Tables?”

    Network · list_namespaces

  • Lists your S3 tables

    Returns the tables in your table buckets.

    Try: “List all tables in the sales namespace.”

    Network · list_tables

  • Runs a read-only SQL query on a table

    Runs a SQL query against S3 Tables through the Iceberg catalog. You give the table bucket ARN, region, namespace and query. It reads only.

    Try: “Find the top 3 customers by spending in the transactions table.”

    Network · query_database

  • Shows where a table's metadata file lives

    Returns the S3 location of the table's metadata, which holds its schema and settings.

    Try: “Show the schema location of the customer_data table.”

    Network · get_table_metadata_location

  • Shows a table's maintenance settings

    Returns the maintenance configuration of one table, such as compaction and cleanup settings.

    Try: “What maintenance is configured for the customers table?”

    Network · get_table_maintenance_config

  • Shows the status of a table's maintenance jobs

    Returns whether the maintenance jobs on a table have run and how they ended.

    Try: “Did the last maintenance job on customers succeed?”

    Network · get_maintenance_job_status

  • Shows the metadata table setup of a regular S3 bucket

    Returns the metadata table configuration of an ordinary S3 bucket, which feeds the S3 Metadata tables.

    Try: “Query all available metadata about test-bucket.”

    Network · get_bucket_metadata_config

  • Creates a table bucket

    Creates a new S3 table bucket. Only works when the server is started with --allow-write.

    Try: “Create a table bucket named hello-world.”

    Write · create_table_bucket

  • Creates a namespace in a table bucket

    Creates a namespace to group tables. Only works with --allow-write.

    Try: “Create a namespace called retail_data in hello-world.”

    Write · create_namespace

  • Creates a table in a namespace

    Creates an Iceberg table with the schema you give. Only works with --allow-write.

    Try: “Create a customers table with id, name and signup_date.”

    Write · create_table

  • Loads a CSV file from S3 into a table

    Reads a CSV file in S3 and imports it into an S3 table. Only works with --allow-write.

    Try: “Create an S3 table from s3://my-bucket/data.csv.”

    Write · import_csv_to_table

Read from the source code

Permissions

low risk · 2 things to watch

Low risk

What it can do

Watch out for

  • --allow-write lets it create tables and add rows

    It is off by default. Turn it on only with an IAM policy limited to the buckets you mean, and keep a backup of important data. github.com

  • Table contents go to your AI provider

    Rows returned by a query are sent to the model. Query only data you can share. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyRead-only is the default. Add --allow-write to the server arguments to enable the tools that create or change resources.
Talks toAmazon S3 Tables in your AWS region
Sign-in and keysUses your AWS credentials from a named AWS profile (AWS_PROFILE) and AWS_REGION, or environment variables.
Scopes
  • s3tables:ListTableBuckets

  • s3tables:ListNamespaces

  • s3tables:ListTables

  • s3tables:GetTableMetadataLocation

  • s3tables:GetTableMaintenanceConfiguration

  • s3tables:GetTableMaintenanceJobStatus

  • s3:GetBucketMetadataConfiguration

  • Write actions (CreateTableBucket, CreateNamespace, CreateTable, RenameTable, UpdateTableMetadataLocation, and data access for imports and appends) only if --allow-write is set

Questions

Can it change or delete my tables?

By default it cannot change anything. With --allow-write it can create buckets, namespaces and tables, load files, append rows, rename tables and change a table's metadata location. It has no tool that deletes tables, buckets or namespaces.

How do I run it read-only?

Do nothing. Read-only is the default. Write tools return a permission error until you add the --allow-write flag.

Can it update or delete rows with SQL?

No. SQL queries are read-only, and the only write is appending new rows.

Can it turn a CSV file into a table?

Yes, with --allow-write. Ask it to create a table from a CSV in S3, and it also loads Parquet files into existing tables.

Which AWS permissions does it need?

The s3tables read actions for the buckets you query. Add the matching create and write actions only if you use --allow-write. The README advises least privilege and separate profiles per environment.

Does it run in the cloud or on my computer?

On your computer, with your own AWS credentials. It calls S3 Tables in your AWS region.

Information

updated Nov 2, 2026

Publisher
Amazon Web Services (official)
Package
awslabs.s3-tables-mcp-server
Registry
PyPI
Transport
stdio
License
Apache-2.0
Last commit
Oct 30, 2026
Open issues
143
Listed in
Docker MCP Catalog

GitHubDockerDocker MCP Catalog

Other AWS MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 2
  1. AWS S3 Tables MCP Server README · github.com
  2. S3 Tables server source · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.