![]() |
VOOZH | about |
Vertex AI provides a development ecosystem for building AI agents using the Agent Development Kit (ADK). ADK enables developers to create tool-augmented agents that can reason, take actions, and interact with external systems through structured tool interfaces. These agents can be tested locally in the ADK Web interface and extended with advanced logic for enterprise workflows.
By integrating Vertex AI ADK with CData Connect AI through the built-in MCP (Model Context Protocol) Server, your agents gain the ability to query, analyze, and act on live Elasticsearch data in real time. This connection bridges Google's agent-building framework with the governed enterprise connectivity of CData Connect AI, ensuring every request runs securely against authorized data sources without manual data movement.
This article outlines the steps to configure Elasticsearch connectivity in Connect AI, generate the required authentication token, configure the Vertex AI ADK environment, and verify that your agent can successfully communicate with live Elasticsearch data through Connect AI.
Accessing and integrating live data from Elasticsearch has never been easier with CData. Customers rely on CData connectivity to:
Users frequently integrate Elasticsearch data with analytics tools such as Crystal Reports, Power BI, and Excel, and leverage our tools to enable a single, federated access layer to all of their data sources, including Elasticsearch.
For more information on CData's Elasticsearch solutions, check out our Knowledge Base article: CData Elasticsearch Driver Features & Differentiators.
Connectivity to Elasticsearch from Vertex AI is made possible through CData Connect AI's Remote MCP Server. To interact with Elasticsearch data from Vertex AI, start by creating and configuring a Elasticsearch connection in CData Connect AI.
Set the Server and Port connection properties to connect. To authenticate, set the User and Password properties, PKI (public key infrastructure) properties, or both. To use PKI, set the SSLClientCert, SSLClientCertType, SSLClientCertSubject, and SSLClientCertPassword properties.
The data provider uses X-Pack Security for TLS/SSL and authentication. To connect over TLS/SSL, prefix the Server value with 'https://'. Note: TLS/SSL and client authentication must be enabled on X-Pack to use PKI.
Once the data provider is connected, X-Pack will then perform user authentication and grant role permissions based on the realms you have configured.
π Configuring a connection (Salesforce is shown)A Personal Access Token (PAT) is used to authenticate the connection to Connect AI from Vertex AI. It is best practice to create a separate PAT for each integration to maintain granular access control.
With the Elasticsearch connection configured and a PAT generated, Vertex AI can now connect to Elasticsearch data through Connect AI.
Enable the necessary Google Cloud APIs so Vertex AI ADK can run Gemini models, build agent environments, and access supporting services inside your Google Cloud project. These APIs provide the backend capabilities that ADK relies on during development and execution.
With these services enabled, your Google Cloud project is prepared for Vertex AI ADK development and local tool execution.
Create the project directory and set up the Python environment. This step prepares a clean workspace where ADK installs correctly and loads your agent without dependency conflicts.
mkdir -p ~/adk_agents/cdata_mcp_agent cd ~/adk_agents/cdata_mcp_agent
python3 -m venv .venv source .venv/bin/activate
python -m pip install --upgrade pip python -m pip install google-adk python -m pip install mcp python -m pip install --upgrade "google-cloud-aiplatform[agent_engines]"
Define the agent modules so ADK recognizes your agent. This structure allows Vertex AI to load your MCP configuration and register the tools exposed by Connect AI.
import os
import base64
import logging
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
# ---------- Logging ----------
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# ---------- CData MCP config ----------
CDATA_MCP_URL = os.environ.get("CDATA_MCP_URL", "https://mcp.cloud.cdata.com/mcp")
CDATA_USER_ID = os.environ.get("CDATA_USER_ID")
CDATA_PAT = os.environ.get("CDATA_PAT")
tools = []
if not (CDATA_USER_ID and CDATA_PAT):
logger.warning(
"CData MCP credentials not set (CDATA_USER_ID or CDATA_PAT missing); "
"starting agent WITHOUT MCP tools."
)
else:
# Basic auth header: base64("user:pat")
basic_auth_bytes = f"{CDATA_USER_ID}:{CDATA_PAT}".encode("utf-8")
basic_auth_header = base64.b64encode(basic_auth_bytes).decode("utf-8")
try:
logger.info("Initializing CData MCPToolset against %s", CDATA_MCP_URL)
tools.append(
MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url=CDATA_MCP_URL,
headers={
"Authorization": f"Basic {basic_auth_header}",
# ADK handles content-type etc. internally;
# we just pass auth headers.
},
),
)
)
logger.info("CData MCPToolset initialized successfully.")
except Exception as e:
logger.exception("Failed to initialize CData MCPToolset")
# ---------- Root agent ----------
root_agent = LlmAgent(
model="gemini-2.0-flash",
name="cdata_mcp_agent",
instruction=(
"You are a data assistant. Use the CData MCP tools (if available) to "
"list connections, list catalogs/schemas/tables, and run SQL-style queries."
),
tools=tools,
)
from .agent import root_agent __all__ = ["root_agent"]
Export the required environment variables to authenticate to Connect AI. These values enable the agent to initialize the MCP toolset and communicate with Connect AI. Before you do that obtain a Google API key so ADK can authenticate to Gemini models. This key enables the agent to run LLM reasoning and route tool calls correctly inside the Vertex AI ADK environment.
export CDATA_MCP_URL="https://mcp.cloud.cdata.com/mcp" export CDATA_USER_ID="your_cdata_email" export CDATA_PAT="your_pat" export GOOGLE_API_KEY="your_google_api_key" export VERTEXAI_PROJECT="your-project-id" export VERTEXAI_LOCATION="us-central1"
Start the ADK Web interface to load your agent. The interface initializes the runtime and makes your MCP-enabled agent available for interactive testing.
cd ~/adk_agents
adk web .π Launching ADK Web
Select your agent from the ADK Web interface. ADK loads the MCP tools and prepares the environment so you issue live MCP queries.
At this point, your Vertex AI ADK agent communicates with the CData Connect AI MCP Server and retrieves live Elasticsearch data metadata through remote MCP tools.
To access hundreds of SaaS, Big Data, and NoSQL sources directly from your cloud applications, try CData Connect AI today!
Learn more about CData Connect AI or sign up for free trial access:
Free Trial