Contents
Before you build: thoughts to consider and work through What the dashboard actually shows How I built it: two MCP servers, one view Build it yourself Why this is the pattern to copy

Every finance person I know lives in the same loop approaching the end of the month, quarter, or fiscal year. Leadership wants to know where the financials will land (most times before the close has occurred). CS wants customer margins. Someone on the People team needs each department’s AI spend for an OKR review, and they need it quickly to make business decisions. Each answer sits in a different tool or a different spreadsheet, and I bounce across all of them several times a day.

Going through this process myself, I knew it wasn’t efficient, especially around two questions I could never answer as fast as people asked them:

  1. What’s our margin, overall and for each customer?
  2. What’s driving our AI spend, and is the spend worth the investment?

I allowed myself the time to build something better. Not for a launch or a deck, but something that could prevent having to keep answering the same four questions eleven different ways.

I believe in AI, especially its power to make recurring things as efficient as possible. But, just like any other process that the business will rely on, you need to be able to trust the output you are getting from AI. Finance can’t run on numbers that shift every time you ask the same question.

I’m not an engineer or technical by trade. I don’t even code. I’m just the person on the finance team who would rather build the thing than file a ticket and take away resources from other projects. Prior to the mass adoption of AI, instinct would hit a wall fast, because building meant writing code. Now, that wall is gone. AI plus MCP servers means I can just connect Claude straight into CloudZero and Campfire and ask, in plain English, for exactly the view I want. No pipeline, no SQL, no data team, no specialists.

Before you build: thoughts to consider and work through

The old saying, “Trust but verify,” applies here more than usual. You still need a control when using AI to present financial data. Think back to science class: You have your experimental group and you have your control group. The AI output is the experimental one. My own reporting is the control, and I check one against the other every single time. I don’t see a world right now where finance work lives only in AI.

AI outputs are only as good as AI inputs. Most people think of the “inputs” as what you chat or type to the AI provider. For me, I think of inputs as the data AI will utilize for your outputs. Good outputs require building on consistent, trustworthy data models. I already have two I trust: CloudZero for cloud and AI spend, and Campfire for revenue, payroll, and the rest of the ledger.

Below, I’ll explain what the dashboard shows, how I built it, and how you can build your own. Every number below is fabricated, but the structure is identical to the one I run on our real books.

What the dashboard actually shows

The upcoming quarter, previous quarter and the first half of the fiscal year at a glance. The top strip is the P&L that matters: recognized revenue, cloud COGS, gross margin, margin percentage, and AI spend, each with its quarter-over-quarter move. Under it, a margin trend chart runs revenue against COGS month by month with the margin line on top, and the current month is projected to a full-month run rate so I’m not waiting for the close to know where we’ll land. In the sample, revenue grew 4.7% and cloud COGS grew 2.9%. Margin expanded. That’s the first thing I see when I open it, and most days it’s all I really need.

Where margin actually comes from. A dashboard-level margin number hides the accounts dragging it down, so I broke it out. One table ranks customers by cloud COGS, with each account’s margin and its change versus last quarter. I sort by dollars, not percentage. I learned that the hard way: Claude initially gave me margin percentage, and the two worst accounts were tiny. I could have spent a month fixing them and moved nothing.

Another puts Q1 and Q2 customer margins side by side so I can see who’s improving and who’s slipping. Then a set of extremes tiles surfaces the highest-margin and negative-margin accounts each quarter. In the sample, the loss-making tail shrank from four accounts to three.

The AI ROI section, which is the part I care most about. This is what you can’t build from cost data alone. CloudZero gives me AI spend. Campfire gives me revenue, payroll, and software expense. Put them together and I get AI measured against the business, not just a bill: AI as a percentage of revenue, of gross margin, and of salaries, both company-wide and by department. Customer success spends 9.2% of its salary base on AI. Sales spends 1.1%. I don’t know yet which one of those is wrong, but I know I’d never have asked the question from a P&L. The same section shows AI spend by department quarter over quarter, the model mix (how much is running on premium models versus cheaper ones), and how much of our spend hits cached tokens versus fresh input.

Capitalization, convergence, and scenarios. A few sections go further than the day-to-day. One looks at R&D capitalization under ASC 350-40, flagging AI-assisted development work sitting in OpEx today that may be capitalizable. Here’s the part nobody has a clean answer to yet: You used to have engineers writing code and you could capitalize their time, but what happens when it’s Anthropic writing the code? How do you prove what you can capitalize? Everyone is booking Anthropic, OpenAI, and Cursor to OpEx and moving on. That will not hold. Another answers whether AI is replacing cloud spend or adding to it (in the sample, adding: AI is a steady 8 to 9% slice of total cloud plus AI, growing off a small base).

And a sensitivity table models the levers I’d actually pull: shifting a quarter of premium-model usage to a cheaper model, or rightsizing compute on the three largest accounts. Our old slogan at CloudZero was that every engineering decision is a buying decision. With AI, every decision is a buying decision. I ran a skill overnight once, it got stuck in a loop, and it cost me about a thousand dollars. That wasn’t me using Claude wrong. That’s just a thing that can happen now, to anyone in any department, and it’s why I want the levers in front of me.

How each team uses AI. The last section breaks AI spend by task, feature development versus testing versus planning for engineering, pipeline generation versus content for sales, and so on. This is the newest and roughest part, and it’s labeled directional for a reason. We call it looking over the edge. You’re not standing over anyone’s shoulder or reading their screen, you’re seeing from a distance that this spend relates to that work. That’s a different thing, and it’s the only version of this I’d want to build. But it’s also the piece you can’t assemble from any other tool, and it’s where this gets genuinely interesting.

My own personal ROI: This dashboard saves me five hours a week, easy. That’s the difference between manual and automated analytics, and these are more complex analytic processes than I could do manually.

How I built it: two MCP servers, one view

Campfire has an MCP server. CloudZero has an MCP server. I connected Claude to both and started asking questions across them. For non-technical folks, an MCP is like an app on your iPhone. You go to the App Store, you see what’s available, you install it. And then it acts as a kind of translator between your plain English inquiries and the complex financial data in both CloudZero and Campfire.

Revenue, payroll by department, and software expense come from Campfire, because that’s where our system of record already keeps them. AI and cloud spend come from CloudZero, down to the feature and the user. I didn’t build a pipeline or move anything. I asked, in everyday language, for the tiles I wanted, and pointed each question at the right source.

To be clear, you can do all of this inside CloudZero if you bring your revenue and payroll data into the platform, and plenty of customers do exactly that. I wanted to show the other path: how far you can get by stitching two systems together through their MCP servers, without moving a single row of data. For a lot of finance teams, that’s the fastest way to a working answer.

Build it yourself

If you’re running both CloudZero and Campfire, you can stand up the same dashboard. Here’s the process, step by step.

The order matters more than the wording. I didn’t get this in one prompt, I got it in about a dozen, and most were course corrections.

  1. Connect both MCP servers. Revenue, payroll, and software expense point at Campfire. Cloud and AI spend point at CloudZero. Confirm Claude can read each before asking for anything else.
  2. Reconcile first. “Pull the margin, reconcile to source, and stop before building the app.” No charts yet. The quarter has to foot to my own reporting first.
  3. Fix the joins. Reconciling surfaces them immediately. Mine caught a customer name mismatch and AWS Marketplace deals booking with no customer name at all.
  4. Then widen the scope. “Add software + AI spend; I’m building a dashboard of metrics CFOs care about.” Saying it that way caught a double-count between software expense and AI spend.
  5. Make AI spend answer for itself. “Show ROI on the AI spend, pull payroll as a headcount proxy.” Dollars tell you nothing. AI as a percentage of revenue, margin, and salaries by department tells you where to look.
  6. Insist on margin percentage, then rank the watch list by dollars. “Margin % not just $.” But for the accounts worth fixing: “Show me where changing spend moves it.” By absolute COGS, my top 12 accounts were ~49% of the total.
  7. Give every number a comparison. “Q2 in isolation doesn’t help, add Q1.” Then a six-month trend, then a rolling quarter, half, and full-year view.
  8. Ground the models in the books. “The capitalization tile is just modeling, pull what we actually have booked.” Real GL data replaced a guess and surfaced a live ASC 350-40 opportunity.
  9. Build it to survive next month. A refresh skill plus a monthly schedule, with projections that recompute each run instead of sitting hardcoded.

One rule underneath all of it: a number had to carry a decision or it didn’t make the page.

Want the full build log? All 11 prompts, what each one changed, and the findings from the sample dashboard. Download the full PDF here.

Once you’ve built it, the dashboard is yours. Refresh it whenever the questions come in.

Why this is the pattern to copy

Finance people keep asking me to send this over, and it isn’t because the dashboard is special. We’ve been handed slides for years when what we wanted was the working thing. Give a finance person the working thing and the steps to rebuild it, and we’ll take it from there.

If you’re already running CloudZero and Campfire, there’s nothing stopping you from opening Claude this afternoon and building your own.