
@lishenxydlgzs/aws-athena-mcp

2025.04.02
11
JavaScriptAWS Athena 查询数据库管理数据库
aws-athena-mcp 是一个基于 Model Context Protocol (MCP) 的服务,专门用于运行 AWS Athena 查询。该服务使 AI 助手能够执行 SQL 查询并获取 AWS Athena 数据库的结果。
View on GitHub
Overview
基本能力
产品定位
aws-athena-mcp 是一个用于 AWS Athena 查询的 MCP 服务器,旨在通过 AI 助手简化数据库查询操作。
核心功能
- 执行 SQL 查询:通过
run_query
工具执行 AWS Athena 查询。 - 查询状态检查:通过
get_status
工具检查查询执行状态。 - 结果获取:通过
get_result
工具获取查询结果。 - 保存查询管理:通过
list_saved_queries
和run_saved_query
工具管理并执行保存的查询。
适用场景
- 数据库查询:快速查询 AWS Athena 数据库中的数据。
- 数据预览:预览表结构和数据。
- 高级数据分析:执行复杂的聚合和过滤查询。
- 查询管理:管理和执行保存的查询。
工具列表
- run_query:执行 SQL 查询,返回结果或查询执行 ID。
- get_status:检查查询执行状态。
- get_result:获取查询结果。
- list_saved_queries:列出所有保存的查询。
- run_saved_query:执行保存的查询。
常见问题解答
- AWS 凭证配置:需通过 AWS CLI、环境变量或 IAM 角色配置。
- 查询超时:默认超时为 5 分钟,可通过
QUERY_TIMEOUT_MS
调整。 - 结果存储:查询结果需存储在指定的 S3 路径。
使用教程
使用依赖
- Node.js:需安装 Node.js >= 16。
- AWS 凭证:需配置 AWS 凭证,具有 Athena 和 S3 权限。
- S3 存储桶:需指定一个 S3 存储桶用于查询结果。
安装教程
- 配置 AWS 凭证:
bash aws configure
- 添加 MCP 配置:
json { "mcpServers": { "athena": { "command": "npx", "args": ["-y", "@lishenxydlgzs/aws-athena-mcp"], "env": { "OUTPUT_S3_PATH": "s3://your-bucket/athena-results/", "AWS_REGION": "us-east-1", "AWS_PROFILE": "default" } } } }
调试方式
- 执行查询:
json { "database": "default", "query": "SHOW DATABASES" }
- 检查状态:
json { "queryExecutionId": "12345-67890-abcdef" }
- 获取结果:
json { "queryExecutionId": "12345-67890-abcdef", "maxRows": 10 }