用于分析的S3 Tables管理工具。
什么是MCP Server?
AWS S3 Tables MCP Server是由awslabs开发的Docker镜像,用于管理AWS S3中的分析表格。该镜像提供16种工具,支持创建表、导入数据、查询分析等操作,基于Apache Iceberg格式,适用于S3数据的组织、管理与分析场景,帮助用户高效处理S3中的结构化数据。
| 属性 | 详情 |
|---|---|
| Docker镜像 | mcp/s3-tables-mcp-server |
| 作者 | awslabs |
| 代码仓库 | [***] |
| 属性 | 详情 |
|---|---|
| Dockerfile | [***] |
| 镜像构建者 | Docker Inc. |
| Docker Scout健康评分 | !Docker Scout Health Score |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/s3-tables-mcp-server --key [***] |
| 许可证 | Apache License 2.0 |
该镜像提供16种工具,支持S3 Tables全生命周期管理,主要功能包括:
| 工具名称 | 简短描述 |
|---|---|
append_rows_to_table | 使用PyIceberg/Daft向Iceberg表追加行。 |
create_namespace | 在S3表存储桶中创建新命名空间。 |
create_table | 在S3表存储桶中创建新S3表。 |
create_table_bucket | 创建S3表存储桶。 |
get_bucket_metadata_config | 获取常规用途S3存储桶的元数据表配置。 |
get_maintenance_job_status | 获取表的维护作业状态。 |
get_table_maintenance_config | 获取表的维护配置详情。 |
get_table_metadata_location | 获取S3表元数据的位置。 |
import_csv_to_table | 将CSV文件数据导入S3表。 |
import_parquet_to_table | 将Parquet文件数据导入S3表。 |
list_namespaces | 列出所有S3表存储桶中的命名空间。 |
list_table_buckets | 列出AWS账户的所有S3表存储桶。 |
list_tables | 列出所有表存储桶和命名空间中的S3表。 |
query_database | 使用PyIceberg/Daft对S3表执行SQL查询。 |
rename_table | 重命名S3表或将其移动到不同命名空间。 |
update_table_metadata_location | 更新S3表的元数据位置。 |
append_rows_to_table使用PyIceberg/Daft向Iceberg表追加行。
该工具使用PyIceberg引擎向现有Iceberg表追加数据行。rows参数必须是字典列表,每个字典代表一行数据。追加前需检查表的schema。
示例输入值:
warehouse: 'arn:aws:s3tables:<Region>:<accountID>:bucket/<bucketname>' region: 'us-west-2' namespace: 'retail_data' table_name: 'customers' rows: [{"customer_id": 1, "customer_name": "Alice"}, ...] uri: '[***] catalog_name: 's3tablescatalog' rest_signing_name: 's3tables' rest_sigv4_enabled: 'true'
| 参数 | 类型 | 描述 |
|---|---|---|
namespace | string | 命名空间名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
region | string | S3Tables/Iceberg REST端点的AWS区域 |
rows | array | 要追加的行列表,每行以字典形式表示 |
table_name | string | 表名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
uri | string | Iceberg catalog的REST URI |
warehouse | string | Iceberg catalog的仓库字符串 |
catalog_name | string 可选 | Catalog名称 |
rest_signing_name | string 可选 | REST签名名称 |
rest_sigv4_enabled | string 可选 | 启用SigV4签名 |
create_namespace在S3表存储桶中创建新命名空间。
创建命名空间,用于在S3表存储桶中逻辑组织表。
权限:需拥有s3tables:CreateNamespace权限。
| 参数 | 类型 | 描述 |
|---|---|---|
namespace | string | 命名空间名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
table_bucket_arn | string | 表存储桶ARN |
region_name | string 可选 | 操作执行的AWS区域名称 |
create_table在S3表存储桶中创建新S3表。
在指定S3命名空间和表存储桶中创建新S3表,可配置格式和元数据(包含表schema)。小数类型使用double。若schema不明确,请勿使用metadata参数。
S3表元数据示例:
json{ "metadata": { "iceberg": { "schema": { "type": "struct", "fields": [{ "id": 1, "name": "customer_id", "type": "long", "required": true }, { "id": 2, "name": "customer_name", "type": "string", "required": true }, { "id": 3, "name": "customer_balance", "type": "double", "required": false } ] }, "partition-spec": [ { "source-id": 1, "field-id": 1000, "transform": "month", "name": "sale_date_month" } ], "table-properties": { "description": "Customer information table with customer_id for joining with transactions" } } } }
权限:需拥有s3tables:CreateTable权限;若使用metadata参数,还需s3tables:PutTableData权限。
| 参数 | 类型 | 描述 |
|---|---|---|
name | string | 表名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
namespace | string | 命名空间名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
table_bucket_arn | string | 表存储桶ARN |
format | string 可选 | S3表的格式 |
metadata | string 可选 | S3表的元数据 |
region_name | string 可选 | 操作执行的AWS区域名称 |
create_table_bucket创建S3表存储桶。
权限:需拥有s3tables:CreateTableBucket权限。
| 参数 | 类型 | 描述 |
|---|---|---|
name | string | 要创建的表存储桶名称。长度3-63字符,仅包含小写字母、数字和连字符。 |
region_name | string 可选 | 操作执行的AWS区域名称 |
get_bucket_metadata_config获取常规用途S3存储桶的元数据表配置。
检索常规用途S3存储桶的元数据表配置,该配置决定元数据的存储和管理方式。响应包含S3表存储桶ARN、S3表ARN、S3表名称、S3表命名空间。
描述:Amazon S3 Metadata通过自动捕获通用存储桶中对象的元数据并存储在只读、全托管的Apache Iceberg表中,加速数据发现。这些只读表称为元数据表。当对象添加、更新或删除时,S3 Metadata自动刷新元数据表。
默认提供三种元数据:
元数据表schema:
权限:需拥有s3:GetBucketMetadataConfiguration权限。
| 参数 | 类型 | 描述 |
|---|---|---|
bucket | string | 要获取元数据表配置的S3存储桶名称 |
region_name | string 可选 | 操作执行的AWS区域名称 |
get_maintenance_job_status获取表的维护作业状态。
获取表的维护作业状态。更多信息参见《Amazon Simple Storage Service用户指南》中的S3 Tables维护。
权限:需拥有s3tables:GetTableMaintenanceJobStatus权限。
| 参数 | 类型 | 描述 |
|---|---|---|
name | string | 表名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
namespace | string | 命名空间名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
table_bucket_arn | string | 表存储桶ARN |
region_name | string 可选 | 操作执行的AWS区域名称 |
get_table_maintenance_config获取表的维护配置详情。
获取表的维护配置详情。更多信息参见《Amazon Simple Storage Service用户指南》中的S3 Tables维护。
权限:需拥有s3tables:GetTableMaintenanceConfiguration权限。
| 参数 | 类型 | 描述 |
|---|---|---|
name | string | 表名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
namespace | string | 命名空间名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
table_bucket_arn | string | 表存储桶ARN |
region_name | string 可选 | 操作执行的AWS区域名称 |
get_table_metadata_location获取S3表元数据的位置。
获取表元数据的S3 URI位置,元数据包含表的schema和其他配置信息。
权限:需拥有s3tables:GetTableMetadataLocation权限。
| 参数 | 类型 | 描述 |
|---|---|---|
name | string | 表名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
namespace | string | 命名空间名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
table_bucket_arn | string | 表存储桶ARN |
region_name | string 可选 | 操作执行的AWS区域名称 |
import_csv_to_table将CSV文件数据导入S3表。
从S3存储的CSV文件读取数据并导入S3表。若表不存在,将根据CSV文件推断schema创建表;若表已存在,CSV文件schema必须与表schema兼容。工具会在导入前验证schema。preserve_case为True时保留列名大小写,否则转换为snake_case。
返回错误字典(含状态和错误消息)的情况:
示例输入值:
warehouse: 'arn:aws:s3tables:<Region>:<accountID>:bucket/<bucketname>' region: 'us-west-2' namespace: 'retail_data' table_name: 'customers' s3_url: 's3://bucket-name/path/to/file.csv' uri: '[***] catalog_name: 's3tablescatalog' rest_signing_name: 's3tables' rest_sigv4_enabled: 'true' preserve_case: False
权限:需拥有:
s3:GetObject权限s3tables:GetTable和s3tables:GetTables权限s3tables:PutTableData权限| 参数 | 类型 | 描述 |
|---|---|---|
namespace | string | 命名空间名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
region | string | S3Tables/Iceberg REST端点的AWS区域 |
s3_url | string | 要预览的文件的S3 URL(格式:s3://bucket-name/key) |
table_name | string | 表名称。长度1-255字符,仅包含字母数字、下划线和连字符。 |
uri | string | Iceberg catalog的REST URI |
warehouse | string | Iceberg catalog的仓库字符串 |
catalog_name | string 可选 | Catalog名称 |
preserve_case | boolean 可选 | 保留列名大小写 |
rest_signing_name | string 可选 | REST签名名称 |
rest_sigv4_enabled | string 可选 | 启用SigV4签名 |
import_parquet_to_table将Parquet文件数据导入S3表。
从S3存储的Parquet文件读取数据并导入S3表。若表不存在,将根据Parquet文件推断schema创建表;若表已存在,Parquet文件schema必须与表schema兼容。工具会在导入前验证schema。preserve_case为True时保留列名大小写,否则转换为snake_case。
返回错误字典(含状态和错误消息)的情况:
返回成功字典:
示例输入值:
warehouse: 'arn:aws:s3tables:<Region>:<accountID>:bucket/<bucketname>' region: 'us-west-2' namespace: 'retail_data' table_name: 'customers' s3_url: 's3://bucket-name/path/to/file.parquet' uri: '[***] catalog_name: 's3tablescatalog' rest_signing_name: 's3tables' rest_sigv4_enabled:

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429