twitterads_get_tablesLABSCO SUMMARY
Your ad data as tables, and nothing but SELECT.
The whole design is one driver away from being a generic SQL server: CData maps Twitter Ads onto relational models and the assistant gets table discovery plus a read query. That makes the blast radius easy to reason about — there is no write path to get wrong — and caps what you can ask at whatever the driver's schema exposes. The cost is front-loaded: a Maven build, a licensed driver install and a hand-written property file before the first question.
What it is
A local, read-only bridge between an assistant and Twitter Ads. CData's JDBC driver exposes Twitter Ads as relational SQL models; this server wraps the driver so a model can discover the tables and query them, and you can ask in plain language instead of writing SQL. It runs over stdio, so the client has to be on the same machine.
What you get
get_tableslists the tables the driver exposes, returned as CSV with a header rowget_columnslists the columns on one of those tables, in the same CSV shaperun_queryexecutes a SQL SELECT against live Twitter Ads data- Tool names carry the prefix you set in the property file — the sample config uses
Prefix=twitterads - 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
Requirements
Java and Maven: mvn clean install builds CDataMCP-jar-with-dependencies.jar. Separately install the CData JDBC Driver for Twitter Ads and license it by running java -jar cdata.jdbc.twitterads.jar --license, entering TRIAL or a license key. Build the connection string with the same jar, authenticating in the browser if the source uses OAuth, then write a .prp file naming the driver path, the driver class cdata.jdbc.twitterads.TwitterAdsDriver and that JDBC URL. Point your client at java -jar with the built jar and the .prp file.
Setup effort
Build from source — git clone https://github.com/cdatasoftware/twitter-ads-mcp-server-by-cdata.git
USE CASES
Finding out what your ad account actually exposes
List the tables the driver publishes, then the columns on the one you need.
Answering a campaign question without opening a BI tool
Ask in plain language; the assistant writes the SELECT and reads the CSV back.
Pulling spend and performance into a summary
Query the campaign tables directly and let the model shape the result.
3 tools
Listed in project docs. Your client may show a different list.
twitterads_get_columnstwitterads_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names are the Prefix value from the .prp file plus _get_tables, _get_columns or _run_query, so the sample Prefix=twitterads gives twitterads_get_tables. The tools only read — run_query executes SELECT statements. Writes need CData's separate MCP Server for Twitter Ads.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/cdatasoftware/twitter-ads-mcp-server-by-cdata.git
cd twitter-ads-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for Twitter Ads from https://www.cdata.com/drivers/twitterads/download/jdbc
License the driver: in the driver's lib folder run java -jar cdata.jdbc.twitterads.jar --license and enter your name, email, and "TRIAL" (or your license key)
Run java -jar cdata.jdbc.twitterads.jar to open the Connection String utility, configure and test the connection, then copy the connection string
Create twitter-ads.prp with:
Prefix=twitterads
ServerName=CDataTwitterAds
ServerVersion=1.0
DriverPath=<YOUR_DRIVER_PATH>
DriverClass=cdata.jdbc.twitterads.TwitterAdsDriver
JdbcUrl=<YOUR_JDBC_URL>
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
(optional, to run standalone) java -jar <YOUR_PATH_TO_CDATA_MCP_JAR_WITH> <YOUR_PATH_TO_TWITTER_ADS>
MCP Clients
Claude Desktop — macOS, Linux
{
"mcpServers": {
"twitter-ads": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_TWITTER_ADS>"
]
}
}
}