remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Requires Node.js >= 16 to run the MCP server
@lishenxydlgzs/aws-athena-mcp
用于运行 AWS Athena 查询的模型上下文协议 (MCP) 服务器。此服务器使 AI 助手能够针对您的 AWS Athena 数据库执行 SQL 查询并检索结果。
用法
- 使用以下方法之一配置 AWS 凭证:
- AWS CLI 配置
- 环境变量(
AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
) - IAM 角色(如果在 AWS 上运行)
- 将服务器添加到您的 MCP 配置:
Copy
- 该服务器提供以下工具:
run_query
:使用 AWS Athena 执行 SQL 查询- 参数:
- 数据库:要查询的 Athena 数据库
- 查询:要执行的 SQL 查询
- maxRows:返回的最大行数(默认值:1000,最大值:10000)
- 返回:
- 如果查询在超时内完成:完整的查询结果
- 如果超时:仅获取 queryExecutionId 以供后续检索
- 参数:
get_status
:检查查询执行的状态- 参数:
- queryExecutionId:从 run_query 返回的 ID
- 返回:
- 状态:查询状态(QUEUED、RUNNING、SUCCEEDED、FAILED 或 CANCELLED)
- stateChangeReason:状态改变的原因(如果有)
- submissionDateTime:查询提交的时间
- completionDateTime:查询完成的时间(如果完成)
- 统计信息:查询执行统计信息(如果有)
- 参数:
get_result
:检索已完成查询的结果- 参数:
- queryExecutionId:从 run_query 返回的 ID
- maxRows:返回的最大行数(默认值:1000,最大值:10000)
- 返回:
- 如果查询成功完成,则显示完整的查询结果
- 如果查询失败或仍在运行,则出现错误
- 参数:
list_saved_queries
:列出 Athena 中所有已保存(命名)的查询。- 返回:
- 包含
id
、name
和可选description
的已保存查询数组 - 查询从配置的
ATHENA_WORKGROUP
和AWS_REGION
返回
- 包含
- run_saved_query:通过 ID 运行之前保存的查询。
- 参数:
namedQueryId
:已保存查询的 IDdatabaseOverride
:可选覆盖已保存查询的默认数据库maxRows
:返回的最大行数(默认值:1000)timeoutMs
:超时时间(毫秒)(默认值:60000)
- 返回:
- 与
run_query
相同的行为:完整结果或执行 ID
- 与
使用示例
显示所有数据库
给 AI 助手的消息: List all databases in Athena
MCP参数:
Copy
列出数据库中的表
给 AI 助手的消息: Show me all tables in the default database
MCP参数:
Copy
获取表架构
给 AI 助手的消息: What's the schema of the asin_sitebestimg table?
MCP参数:
Copy
表格行预览
发送给 AI 助手的消息: Show some rows from my_database.mytable
MCP参数:
Copy
具有过滤和聚合的高级查询
给AI助手的消息: Find the average price by category for in-stock products
MCP参数:
Copy
检查查询状态
Copy
获取已完成查询的结果
Copy
列出已保存的查询
Copy
运行已保存的查询
Copy
要求
- Node.js >= 16
- 具有适当 Athena 和 S3 权限的 AWS 凭证
- 用于存储查询结果的 S3 存储桶
- 命名查询(可选)必须存在于指定的
ATHENA_WORKGROUP
和AWS_REGION
中
执照
麻省理工学院
存储库
You must be authenticated.
使用 AWS Athena 运行 SQL 查询以访问 AWS Glue 目录中可用的数据。