Connecting Paid Ad Data to Claude

Every marketer has the same problem: your data is in one place and your brain is in another.

You want to ask a question about your paid ad performance. So you open the dashboard, find the number, copy it, paste it somewhere, and start writing. Repeat forty times a day.

I got tired of that. So I built a fix.

What is an MCP server and why does it matter?

MCP stands for Model Context Protocol. It’s basically a standard plug that lets AI tools like Claude connect directly to other software.

Think of it like this: Claude is a really smart assistant sitting at a desk. Without MCP, you have to walk over, hand it a piece of paper with the data on it, and wait for an answer. With MCP, Claude can just open the drawer and get the data itself.

I built a custom MCP server for Propensity — the platform I use to track paid ad performance and intent data — so Claude can pull that data on demand, without me doing anything manually.

What does it actually do?

When I’m working in Claude and I want to know how a campaign is performing, I just ask. Claude queries Propensity directly, pulls the relevant data, and gives me an answer in plain English.

No tab switching. No copy-pasting. No reformatting spreadsheets.

I can ask things like:

  • “What’s our cost per lead across LinkedIn campaigns this month?”
  • “Which ad set is driving the most qualified traffic?”
  • “How does this week’s performance compare to last week?”

And Claude just answers, because it has access to the live data.

Why did I build this instead of using something off the shelf?

There wasn’t anything off the shelf. Propensity doesn’t have a pre-built Claude integration, and I wasn’t going to wait around for one to appear.

Building a custom MCP server is actually not that complicated once you understand the pattern. It’s a small Node.js program that sits on your computer, talks to an API, and makes the data available to Claude. I used Claude Code to help write most of it — which, yes, is a bit circular, but it works.

What did this change for me?

The biggest shift isn’t speed — it’s that I stopped losing context.

When you’re mid-thought analyzing a campaign and you have to go digging for data, you lose the thread. Having the data available inside the same conversation means I can think more clearly and move faster.

It’s one of those things that sounds like a minor convenience until you actually have it. Then it feels like a superpower.

Can you build something like this?

Yes, if you’re comfortable with basic JavaScript and your tool has an API. The MCP SDK is well-documented and Claude is genuinely good at helping you build these things.

Start with one data source you check every day. Build the connector. See what happens to your workflow.

Chances are you’ll never go back to manual lookups.