aws-athena-mcp
好的,以下是将英文翻译成中文: **使用 AWS Athena 运行 SQL 查询来访问 AWS Glue Catalog 中的数据。** Here's a slightly more detailed and nuanced translation, depending on the context: **使用 AWS Athena 执行 SQL 查询,以访问 AWS Glue Catalog 中可用的数据。** **Explanation of the differences:** * **执行 (zhí xíng):** "Execute" (执行) is a slightly more formal and precise term than "run" (运行) in a technical context like SQL queries. * **可用的 (kě yòng de):** "Available" (可用的) emphasizes that the data is accessible and ready to be used. Which translation is best depends on the specific audience and the level of formality desired. The second option is generally preferred for technical documentation or instructions.
Tools
run_query
Execute a SQL query using AWS Athena. Returns full results if query completes before timeout, otherwise returns queryExecutionId.
get_result
Get results for a completed query. Returns error if query is still running.
get_status
Get the current status of a query execution
README
@lishenxydlgzs/aws-athena-mcp
一个用于运行 AWS Athena 查询的模型上下文协议 (MCP) 服务器。该服务器使 AI 助手能够针对您的 AWS Athena 数据库执行 SQL 查询并检索结果。
<a href="https://glama.ai/mcp/servers/0i7dhkex6t"> <img width="380" height="200" src="https://glama.ai/mcp/servers/0i7dhkex6t/badge" alt="aws-athena-mcp MCP server" /> </a>
用法
-
使用以下方法之一配置 AWS 凭证:
- AWS CLI 配置
- 环境变量 (
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
) - IAM 角色(如果在 AWS 上运行)
-
将服务器添加到您的 MCP 配置:
{
"mcpServers": {
"athena": {
"command": "npx",
"args": ["-y", "@lishenxydlgzs/aws-athena-mcp"],
"env": {
// 必需
"OUTPUT_S3_PATH": "s3://your-bucket/athena-results/",
// 可选的 AWS 配置
"AWS_REGION": "us-east-1", // 默认值:AWS CLI 默认区域
"AWS_PROFILE": "default", // 默认值:'default' profile
"AWS_ACCESS_KEY_ID": "", // 可选:AWS 访问密钥
"AWS_SECRET_ACCESS_KEY": "", // 可选:AWS 密钥
"AWS_SESSION_TOKEN": "", // 可选:AWS 会话令牌
// 可选的服务器配置
"ATHENA_WORKGROUP": "default_workgroup", // 可选:指定 Athena WorkGroup
"QUERY_TIMEOUT_MS": "300000", // 默认值:5 分钟 (300000ms)
"MAX_RETRIES": "100", // 默认值:100 次尝试
"RETRY_DELAY_MS": "500" // 默认值:重试之间 500 毫秒
}
}
}
}
- 该服务器提供以下工具:
-
run_query
: 使用 AWS Athena 执行 SQL 查询- 参数:
- database: 要查询的 Athena 数据库
- query: 要执行的 SQL 查询
- maxRows: 要返回的最大行数(默认值:1000,最大值:10000)
- 返回:
- 如果查询在超时时间内完成:完整的查询结果
- 如果达到超时:仅用于稍后检索的 queryExecutionId
- 参数:
-
get_status
: 检查查询执行的状态- 参数:
- queryExecutionId: 从 run_query 返回的 ID
- 返回:
- state: 查询状态(QUEUED、RUNNING、SUCCEEDED、FAILED 或 CANCELLED)
- stateChangeReason: 状态更改的原因(如果有)
- submissionDateTime: 查询提交的时间
- completionDateTime: 查询完成的时间(如果已完成)
- statistics: 查询执行统计信息(如果可用)
- 参数:
-
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 助手的消息:
列出 Athena 中的所有数据库
MCP 参数:
{
"database": "default",
"query": "SHOW DATABASES"
}
列出数据库中的表
发送给 AI 助手的消息:
显示默认数据库中的所有表
MCP 参数:
{
"database": "default",
"query": "SHOW TABLES"
}
获取表架构
发送给 AI 助手的消息:
asin_sitebestimg 表的架构是什么?
MCP 参数:
{
"database": "default",
"query": "DESCRIBE default.asin_sitebestimg"
}
表行预览
发送给 AI 助手的消息:
显示 my_database.mytable 中的一些行
MCP 参数:
{
"database": "my_database",
"query": "SELECT * FROM my_table LIMIT 10",
"maxRows": 10
}
带有过滤和聚合的高级查询
发送给 AI 助手的消息:
查找库存产品的按类别划分的平均价格
MCP 参数:
{
"database": "my_database",
"query": "SELECT category, COUNT(*) as count, AVG(price) as avg_price FROM products WHERE in_stock = true GROUP BY category ORDER BY count DESC",
"maxRows": 100
}
检查查询状态
{
"queryExecutionId": "12345-67890-abcdef"
}
获取已完成查询的结果
{
"queryExecutionId": "12345-67890-abcdef",
"maxRows": 10
}
列出已保存的查询
{
"name": "list_saved_queries",
"arguments": {}
}
运行已保存的查询
{
"name": "run_saved_query",
"arguments": {
"namedQueryId": "abcd-1234-efgh-5678",
"maxRows": 100
}
}
要求
- Node.js >= 16
- 具有适当 Athena 和 S3 权限的 AWS 凭证
- 用于查询结果的 S3 存储桶
- 命名查询(可选)必须存在于指定的
ATHENA_WORKGROUP
和AWS_REGION
中
许可证
MIT
仓库
推荐服务器
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
Playwright MCP Server
提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。
Apple MCP Server
通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。
contentful-mcp
在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

Supabase MCP Server
一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。
serper-search-scrape-mcp-server
这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。
The Verge News MCP Server
提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。