google-ad-manager -by-cdata
This read-only MCP Server allows you to connect to Google Ad Manager data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out our MCP Server for Google Ad Manager (https://www.cdata.com/drivers/dfp/download/mcp).
claude mcp add --transport stdio cdatasoftware-google-ad-manager-mcp-server-by-cdata java -jar CDataMCP-jar-with-dependencies.jar /PATH/TO/google-ad-manager.prp
How to use
This MCP server provides a read-only interface to Google Ad Manager data via the CData JDBC Driver. It wraps the JDBC driver and exposes an MCP interface so large language models and clients can query live Ad Manager data without writing SQL. After you start the server (the MCP JAR reads the .prp configuration and exposes tools for listing tables, listing columns, and executing SELECT queries), you can invoke the built-in tools from an MCP-capable client (e.g., Claude Desktop) using the predefined tool names in your mcpServers configuration. The available tools follow the pattern {servername}_get_tables, {servername}_get_columns, and {servername}_run_query. For example, with a server named google-ad-manager, you would call google-ad-manager_get_tables to retrieve available tables, google-ad-manager_get_columns to inspect a table’s schema, and google-ad-manager_run_query to execute a SELECT against your data source. When integrated with Claude Desktop, you would typically place the server entry in claude_desktop_config.json and then run or refresh Claude Desktop to see the MCP server.
How to install
Prerequisites:
- Java JRE/JDK (required to run the MCP JAR)
- Maven (required to build the MCP JAR from source)
- Access to a Google Ad Manager account and license for the CData JDBC Driver for Google Ad Manager
Step-by-step:
- Install prerequisites
- Install Java (JDK 11+ recommended)
- Install Maven
- Clone the repository and build locally
- git clone https://github.com/cdatasoftware/google-ad-manager-mcp-server-by-cdata.git
- cd google-ad-manager-mcp-server-by-cdata
- mvn clean install
- This produces the JAR file: CDataMCP-jar-with-dependencies.jar
- Install and license the CData JDBC Driver for Google Ad Manager
- Download the JDBC driver from the CData site
- Follow the license steps in the driver’s docs to license (via java -jar cdata.jdbc.doubleclickfp.jar --license)
- Create a .prp configuration for your JDBC connection
- Example google-ad-manager.prp (edit with your paths and credentials): Prefix=doubleclickfp ServerName=CDataDoubleClickFP ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.doubleclickfp.jar DriverClass=cdata.jdbc.doubleclickfp.DoubleClickFPDriver JdbcUrl=jdbc:doubleclickfp:InitiateOAuth=GETANDREFRESH; Tables=
- Run the MCP server
- java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/google-ad-manager.prp
- Note: The server uses stdio and is designed to be consumed by clients on the same machine
- Configure Claude Desktop (optional)
- Create claude_desktop_config.json with an entry for the server, pointing to the java executable, the MCP JAR, and the .prp file as shown in the README
- If Claude Desktop is already running, restart to pick up the new MCP server
- Validate connection
- Use google-ad-manager_get_tables to ensure the server responds and you can list tables
- Use google-ad-manager_run_query to test a basic SELECT against an allowed view or table
Additional notes
Tips and common issues:
- The MCP server operates in stdio mode; clients must run on the same machine as the server.
- Ensure the JDBC driver is licensed before attempting to connect; otherwise, queries will fail.
- When generating the .prp file, ensure paths are correct and that the JDBC driver JAR and its dependencies are accessible.
- If Claude Desktop cannot see the MCP server, fully quit Claude Desktop and restart so it re-scans the configuration. Double-check that the claude_desktop_config.json entry points to the correct java executable, JAR, and .prp path.
- If you modify the .prp file, restart the MCP server so changes take effect.
- For security, avoid embedding cleartext credentials in the .prp; use secure connection strings and environment-based configuration where possible.