MCP Directory

AWS S3 Tables MCP Server

Official

Official AWS Labs MCP server to manage and query S3 Tables (table buckets, namespaces, tables).

Verified
stdio (local)
API key
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uvx awslabs.s3-tables-mcp-server@latest

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "aws-s3-tables-mcp-server": {
      "command": "uvx",
      "args": [
        "awslabs.s3-tables-mcp-server@latest"
      ],
      "env": {
        "AWS_REGION": "us-east-1",
        "AWS_PROFILE": "<your-aws-profile>"
      }
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • Python 3.10+ and the uv package manager (the server runs via uvx)
  • An AWS account with S3 Tables enabled in your region
  • AWS credentials configured locally (via `aws configure`, an AWS_PROFILE, or environment variables) with IAM permissions for S3 Tables actions (s3tables:*) and, for SQL queries, the relevant analytics/Lake Formation access
  • Docker is supported as an alternative to uvx for containerized deployment

About AWS S3 Tables MCP Server

The AWS S3 Tables MCP Server is an official AWS Labs Model Context Protocol server that lets AI assistants manage and query Amazon S3 Tables — the fully-managed Apache Iceberg table storage built on S3. Through it, an agent can organize and inspect the full S3 Tables hierarchy (table buckets, namespaces, and tables) and run analytical SQL over the data.

Beyond discovery and management, the server can execute read-only SQL queries against your tables and automatically generate Iceberg tables from CSV files, making it useful for both data exploration and lightweight ingestion. It also exposes maintenance settings and resource policies for governance.

By default the server runs in read-only mode. Any tool that creates or modifies resources (creating buckets/namespaces/tables, appending data, CSV import) is gated behind an explicit --allow-write flag, so it is safe to attach to an agent without risking accidental writes.

Tools & capabilities (12)

list_table_buckets

List the S3 table buckets in your account/region.

create_table_bucket

Create a new S3 table bucket (write).

list_namespaces

List namespaces within a table bucket.

create_namespace

Create a namespace inside a table bucket (write).

list_tables

List tables within a namespace.

create_table

Create a new Iceberg table (write).

rename_table

Rename an existing table (write).

get_table_metadata

Retrieve a table's metadata and schema.

get_maintenance_settings

Read maintenance/compaction settings for a bucket or table.

get_resource_policies

Read the resource policies attached to S3 Tables resources.

run_sql_query

Execute a read-only SQL query against your S3 Tables data.

create_table_from_csv

Generate a new table by importing a CSV file (write).

When to use it

  • Use it when you want an agent to explore your S3 Tables layout — listing buckets, namespaces, and tables — without writing any code.
  • Use it when you need to run ad-hoc analytical SQL over Iceberg data in S3 Tables from a chat interface.
  • Use it when you want to bootstrap a table directly from a CSV file instead of hand-writing a schema.
  • Use it when you need to inspect table metadata, maintenance settings, or resource policies for governance and auditing.
  • Use it when you want a read-only, safe-by-default connection to production S3 Tables and only selectively enable writes.

Quick setup

  1. 1Install the uv package manager (or have Docker available).
  2. 2Configure AWS credentials and pick a region (set AWS_PROFILE and AWS_REGION).
  3. 3Add the server to your MCP client config using command `uvx` with args `awslabs.s3-tables-mcp-server@latest`.
  4. 4Optionally append the `--allow-write` flag to enable resource-creating tools; otherwise it stays read-only.
  5. 5Restart the MCP client and confirm the S3 Tables tools appear, then try `list_table_buckets`.

Security notes

It uses your local AWS credentials/profile, so it inherits whatever IAM permissions that profile holds; use a least-privilege profile. Write actions require the explicit --allow-write flag, which can create or modify AWS resources and incur cost.

AWS S3 Tables MCP Server FAQ

How does authentication work?

It uses your standard AWS credential chain — an AWS_PROFILE, environment variables, or `aws configure` output. There is no separate API key; permissions come from the IAM identity those credentials resolve to.

Is it safe to run against production data?

Yes by default. The server starts in read-only mode and only exposes write tools (create bucket/namespace/table, CSV import, data append) when you explicitly pass `--allow-write`.

What does the SQL query tool support?

`run_sql_query` executes read-only queries over your S3 Tables (Iceberg) data. It is intended for analytics and exploration, not for mutating table contents.

Do I need Python installed?

You need Python 3.10+, but the recommended path is to run it through `uvx`, which manages the environment for you. A Docker image is also available if you prefer containers.

Which AWS regions are supported?

Any region where Amazon S3 Tables is available. Set the target via the AWS_REGION environment variable (the examples default to us-east-1).

Alternatives to AWS S3 Tables MCP Server

Compare all alternatives →

Official MCP reference server for secure local filesystem read/write within allowed directories.

Verified
stdio (local)
No auth
TypeScript
13 tools
Updated 5 months agoRepo

Official MCP server for reading, searching, and manipulating a local Git repository's files and history.

Verified
stdio (local)
No auth
Python
12 tools
Updated 5 months agoRepo

Powerful local filesystem + terminal MCP server: search, diff-edit files, and run shell commands.

Verified
stdio (local)
No auth
TypeScript
8 tools
Updated 4 months agoRepo