Skip to main content
Glama

aws-athena-mcp

@lishenxydlgzs/aws-athena-mcp

用于运行 AWS Athena 查询的模型上下文协议 (MCP) 服务器。此服务器使 AI 助手能够针对您的 AWS Athena 数据库执行 SQL 查询并检索结果。

用法

  1. 使用以下方法之一配置 AWS 凭证:
    • AWS CLI 配置
    • 环境变量( AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
    • IAM 角色(如果在 AWS 上运行)
  2. 将服务器添加到您的 MCP 配置:
{ "mcpServers": { "athena": { "command": "npx", "args": ["-y", "@lishenxydlgzs/aws-athena-mcp"], "env": { // Required "OUTPUT_S3_PATH": "s3://your-bucket/athena-results/", // Optional AWS configuration "AWS_REGION": "us-east-1", // Default: AWS CLI default region "AWS_PROFILE": "default", // Default: 'default' profile "AWS_ACCESS_KEY_ID": "", // Optional: AWS access key "AWS_SECRET_ACCESS_KEY": "", // Optional: AWS secret key "AWS_SESSION_TOKEN": "", // Optional: AWS session token // Optional server configuration "ATHENA_WORKGROUP": "default_workgroup", // Optional: specify the Athena WorkGroup "QUERY_TIMEOUT_MS": "300000", // Default: 5 minutes (300000ms) "MAX_RETRIES": "100", // Default: 100 attempts "RETRY_DELAY_MS": "500" // Default: 500ms between retries } } } }
  1. 该服务器提供以下工具:
  • 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 中所有已保存(命名)的查询。
  • 返回:
    • 包含idname和可选description的已保存查询数组
    • 查询从配置的ATHENA_WORKGROUPAWS_REGION返回
  • run_saved_query:通过 ID 运行之前保存的查询。
  • 参数:
    • namedQueryId :已保存查询的 ID
    • databaseOverride :可选覆盖已保存查询的默认数据库
    • maxRows :返回的最大行数(默认值:1000)
    • timeoutMs :超时时间(毫秒)(默认值:60000)
  • 返回:
    • run_query相同的行为:完整结果或执行 ID

使用示例

显示所有数据库

给 AI 助手的消息: List all databases in Athena

MCP参数:

{ "database": "default", "query": "SHOW DATABASES" }

列出数据库中的表

给 AI 助手的消息: Show me all tables in the default database

MCP参数:

{ "database": "default", "query": "SHOW TABLES" }

获取表架构

给 AI 助手的消息: What's the schema of the asin_sitebestimg table?

MCP参数:

{ "database": "default", "query": "DESCRIBE default.asin_sitebestimg" }

表格行预览

发送给 AI 助手的消息: Show some rows from my_database.mytable

MCP参数:

{ "database": "my_database", "query": "SELECT * FROM my_table LIMIT 10", "maxRows": 10 }

具有过滤和聚合的高级查询

给AI助手的消息: Find the average price by category for in-stock products

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_WORKGROUPAWS_REGION

执照

麻省理工学院

存储库

GitHub 存储库

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

使用 AWS Athena 运行 SQL 查询以访问 AWS Glue 目录中可用的数据。

  1. 用法
    1. 使用示例
      1. 显示所有数据库
      2. 列出数据库中的表
      3. 获取表架构
      4. 表格行预览
      5. 具有过滤和聚合的高级查询
      6. 检查查询状态
      7. 获取已完成查询的结果
      8. 列出已保存的查询
      9. 运行已保存的查询
    2. 要求
      1. 执照
        1. 存储库

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Enables interaction with Azure Table Storage directly through Cline. This tool allows you to query and manage data in Azure Storage Tables.
            Last updated -
            3
            1
            4
            JavaScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            Connects Claude Desktop directly to databases, allowing it to explore database structures, write SQL queries, analyze datasets, and create reports through an API layer with tools for table exploration and query execution.
            Last updated -
            210
            Python
            Mozilla Public License 2.0
            • Apple
          • -
            security
            F
            license
            -
            quality
            Connects to CockroachDB instances and exposes database structures as resources, enabling SQL query execution and analysis through Claude's interface.
            Last updated -
            2
            TypeScript
            • Apple
          • A
            security
            A
            license
            A
            quality
            A server that enables LLMs like Claude to query AWS DynamoDB databases through natural language requests, supporting table management, data querying, and schema analysis.
            Last updated -
            7
            49
            JavaScript
            MIT License
            • Apple

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/lishenxydlgzs/aws-athena-mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server