How to Connect to Live Amazon Athena Data from Google ADK Agents (via CData Connect AI)

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Leverage the CData Connect AI Remote MCP Server to enable Google ADK agents to securely read and take actions on your Amazon Athena data for you.

Google ADK (Agent Development Kit) is a powerful, model-agnostic framework for building AI agents that can interact with various data sources and services. When combined with CData Connect AI Remote MCP, you can leverage Google ADK to build intelligent agents that interact with your Amazon Athena data in real-time through natural language queries. This article outlines the process of connecting to Amazon Athena using Connect AI Remote MCP and configuring a Google ADK agent to interact with your Amazon Athena data through ADK Web.

CData Connect AI offers a dedicated cloud-to-cloud interface for connecting to Amazon Athena data. The CData Connect AI Remote MCP Server enables secure communication between Google ADK agents and Amazon Athena. This allows your agents to read from and take actions on your Amazon Athena data, all without the need for data replication to a natively supported database. With its inherent optimized data processing capabilities, CData Connect AI efficiently channels all supported SQL operations, including filters and JOINs, directly to Amazon Athena. This leverages server-side processing to swiftly deliver the requested Amazon Athena data.

In this article, we show how to configure a Google ADK agent to conversationally explore (or Vibe Query) your data using natural language. With Connect AI you can build agents with access to live Amazon Athena data, plus hundreds of other sources.

About Amazon Athena Data Integration

CData provides the easiest way to access and integrate live data from Amazon Athena. Customers use CData connectivity to:

  • Authenticate securely using a variety of methods, including IAM credentials, access keys, and Instance Profiles, catering to diverse security needs and simplifying the authentication process.
  • Streamline their setup and quickly resolve issue with detailed error messaging.
  • Enhance performance and minimize strain on client resources with server-side query execution.

Users frequently integrate Athena with analytics tools like Tableau, Power BI, and Excel for in-depth analytics from their preferred tools.

To learn more about unique Amazon Athena use cases with CData, check out our blog post: https://www.cdata.com/blog/amazon-athena-use-cases.


Getting Started


Step 1: Configure Amazon Athena Connectivity for Google ADK

Connectivity to Amazon Athena from Google ADK agents is made possible through CData Connect AI Remote MCP. To interact with Amazon Athena data from your ADK agent, we start by creating and configuring a Amazon Athena connection in CData Connect AI.

  1. Log into Connect AI, click Sources, and then click Add Connection
  2. Select "Amazon Athena" from the Add Connection panel
  3. Enter the necessary authentication properties to connect to Amazon Athena.

    Authenticating to Amazon Athena

    To authorize Amazon Athena requests, provide the credentials for an administrator account or for an IAM user with custom permissions: Set AccessKey to the access key Id. Set SecretKey to the secret access key.

    Note: Though you can connect as the AWS account administrator, it is recommended to use IAM user credentials to access AWS services.

    Obtaining the Access Key

    To obtain the credentials for an IAM user, follow the steps below:

    1. Sign into the IAM console.
    2. In the navigation pane, select Users.
    3. To create or manage the access keys for a user, select the user and then select the Security Credentials tab.

    To obtain the credentials for your AWS root account, follow the steps below:

    1. Sign into the AWS Management console with the credentials for your root account.
    2. Select your account name or number and select My Security Credentials in the menu that is displayed.
    3. Click Continue to Security Credentials and expand the Access Keys section to manage or create root account access keys.

    Authenticating from an EC2 Instance

    If you are using the CData Data Provider for Amazon Athena 2018 from an EC2 Instance and have an IAM Role assigned to the instance, you can use the IAM Role to authenticate. To do so, set UseEC2Roles to true and leave AccessKey and SecretKey empty. The CData Data Provider for Amazon Athena 2018 will automatically obtain your IAM Role credentials and authenticate with them.

    Authenticating as an AWS Role

    In many situations it may be preferable to use an IAM role for authentication instead of the direct security credentials of an AWS root user. An AWS role may be used instead by specifying the RoleARN. This will cause the CData Data Provider for Amazon Athena 2018 to attempt to retrieve credentials for the specified role. If you are connecting to AWS (instead of already being connected such as on an EC2 instance), you must additionally specify the AccessKey and SecretKey of an IAM user to assume the role for. Roles may not be used when specifying the AccessKey and SecretKey of an AWS root user.

    Authenticating with MFA

    For users and roles that require Multi-factor Authentication, specify the MFASerialNumber and MFAToken connection properties. This will cause the CData Data Provider for Amazon Athena 2018 to submit the MFA credentials in a request to retrieve temporary authentication credentials. Note that the duration of the temporary credentials may be controlled via the TemporaryTokenDuration (default 3600 seconds).

    Connecting to Amazon Athena

    In addition to the AccessKey and SecretKey properties, specify Database, S3StagingDirectory and Region. Set Region to the region where your Amazon Athena data is hosted. Set S3StagingDirectory to a folder in S3 where you would like to store the results of queries.

    If Database is not set in the connection, the data provider connects to the default database set in Amazon Athena.

  4. Click Save & Test
  5. Navigate to the Permissions tab in the Add Amazon Athena Connection page and update the User-based permissions.

Add a Personal Access Token

A Personal Access Token (PAT) is used to authenticate the connection to Connect AI from your Google ADK agent. It is best practice to create a separate PAT for each service to maintain granularity of access.

  1. Click on the Gear icon () at the top right of the Connect AI app to open the settings page.
  2. On the Settings page, go to the Access Tokens section and click Create PAT.
  3. Give the PAT a name and click Create.
  4. The personal access token is only visible at creation, so be sure to copy it and store it securely for future use.

With the connection configured and a PAT generated, we are ready to connect to Amazon Athena data from your Google ADK agent.

Step 2: Configure Your Google ADK Agent for CData Connect AI

Follow these steps to configure your Google ADK agent to connect to CData Connect AI. You can use our pre-built agent as a starting point, available at https://github.com/CDataSoftware/adk-mcp-client, or follow the instructions below to create your own.

  1. Ensure you have the Google ADK Python SDK installed. If not, install it using pip:
    pip install google-genkit google-adk
  2. Create or update your agent's configuration file (typically agent.py) to include the CData Connect AI MCP connection. You'll need to configure the MCP toolset with your Connect AI credentials.
  3. Set up your environment variables or configuration for the MCP server connection. Create a .env file in your project root with the following variables:
    MCP_SERVER_URL=https://mcp.cloud.cdata.com/mcp
    MCP_USERNAME=YOUR_EMAIL
    MCP_PASSWORD=YOUR_PAT
        
    Replace YOUR_EMAIL with your Connect AI email address and YOUR_PAT with the Personal Access Token created in Step 1.
  4. Configure your agent.py file to use the CData Connect AI MCP Server. Here's an example configuration:
    import os
    import base64
    from google.adk.agents import LlmAgent
    from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
    from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
    from dotenv import load_dotenv
    
    # Load environment variables
    load_dotenv()
    
    # Get configuration from environment
    MCP_SERVER_URL = os.getenv('MCP_SERVER_URL', 'https://mcp.cloud.cdata.com/mcp')
    MCP_USERNAME = os.getenv('MCP_USERNAME', '')
    MCP_PASSWORD = os.getenv('MCP_PASSWORD', '')
    
    # Create auth header for MCP server
    auth_header = {}
    if MCP_USERNAME and MCP_PASSWORD:
        credentials = f"{MCP_USERNAME}:{MCP_PASSWORD}"
        auth_header = {"Authorization": f"Basic {base64.b64encode(credentials.encode()).decode()}"}
    
    # Define your agent with CData MCP tools
    root_agent = LlmAgent(
        model='gemini-2.0-flash-exp',  # You can use any supported model
        name='data_query_assistant',
        instruction="""You are a data query assistant with access to Amazon Athena data through CData Connect AI.
        
        You can help users explore and query their Amazon Athena data in real-time.
        Use the available MCP tools to:
        - List available databases and schemas
        - Explore table structures
        - Execute SQL queries
        - Provide insights about the data
        
        Always explain what you're doing and format results clearly.""",
        
        tools=[
            MCPToolset(
                connection_params=StreamableHTTPConnectionParams(
                    url=MCP_SERVER_URL,
                    headers=auth_header
                )
            )
        ],
    )
        
  5. Run your agent with ADK Web. From your project directory, execute:
    adk web --port 5000 .

    Note: If you installed ADK with pip install --user, the adk command may not be in your PATH. You can either:

    • Use the full path: ~/Library/Python/3.x/bin/adk (on macOS)
    • Add to PATH: export PATH="$HOME/Library/Python/3.x/bin:$PATH"
    • Use a virtual environment where the PATH is automatically configured
  6. Open the ADK Web interface in your browser (typically http://localhost:5000).
  7. Select your agent from the dropdown menu (it will be named based on the name parameter in your agent configuration).
  8. Start interacting with your Amazon Athena data through natural language queries. Your agent now has access to your Amazon Athena data through the CData Connect AI MCP Server.

Step 3: Build Intelligent Agents with Live Amazon Athena Data Access

With your Google ADK agent configured and connected to CData Connect AI, you can now build sophisticated agents that interact with your Amazon Athena data using natural language. The MCP integration provides your agents with powerful data access capabilities.

Available MCP Tools for Your Agent

Your Google ADK agent has access to the following CData Connect AI MCP tools:

  • queryData: Execute SQL queries against connected data sources and retrieve results
  • getCatalogs: Retrieve a list of available connections from CData Connect AI
  • getSchemas: Retrieve database schemas for a specific catalog
  • getTables: Retrieve database tables for a specific catalog and schema
  • getColumns: Retrieve column metadata for a specific table
  • getProcedures: Retrieve stored procedures for a specific catalog and schema
  • getProcedureParameters: Retrieve parameter metadata for stored procedures
  • executeProcedure: Execute stored procedures with parameters

Example Use Cases

Here are some examples of what your Google ADK agents can do with live Amazon Athena data access:

  • Data Analysis Agent: Build an agent that analyzes trends, patterns, and anomalies in your Amazon Athena data
  • Report Generation Agent: Create agents that generate custom reports based on natural language requests
  • Data Quality Agent: Develop agents that monitor and validate data quality in real-time
  • Business Intelligence Agent: Build agents that answer complex business questions by querying multiple data sources
  • Automated Workflow Agent: Create agents that trigger actions based on data conditions in Amazon Athena

Testing Your Agent

Once deployed to ADK Web, you can interact with your agent through natural language queries. For example:

  • "Show me all customers from the last 30 days"
  • "What are the top performing products this quarter?"
  • "Analyze sales trends and identify anomalies"
  • "Generate a summary report of active projects"
  • "Find all records that match specific criteria"

Your Google ADK agent will automatically translate these natural language queries into appropriate SQL queries and execute them against your Amazon Athena data through the CData Connect AI MCP Server, providing real-time insights without requiring users to write complex SQL or understand the underlying data structure.

Get CData Connect AI

To get live data access to 300+ SaaS, Big Data, and NoSQL sources directly from your Google ADK agents and cloud applications, try CData Connect AI today!

Ready to get started?

Learn more about CData Connect AI or sign up for free trial access:

Free Trial