bingads_get_tablesLABSCO SUMMARY
SQL over an ads API, without an ETL step.
Advertising APIs are awkward to query directly and usually end up copied into a warehouse first. Modelling the account as tables means a question about campaign performance is a SELECT rather than a pipeline, and read-only execution means pointing it at a live account cannot change a bid. CData names the alternatives openly: their downloadable MCP server for write access and a simpler setup, and Connect AI for a managed remote endpoint.
What it is
A local, read-only MCP server from CData wrapping their JDBC driver for Bing Ads. The driver presents the advertising account as relational SQL models; the server gives a model three tools over it, so campaign and performance questions can be answered without anyone writing SQL.
What you get
- A tool that lists the tables available in the data source, returned as CSV with a header row
- A tool that lists the columns on a named table, so field names get checked rather than guessed
- A tool that executes a SQL SELECT query against Bing Ads
- A
Tablessetting that only picks which tables also get a ready-made description (blank means none); it does not limit what the tools can list or query, so limit the connection or the account it signs in with - Tool names carry the prefix you set, so several CData servers can run side by side without colliding
Requirements
The CData JDBC Driver for Bing Ads, downloaded and licensed separately — the driver jar takes your name, email and either TRIAL or a licence key. Java to run and Maven to build: mvn clean install produces CDataMCP-jar-with-dependencies.jar. Then a .prp file with Prefix=bingads, a server name and version, the driver path, DriverClass=cdata.jdbc.bingads.BingAdsDriver, the JdbcUrl built with the driver's connection-string utility, and Tables. Bing Ads authenticates over OAuth, so expect a browser step while building the connection string. The client launches java with the jar and the .prp path; transport is stdio, so client and server share a machine. MIT licensed.
Setup effort
Build from source — clone the repository, then point your client at the binary
USE CASES
Answering a campaign question directly
Ask in plain language and let the model find the tables, check the columns and run the query itself.
Learning what the account exposes
List the tables and read the columns on the ones that look relevant before writing anything.
Reporting without an export
Query the live account for the cut you need instead of downloading a CSV and pivoting it.
3 tools
Listed in project docs. Your client may show a different list.
bingads_get_columnsbingads_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names take the Prefix= value from the .prp file, such as bingads_get_tables. All tools are read-only; writes need CData's paid MCP Server. The Tables setting does not limit what the tools reach; your connection's access does.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Clone the repository, then point your client at the binary. This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/cdatasoftware/bing-ads-mcp-server-by-cdata.git
cd bing-ads-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for Bing Ads from https://www.cdata.com/drivers/bingads/download/jdbc
License the driver: in the driver's lib folder run java -jar cdata.jdbc.bingads.jar --license, then enter name, email and "TRIAL" (or your license key)
Run java -jar cdata.jdbc.bingads.jar to open the Connection String utility, test the connection and copy the connection string
Create a .prp file with Prefix / ServerName / ServerVersion / DriverPath / DriverClass=cdata.jdbc.bingads.BingAdsDriver / JdbcUrl / Tables
Tables only picks which tables also get a ready-made description for your assistant, and empty means none; the server can still list and query every table your connection string reaches, so to keep data out of reach, limit that connection or the account it signs in with.
Add the mcpServers entry below to claude_desktop_config.json and restart the client
MCP Clients
Claude Desktop — macOS / Linux
{
"mcpServers": {
"bing-ads": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_BING_ADS>"
]
}
}
}