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:
- Generate an API key in Settings → API Keys.
- Drop this config into your MCP client (Claude Code shown):
{
"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.getCampaignDiagnosticsGet 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
Diagnose campaign 1234567890 for the last 30 days. Tell me what changed, why, and what to do about it.sentrum.getCreativeAnalysisTop 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
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.getAccountContextSentrum's memory of this account — computed baselines, detected patterns, recent anomaly alerts. Useful as context before any diagnosis question.
Sample prompt
Before I ask any specific question, give me the account context — what baselines have you learned, what patterns do you see?sentrum.getRecommendationsPending action recommendations with severity, specific action text, and Ads Manager deeplinks.
Inputs
status"pending" | "approved" | "dismissed" | "all"Default: pending.Sample 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.askQuestionNatural-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
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.
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.
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.
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.
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)
getAccountContext— refresh memory of baselines + open patternsgetCampaignDiagnosticswith no campaignId — account-level overviewgetRecommendations— surface pending actions- Ask: "Which of these is the single highest-leverage thing I should do in the next 30 minutes?"
Weekly review (20 min)
getCampaignDiagnosticswithdateRange: "14d"getCreativeAnalysiswithtopN: 20- "For each campaign whose CPR worsened >15% week-over-week, walk through the WhyWhat/SoWhat/NowWhat."
- "Draft a 1-page client recap I can paste into email."
Creative ideation (15 min)
getCreativeAnalysiswithtopN: 10- "Cluster these by hook type and message theme. Which combinations win?"
- "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
askQuestionwhen 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
getAccountContextfirst — if baselines are empty, the sync hasn't completed yet. - Auth fails with 401.
- Make sure the key starts with
skx_live_orskx_test_, that you're sending it asAuthorization: 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.