How to Connect to Live Amazon Athena Data in n8n Workflows and Agents (via CData Connect AI)
n8n is an open-source workflow automation tool that allows you to connect various applications and services to automate tasks and processes. When combined with CData Connect AI Remote MCP, you can leverage n8n to interact with your Amazon Athena data in real-time. This article outlines the process of connecting to Amazon Athena using Connect AI Remote MCP and creating a basic workflow in n8n to interact with your Amazon Athena data.
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 n8n and Amazon Athena. This allows you to ask questions and take actions on your Amazon Athena data using n8n, 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 build a simple chat agent in n8n to conversational explore (or Vibe Query) your data. The connectivity principals apply to any n8n workflow. With Connect AI you can build workflows and 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 n8n
Connectivity to Amazon Athena from n8n is made possible through CData Connect AI Remote MCP. To interact with Amazon Athena data from n8n, we start by creating and configuring a Amazon Athena connection in CData Connect AI.
- Log into Connect AI, click Sources, and then click Add Connection
- Select "Amazon Athena" from the Add Connection panel
-
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:
- Sign into the IAM console.
- In the navigation pane, select Users.
- 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:
- Sign into the AWS Management console with the credentials for your root account.
- Select your account name or number and select My Security Credentials in the menu that is displayed.
- 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.
- Click Save & Test
-
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 n8n. It is best practice to create a separate PAT for each service to maintain granularity of access.
- Click on the Gear icon () at the top right of the Connect AI app to open the settings page.
- On the Settings page, go to the Access Tokens section and click Create PAT.
-
Give the PAT a name and click Create.
- 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 n8n.
Step 2: Connect n8n to CData Connect AI
Follow these steps to connect to CData Connect AI in n8n:
- Sign in to n8n.io or create a new account.
-
Create a Workflow in n8n that uses the MCP Client tool. The example Workflow below acts as a chatbot. OpenAI was used as the Chat Model, and Simple Memory was used for the Memory.
-
Configure the MCP Client node in the Workflow:
- Set Endpoint to https://mcp.cloud.cdata.com/mcp (found in the "Connect Data to AI" ribbon in Connect AI)
- Set Server Transport to HTTP Streamable
-
Set Authentication to Header Auth and set the following properties to use Basic authentication:
- Set Name to Authorization
- Set Value to Basic EMAIL:PAT, replacing the EMAIL and PAT with your Connect AI email address and the PAT created previously. For example: Basic [email protected]:Uu90pt5vEO..."
Optional Step: Give the AI Agent context
This step establishes the AI Agent's role and provides context for the conversation through the System Message parameter in the AI Agent node. By providing a system message that explicitly informs the agent about its role as an MCP Server expert and lists the available tools, you can enhance the agent's understanding and response accuracy. For example, you can set the System Message to:
You are an expert at using the MCP Client tool connected which is the CData Connect AI MCP Server. Always search thoroughly and use the most relevant MCP Client tool for each query. Below are the available tools and a description of each: queryData: Execute SQL queries against connected data sources and retrieve results. When you use the queryData tool, ensure you use the following format for the table name: catalog.schema.tableName getCatalogs: Retrieve a list of available connections from CData Connect AI. The connection names should be used as catalog names in other tools and in any queries to CData Connect AI. Use the `getSchemas` tool to get a list of available schemas for a specific catalog. getSchemas: Retrieve a list of available database schemas from CData Connect AI for a specific catalog. Use the `getTables` tool to get a list of available tables for a specific catalog and schema. getTables: Retrieve a list of available database tables from CData Connect AI for a specific catalog and schema. Use the `getColumns` tool to get a list of available columns for a specific table. getColumns: Retrieve a list of available database columns from CData Connect AI for a specific catalog, schema, and table. getProcedures: Retrieve a list of stored procedures from CData Connect AI for a specific catalog and schema getProcedureParameters: Retrieve a list of stored procedure parameters from CData Connect AI for a specific catalog, schema, and procedure. executeProcedure: Execute stored procedures with parameters against connected data sources
Step 3: Explore Live Amazon Athena Data with n8n
With the Workflow created in n8n and the MCP Client connected, you can now interact with your Amazon Athena data using n8n. The MCP Client node allows you to send queries and receive responses from the Amazon Athena data source in real-time.
Open the Workflow in n8n and execute it to start interacting with your Amazon Athena data. You can ask questions, retrieve data, and perform actions on your Amazon Athena data using the MCP Client node:
Get CData Connect AI
To get live data access to 300+ SaaS, Big Data, and NoSQL sources directly from your cloud applications, try CData Connect AI today!