![]() |
VOOZH | about |
OpenAI's Python SDK provides powerful capabilities for building AI applications that can interact with various data sources. When combined with CData Connect AI Remote MCP, you can build intelligent chat applications that interact with your OData services in real-time through natural language queries. This article outlines the process of connecting to OData using Connect AI Remote MCP and configuring an OpenAI-powered Python application to interact with your OData services through conversational AI.
CData Connect AI offers a dedicated cloud-to-cloud interface for connecting to OData services. The CData Connect AI Remote MCP Server enables secure communication between OpenAI applications and OData. This allows your AI assistants to read from and take actions on your live OData services. With its inherent optimized data processing capabilities, CData Connect AI efficiently channels all supported SQL operations, including filters and JOINs, directly to OData. This leverages server-side processing to swiftly deliver the requested OData services.
In this article, we show how to configure an OpenAI-powered Python application to conversationally explore (or Vibe Query) your data using natural language. With Connect AI you can build AI assistants with access to live OData services, plus hundreds of other sources.
CData simplifies access and integration of live OData services data. Our customers leverage CData connectivity to:
Customers use CData's solutions to regularly integrate their OData services with preferred tools, such as Power BI, MicroStrategy, or Tableau, and to replicate data from OData services to their databases or data warehouses.
Connectivity to OData from OpenAI applications is made possible through CData Connect AI Remote MCP. To interact with OData services from your OpenAI assistant, we start by creating and configuring a OData connection in CData Connect AI.
The User and Password properties, under the Authentication section, must be set to valid OData user credentials. In addition, specify a URL to a valid OData server organization root or OData services file.
๐ Configuring a connection (Salesforce is shown)A Personal Access Token (PAT) is used to authenticate the connection to Connect AI from your OpenAI application. It is best practice to create a separate PAT for each service to maintain granularity of access.
With the connection configured and a PAT generated, we are ready to connect to OData services from your OpenAI application.
Follow these steps to configure your OpenAI Python application to connect to CData Connect AI. You can use our pre-built client as a starting point, available at https://github.com/CDataSoftware/openai-mcp-client, or follow the instructions below to create your own.
pip install openai python-dotenv httpx
git clone https://github.com/CDataSoftware/openai-mcp-client.git cd openai-mcp-client
OPENAI_API_KEY=YOUR_OPENAI_API_KEY MCP_SERVER_URL=https://mcp.cloud.cdata.com/mcp MCP_USERNAME=YOUR_EMAIL MCP_PASSWORD=YOUR_PAT OPENAI_MODEL=gpt-4Replace YOUR_OPENAI_API_KEY with your OpenAI API key, YOUR_EMAIL with your Connect AI email address, and YOUR_PAT with the Personal Access Token created in Step 1.
import os
import asyncio
import base64
from dotenv import load_dotenv
from mcp_client import MCPServerStreamableHttp, MCPAgent
# Load environment variables
load_dotenv()
async def main():
"""Main chat loop for interacting with OData data."""
# Get configuration
api_key = os.getenv('OPENAI_API_KEY')
mcp_url = os.getenv('MCP_SERVER_URL', 'https://mcp.cloud.cdata.com/mcp')
username = os.getenv('MCP_USERNAME', '')
password = os.getenv('MCP_PASSWORD', '')
model = os.getenv('OPENAI_MODEL', 'gpt-4')
# Create auth header for MCP server
headers = {}
if username and password:
auth = base64.b64encode(f"{username}:{password}".encode()).decode()
headers = {"Authorization": f"Basic {auth}"}
# Connect to CData MCP Server
async with MCPServerStreamableHttp(
name="CData MCP Server",
params={
"url": mcp_url,
"headers": headers,
"timeout": 30,
"verify_ssl": True
}
) as mcp_server:
# Create AI agent with access to OData data
agent = MCPAgent(
name="data_assistant",
model=model,
mcp_servers=[mcp_server],
instructions="""You are a data query assistant with access to OData data through CData Connect AI.
You can help users explore and query their OData services 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.""",
api_key=api_key
)
await agent.initialize()
print(f"Connected! {len(agent._tools_cache)} tools available.")
print("
Chat with your OData services (type 'exit' to quit):
")
# Interactive chat loop
conversation = []
while True:
user_input = input("You: ")
if user_input.lower() in ['exit', 'quit']:
break
conversation.append({"role": "user", "content": user_input})
print("Assistant: ", end="", flush=True)
response = await agent.run(conversation)
print(response["content"])
conversation.append({"role": "assistant", "content": response["content"]})
if __name__ == "__main__":
asyncio.run(main())
python client.py
With your OpenAI Python application configured and connected to CData Connect AI, you can now build sophisticated AI assistants that interact with your OData services using natural language. The MCP integration provides your applications with powerful data access capabilities through OpenAI's advanced language models.
Your OpenAI assistant has access to the following CData Connect AI MCP tools:
Here are some examples of what your OpenAI-powered applications can do with live OData services access:
Once running, you can interact with your OpenAI assistant through natural language. Example queries include:
Your OpenAI assistant will automatically translate these natural language queries into appropriate SQL queries and execute them against your OData data through the CData Connect AI MCP Server, providing intelligent insights without requiring users to write complex SQL or understand the underlying data structure.
The OpenAI MCP integration supports advanced capabilities:
To get live data access to hundreds of SaaS, Big Data, and NoSQL sources directly from your OpenAI applications, try CData Connect AI today!
Learn more about CData Connect AI or sign up for free trial access:
Free Trial