docs / mcp / prompting-guide

Sentrum MCP Prompting Guide

How to get the best answers out of Sentrum from Claude Code, Claude Desktop, Cursor, and any other MCP-capable AI client. Covers tool reference, prompt patterns, and the workflows we use ourselves.

What this is

Sentrum runs an MCP (Model Context Protocol) server at https://sentrum.app/api/mcp. Any MCP-capable AI client — Claude Code, Claude Desktop, Cursor, or your own agent — can connect with an API key and call five tools that read your Meta ad account, with the same multi-pass diagnostic engine that powers the dashboard behind them.

This guide is the prompt-side reference: how to phrase requests so the AI reaches for the right tool, what each tool actually returns, and the patterns that produce high-signal answers vs the ones that produce generic noise.

For the protocol-level reference (JSON-RPC schema, auth headers, error codes) see /docs/api. For the strategic positioning of why MCP-first matters see the /connect-to-claude page.

Quick start

Three steps, two minutes:

  1. Generate an API key in Settings → API Keys.
  2. Drop this config into your MCP client (Claude Code shown):
claude_desktop_config.json
{
  "mcpServers": {
    "sentrum": {
      "url": "https://sentrum.app/api/mcp",
      "headers": {
        "Authorization": "Bearer skx_live_..."
      }
    }
  }
}

3. Restart the client. In a chat, ask something campaign-flavoured — e.g. "What changed in my Meta account this week?" — and Claude will reach for sentrum.getCampaignDiagnostics on its own.

On free + Pro plans you get unmetered MCP reads. The Developer ($99) tier adds webhook subscriptions and the ability to register your own custom MCP tools that run server-side against your workspace.

Tool reference

Five tools. Each one is read-only; nothing writes to Meta.

sentrum.getCampaignDiagnostics

Get campaign-level KPIs, detected anomalies, and the multi-pass diagnosis narrative. This is the headline tool.

Inputs

campaignIdstringSpecific campaign ID. Omit for account-level overview.
dateRange"7d" | "14d" | "30d" | "90d"Window to diagnose. Default: 7d.

Sample prompt

prompt
Diagnose campaign 1234567890 for the last 30 days. Tell me what changed, why, and what to do about it.
sentrum.getCreativeAnalysis

Top creatives by spend with health status, fatigue signals, and Gemini vision analysis (hook type, message theme, visual style).

Inputs

topNnumberHow many to return. Default: 10.

Sample prompt

prompt
Pull my top 5 creatives by spend. Flag any with fatigue and tell me what's working in the winners — are they UGC, studio, before/after?
sentrum.getAccountContext

Sentrum's memory of this account — computed baselines, detected patterns, recent anomaly alerts. Useful as context before any diagnosis question.

Sample prompt

prompt
Before I ask any specific question, give me the account context — what baselines have you learned, what patterns do you see?
sentrum.getRecommendations

Pending action recommendations with severity, specific action text, and Ads Manager deeplinks.

Inputs

status"pending" | "approved" | "dismissed" | "all"Default: pending.

Sample prompt

prompt
What are my open recommendations? List by severity. For each, tell me the specific action and the Ads Manager link to take it.
sentrum.askQuestion

Natural-language Q&A with full account context. Use when the structured tools don't fit — comparative questions, hypotheticals, follow-ups.

Inputs

questionstringrequiredYour question.

Sample prompt

prompt
If I shift 30% of spend from Campaign A to Campaign B, what does Sentrum think happens to my blended CPA?

Prompt patterns

These patterns produce sharper answers than generic "look at my account" prompts.

Diagnose (What/Why/SoWhat/NowWhat)

Sentrum's diagnostic engine is built around four moves: what changed, why, so what, now what. Ask in those terms and you get structured answers, not just metric dumps.

prompt
For campaign 1234567890 over the last 14 days vs the prior 14:
1. What changed materially (>10% on spend, results, or CPR)?
2. Why — pick at most 2 drivers from spend, CPM, CTR, CVR, mix shift, edits.
3. So what — is this good/bad, and is there risk or opportunity?
4. Now what — give me one specific action with expected impact.

Compare

Comparisons surface mix shifts and segment outliers better than aggregate questions. Be explicit about the comparison axis.

prompt
Pull my top 10 creatives by spend. For each, show CPR vs the account average.
Group winners (≤ avg) vs losers (> avg). For the losers, suggest one
diagnostic question I should ask before pausing them.

Hypothesize

Use askQuestion for "what if" — Sentrum will reason against your account baselines and patterns, not just current snapshot data.

prompt
My monthly budget is $30k. If I cap frequency at 2.5/7d on every ad set
that's currently over 3.5, what's your best guess for next-week ROAS?
Reason against my account baselines for CPM and CTR.

Narrate to a stakeholder

Sentrum can produce client-ready language — name the audience explicitly so the register matches.

prompt
Write a 4-sentence Slack update for my CMO explaining why our blended
ROAS dropped from 3.2x to 2.6x this week. No jargon, no "the algorithm",
include one concrete next step.

Workflows we use

Three workflows that consistently produce useful output:

Morning diagnostic (5 min)

  1. getAccountContext — refresh memory of baselines + open patterns
  2. getCampaignDiagnostics with no campaignId — account-level overview
  3. getRecommendations — surface pending actions
  4. Ask: "Which of these is the single highest-leverage thing I should do in the next 30 minutes?"

Weekly review (20 min)

  1. getCampaignDiagnostics with dateRange: "14d"
  2. getCreativeAnalysis with topN: 20
  3. "For each campaign whose CPR worsened >15% week-over-week, walk through the WhyWhat/SoWhat/NowWhat."
  4. "Draft a 1-page client recap I can paste into email."

Creative ideation (15 min)

  1. getCreativeAnalysis with topN: 10
  2. "Cluster these by hook type and message theme. Which combinations win?"
  3. "Draft 5 new ad scripts (15s, UGC voice) that ride those winning combinations but tweak one variable each — different angle, hook, or proof."

Troubleshooting

The AI keeps reaching for askQuestion when a structured tool would be faster.
Tell it to use a specific tool by name in your prompt. Example: "Use sentrum.getCampaignDiagnostics for campaign X over 14 days, then summarize."
Tool returned "no_data".
Your Meta sync may still be running. Sentrum syncs structure + insights in parallel after onboarding; first dataset usually lands within 90 seconds. Hit getAccountContext first — if baselines are empty, the sync hasn't completed yet.
Auth fails with 401.
Make sure the key starts with skx_live_ or skx_test_, that you're sending it as Authorization: Bearer ..., and that the workspace tied to the key still exists.
Rate-limited.
MCP shares the same per-workspace AI rate limits as the dashboard. On Pro that's 200 AI calls / day. The Developer ($99) tier raises this to 2,000 / day and adds webhook subscriptions for push-style updates.