cdata-adobe-analytics-mcp-gateway
Facilitates natural language interaction with live Adobe Analytics datasets. This solution leverages the CData JDBC Driver to present Adobe Analytics metrics and dimensions as a conventional, queryable SQL schema, enabling conversational data exploration without manual SQL construction.
Author

CDataSoftware
Quick Info
Actions
Tags
CData Model Context Protocol (MCP) Server for Adobe Analytics Integration
This utility establishes a read-only gateway to your Adobe Analytics environment via the Model Context Protocol (MCP).
:warning: Read-Only Limitation: This specific build is restricted to data retrieval operations. For comprehensive CRUD (Create, Read, Update, Delete) functionalities, along with actions and a streamlined deployment experience, please explore the complimentary, feature-rich CData MCP Server for Adobe Analytics (Beta).
Core Functionality
This dedicated read-only MCP Server is engineered to permit Large Language Models (LLMs), such as Claude Desktop, to execute queries against live data sourced from Adobe Analytics. Connectivity is managed through the robust CData JDBC Driver for Adobe Analytics.
The CData JDBC Driver transforms Adobe Analytics structures into a normalized, relational SQL representation. This server component then exposes these modeled data assets via the MCP interface, allowing generative AI clients to obtain current information simply by posing questions in plain English—eliminating the prerequisite of writing structured query language.
Deployment Procedure
-
Source Code Retrieval: bash git clone https://github.com/cdatasoftware/adobe-analytics-mcp-server-by-cdata.git cd adobe-analytics-mcp-server-by-cdata
-
Compilation: bash mvn clean install
This step yields the primary executable JAR:
CDataMCP-jar-with-dependencies.jar3. Driver Acquisition: Procure and install the necessary CData JDBC Driver for Adobe Analytics from: https://www.cdata.com/drivers/adobeanalytics/download/jdbc 4. Driver Activation (Licensing): * Navigate to the driver's installation directory, typically located at: * (Windows)C:\Program Files\CData\CData JDBC Driver for Adobe Analytics\* (Mac/Linux)/Applications/CData JDBC Driver for Adobe Analytics/* Execute the licensing utility via the command line:java -jar cdata.jdbc.adobeanalytics.jar --license* Supply your credentials (Name, Email) and the activation code (use "TRIAL" for evaluation purposes, or your official license key). 5. Data Source Connection Configuration: * Initiate the Connection String utility by running:java -jar cdata.jdbc.adobeanalytics.jar- Within the utility, define and configure your specific connection parameters (e.g., OAuth flow if required, which mandates browser authentication).
- After a successful verification test, capture the generated JDBC connection string.
- Property Configuration File Creation: Generate a configuration file (e.g.,
adobe-analytics.prp) detailing server properties and the JDBC connection string: - Prefix: Designate a namespace prefix for the exposed tools.
- ServerName: A unique identifier for this server instance.
- ServerVersion: The operational version identifier.
- DriverPath: The absolute file system path to the downloaded JDBC driver JAR.
- DriverClass: The fully qualified name of the JDBC driver's main class (e.g.,
cdata.jdbc.adobeanalytics.AdobeAnalyticsDriver). - JdbcUrl: The connection string acquired in the previous step.
- Tables: Specify table names explicitly, or leave empty to grant access to all available entities. env Prefix=adobeanalytics ServerName=CDataAdobeAnalytics ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.adobeanalytics.jar DriverClass=cdata.jdbc.adobeanalytics.AdobeAnalyticsDriver JdbcUrl=jdbc:adobeanalytics:InitiateOAuth=GETANDREFRESH; Tables=
Integrating with AI Clients (e.g., Claude Desktop)
-
Client Configuration Update: Modify or create the client's configuration file (e.g.,
claude_desktop_config.json) to register the new MCP endpoint. Add an entry undermcpServers:Windows Path Example:
{ "mcpServers": { "{classname_dash}": { "command": "PATH\TO\java.exe", "args": [ "-jar", "PATH\TO\CDataMCP-jar-with-dependencies.jar", "PATH\TO\adobe-analytics.prp" ] }, ... } }
Linux/Mac Path Example:
{ "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/adobe-analytics.prp" ] }, ... } }
If the config file is external to the current directory, relocate it to the client's designated configuration path (e.g., for Claude Desktop): Windows Relocation: bash cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
Linux/Mac Relocation: bash cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json
-
Client Refresh: Restart or reload the host application (Claude Desktop). The newly defined MCP service should now be discoverable.
Note on Discovery: A complete termination (e.g., via Task Manager/Activity Monitor) and relaunch of the client application may be required for new servers to register.
Standalone Server Execution
To initiate the MCP Server independently (useful for testing connectivity before client integration): bash java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/adobe-analytics.prp
Constraint: The server communicates via standard input/output (
stdio) and must, therefore, run on the same host machine as the consuming client.
Interaction Paradigm
Upon successful integration, the AI client gains access to the underlying data system's capabilities via specialized tools. Explicit invocation of these tools is generally unnecessary; users should phrase their data requests naturally. For instance: * "What is the relationship between conversion rates and traffic sources last quarter?" * "How many active user sessions were recorded for the mobile application segment?" * "Summarize campaign performance metrics for the EMEA region."
Available Service Methods
Tool names use the structure {servername} derived from the configuration file (e.g., adobeanalytics).
* {servername}_get_tables - Fetches a catalog of accessible data entities. Cross-reference with {servername}_get_columns to detail attributes within a specific table. Output format is CSV, including a header row.
* {servername}_get_columns - Retrieves the schema (column list) for a designated entity. Use {servername}_get_tables initially. Output format is CSV, including a header row.
* {servername}_run_query - Executes arbitrary SQL SELECT statements against the exposed data layer.
JSON-RPC Request Schemas (Scripted Calls)
For scenarios involving direct communication rather than an AI client interface, requests must adhere to the JSON-RPC 2.0 standard when invoking the exposed methods:
Retrieving Entity List (e.g., adobeanalytics_get_tables)
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "adobeanalytics_get_tables", "arguments": {} } }
Querying Schema Details (e.g., adobeanalytics_get_columns)
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "adobeanalytics_get_columns", "arguments": { "table": "PageViews" } } }
Executing a Query (e.g., adobeanalytics_run_query)
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "adobeanalytics_run_query", "arguments": { "sql": "SELECT VisitorID, COUNT(*) FROM [Visits] GROUP BY VisitorID LIMIT 100" } } }
Common Issue Resolution
- Server Unreachable in Client: Verify the host client application (e.g., Claude Desktop) was completely shut down (check system processes/monitors) before reopening it.
- Data Retrieval Failure: Reconfirm the connection string configuration. Validate that the string generated via the Connection String utility was accurately transferred to the
.prpproperty file. - Source Connection Problems: For issues directly related to connecting to Adobe Analytics, please engage the CData Support Team.
- MCP Server Feedback: General inquiries or suggestions regarding the MCP server's operation should be directed to the CData Community Forum.
Licensing Terms
This MCP server is distributed under the permissive MIT License. Users are granted the right to utilize, adapt, and disseminate this software, contingent upon adherence to the stipulated terms outlined in the accompanying LICENSE file.
Supported Data Ecosystems (CData Drivers)
- (Abridged List for Brevity - see original for full scope)
- Adobe Analytics
- Salesforce
- Google Sheets
- Snowflake
- SQL Server
- ... and over 200 other data sources accessible via CData JDBC technology.
