ai-data-bridge-engine
A robust mechanism for securely interfacing with and manipulating remote, cloud-resident datasets via standard SQL, executing defined stored procedures, and facilitating metadata discovery, all while seamlessly integrating into modern artificial intelligence driven analysis pipelines.
Author

CDataSoftware
Quick Info
Actions
Tags
🧠 AI Data Bridge Engine (Connect Cloud MCP Server)
📢 Now Available within Connect AI Environment 📢
The core engine (previously Connect Cloud) now natively supports the Remote Model Context Protocol Server, utilizing the Streamable HTTP communication standard. Full documentation is available at CData AI.
This repository persists the codebase for self-hosting the server utilizing the traditional STDIO communication method.
This component functions as a Model Context Protocol (MCP) handler, engineered specifically for querying and governing access to data stores provisioned through the CData Connect AI platform. It empowers autonomous AI agents to interact with enterprise data assets using structured query language (SQL), detailed schema introspection, and transactional procedure invocation.
✨ Key Capabilities
- ✅ Execution of arbitrary SQL against remote cloud resources
- 🔄 Support for bulk data manipulation (e.g., INSERT, UPDATE, DELETE)
- ⚙️ Invocation capabilities for specialized stored routines
- 📚 Comprehensive access to structural information (catalogs, logical groupings, entities, attribute definitions)
🛠️ Operational Requirements
- Runtime Environment: Node.js version 18 or newer
- Backend Requirement: Active subscription to CData Connect Cloud featuring API credentials.
- Authentication Credential: A valid Personal Access Token (PAT) for secure ingress.
⚙️ Deployment Procedures
Installation via Smithery
Automated deployment for Claude Desktop environments using Smithery:
npx -y @smithery/cli install @CDataSoftware/connectcloud-mcp-server --client claude
Manual Source Code Setup
- Acquire Repository Files
bash
git clone https://github.com/cdatasoftware/connectcloud-mcp-server.git
cd connect-cloud-mcp-server
- Dependency Resolution
bash
npm install
- Credential Configuration
Establish a .env configuration file containing:
```env CDATA_USERNAME=your_organization_login CDATA_PAT=your_secret_token_here
# Optional Overrides LOG_ENABLED=false LOG_LEVEL=info CDATA_URL=https://your-specific-service-endpoint
# Transport Mechanism (default is 'http') TRANSPORT_TYPE=http # Use 'stdio' for direct console interaction PORT=3000 # Listening TCP port HOST=localhost # Listening interface ```
▶️ Server Initialization
Development/Hot Reloading Mode
Utilize ts-node for iterative development cycles:
npm run dev
Production Deployment
Compile assets and execute:
npm run build
npm start
HTTP Transport Interface Endpoints
When configured for HTTP networking (default behavior), the gateway exposes these access points:
- Core MCP Channel:
http://localhost:3000/mcp- The main communication route for the Model Context Protocol - Raw JSON-RPC Channel:
http://localhost:3000/direct- Direct, session-less data exchange interface - Discovery Manifest:
http://localhost:3000/.well-known/mc/manifest.json- Protocol specification locator
Utilizing STDIO Communication
To invoke the server for direct terminal interaction:
TRANSPORT_TYPE=stdio npm start
🔍 Validation with MCP Inspector
The MCP Inspector tool provides a dual interface (web GUI and CLI) for rigorously testing protocol endpoints. This project is fully compatible.
Configuration Sanity Check
Execute the built-in validation script to confirm all prerequisites are met:
npm run validate:inspector
This script verifies settings and outputs necessary next steps.
Inspector Quick Launch
-
Install Inspector Globally (Recommended):
bash npm install -g @modelcontextprotocol/inspector -
Start Inspector with Web GUI:
bash npm run inspectorThis launches a browser interface allowing selection and testing across configured transport methods.
Testing Specific Communication Modes
STDIO Protocol Test
# Launches inspector and automatically connects via STDIO
npm run inspector:stdio
HTTP Protocol Test
# 1. Start the primary data server first
npm run dev:http
# 2. In a separate console, launch the inspector client
npm run inspector:http
Command Line Verification
# Perform rapid CLI-based testing using STDIO
npm run inspector:cli
# Execute automated unit tests for the inspector interface
npm run test:inspector
Predefined Inspector Profiles
The source includes mcp-inspector.json defining ready-to-use server profiles:
- connectcloud-stdio: STDIO mode with integrated server spawning.
- connectcloud-http: Streamable HTTP mode (requires independent server initialization).
Essential Inspector Scripts Summary
| Command | Purpose |
|---|---|
npm run inspector |
Initializes the web interface for server selection |
npm run inspector:stdio |
Direct launch to the STDIO testing configuration |
npm run inspector:http |
Direct launch to the HTTP testing configuration |
npm run inspector:cli |
Executes the inspector in command-line interaction mode |
npm run test:inspector |
Runs quick automated performance checks |
🧰 Exposed Data Interface Toolkit
🔹 Data Manipulation Functions
| Identifier | Functionality |
|---|---|
queryData |
Submits and retrieves results from SQL statements |
execData |
Triggers the execution of stored data routines |
🔹 Schema Discovery Functions
| Identifier | Description |
|---|---|
getCatalogs |
Enumerates available data repositories |
getSchemas |
Lists schema containers within a repository |
getTables |
Retrieves entity lists within a schema |
getColumns |
Fetches attribute definitions for an entity |
getPrimaryKeys |
Identifies the unique key constraints |
getIndexes |
Details on table indexing structures |
getImportedKeys |
Maps outgoing foreign key relationships |
getExportedKeys |
Maps incoming foreign key references |
getProcedures |
Lists all available executable routines |
getProcedureParameters |
Maps required input/output arguments for routines |
🤖 Alignment with Large Language Models (LLMs)
This server adheres strictly to the Model Context Protocol specification, ensuring seamless interoperability with compliant AI agents.
Operational Example (TypeScript Agent Interaction)
const result = await agent.processRequest({
tools_to_invoke: [
{
tool_name: "queryData",
arguments: {
query: "SELECT CustomerName, TotalSales FROM CRM.Sales.Summary WHERE Region = 'West'"
}
}
]
});
🐳 Deployment via Containerization
Building the Local Container Image
docker build -t ai-bridge/server:latest -f Dockerfile .
🧩 Integration with Claude Desktop Environment
To integrate this server instance into your local Claude configuration, modify or append to your claude_desktop_config.json within the mcpServers configuration block:
🔹 Via Dockerized Execution
{
"mcpServers": {
"ai-data-bridge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--name", "ai-data-bridge-instance",
"-e", "CDATA_USERNAME",
"-e", "CDATA_PAT",
"ai-bridge/server"
],
"env": {
"CDATA_USERNAME": "<your-cdata-username>",
"CDATA_PAT": "<your-cdata-personal-access-token>"
}
}
}
}
Via Npx Direct Execution
{
"mcpServers": {
"ai-data-bridge": {
"command": "npx",
"args": [
"-y",
"@cdatasoftware/connectcloud-mcp-server"],
"env": {
"CDATA_USERNAME": "<your-cdata-username>",
"CDATA_PAT": "<your-cdata-personal-access-token>"
}
}
}
}
📄 Licensing Information
Protected under the terms of the MIT License.
