Skip to main content
Each recipe below is a real question someone asks on a Monday morning. Every one gives you the single call that mostly answers it, the longer chain when the single call is not enough, a table mapping what you see to what it means, and — the part that matters — what the numbers genuinely cannot tell you. All calls assume you are connected to https://mcp.attensira.com/mcp — over OAuth or with a workspace API key; the recipes read the same either way. See the tool reference for parameters and the scope each tool needs, and Connect a client if you are not connected yet.

Find out where you lost ground this week

Start with workspace-level rates over a short window, then drill into the prompts that moved.
The chain
1

get_analytics area=visibility days=7

Establishes whether anything moved at all at the workspace level. If every delta comes back real: false, stop — there is nothing to explain.
2

get_analytics area=prompt days=7 order=worst_first limit=20

Ranks prompts by how badly you are doing on them, so the losses surface first rather than being averaged away.
3

get_analytics area=visibility, read the per-platform rows

The same call already splits the window by platform: one row each. A drop concentrated on one platform is a different problem from a drop across all of them. get_analytics area=platform filter=chatgpt opens one platform end to end, prompts included.
4

get_prompt, then answer_history, on the two or three worst movers

get_prompt says who was named and cited instead; answer_history returns the answers themselves, verbatim, which is the only place you find out why the model stopped naming you.
How to read it What this cannot tell you. A seven-day window on Starter sampling gives you very few readings per prompt, and a rate built on single-digit n swings hard for reasons that have nothing to do with you. Nothing here tells you why a model changed its answer: model providers swap the underlying models behind a surface without notice, and a rewritten system prompt on their side looks identical to a content problem on yours. You are seeing what changed, not who changed it.

See which sources the models trust in your category

Source share tells you which domains the models actually pull from when answering your prompts.
The chain
1

get_analytics area=source days=90 best_first

A long window, because source share is a distribution and short windows make it lumpy. best_first puts the most-cited domains at the top.
2

citation_timeline domain_or_url=<top domain> days=90

Splits one domain’s citations by platform and by day. Perplexity and ChatGPT lean on visibly different domain mixes, and a category-wide average hides that. deciding_sources ranks the same domains by influence over a decision rather than by count.
3

get_analytics area=page days=90

Shows where your own domain lands in the same window, so you can see whether you are in the mix at all.
How to read it What this cannot tell you. Source share is citations to a domain over all citations in the window — it is not traffic, authority, or influence on the answer text. A model can name your brand in prose while citing a competitor’s blog, and a model can cite a page it disagreed with. The list also reflects your prompts, not the category: if your tracked prompts skew to one topic, the source mix skews with them. Widen the prompt set before calling it a picture of the category.

Check whether a competitor is gaining

The chain
1

get_analytics area=competitor days=30

Gives each tracked competitor’s share of voice on the same denominator as yours.
2

get_analytics area=visibility days=30

Your own rate over the same window, so you can compare movement rather than levels.
3

get_analytics area=prompt days=30 order=worst_first

Finds the specific prompts where the gap lives. Competitors rarely gain evenly.
4

get_prompt on those prompts

Read the answers. What the model says about them is the actual competitive intelligence.
How to read it What this cannot tell you. These are not shares of a fixed pie. Competitor share of voice uses the same denominator as yours, so it measures how often a brand appears in your prompts’ answers — nothing about their overall market presence, spend, or growth. A competitor you have not registered with add_competitor is invisible here and will read as absent, which is not the same as not appearing. There is no sentiment measurement, so a mention that trashes them counts exactly like a recommendation.

Turn a losing prompt into a plan

The one prompt you keep losing is the most actionable object in the product.
The chain
1

get_prompt with the exact text or id, days=90

Returns per-model visibility rates and, in the same call, the competitors seen in this prompt’s answers and the sources those answers cited — no need to call get_analytics separately for either.
2

get_page on any of your URLs that did get cited

Tells you what already works, which is a better template than guessing.
3

answer_slice competitor_named=<rival> and answer_history on the prompt

The answers themselves, verbatim. Read what the model actually said before deciding what to change; a rate is a summary of these rows, not a substitute for them.
4

win_plan on the prompt

Free, and already ordered: what is deciding the answer today on each platform, the one next move per platform with the sentence of evidence behind it, and a credits estimate.
5

ask, passing what you found

Costs credits, and earns them here: the agent reasons across the slices you just pulled and drafts a plan. Poll get_session if it returns status: "running".
How to read it What this cannot tell you. Nothing here predicts that a change will work. There is no attribution path from a page edit to a later mention — you can only change something and re-measure after enough calendar days have passed to build a new n. Sampling is at most once per prompt per model per day, so a plan executed today shows its earliest possible signal tomorrow and a trustworthy one much later. Answers also vary run to run at the model’s discretion; a single collected answer is an anecdote.

Set up a weekly report

The chain
1

list_automations

Check what already exists. Two automations doing the same job bill twice.
2

create_automation

Free to create. Write the instruction to name the exact areas and windows you want, and to say explicitly that unproven deltas should be ignored. Pass tools if you want to restrict which tools this automation may call, and run_at_minute with a timezone to pin when it fires.
3

run_automation with an idempotency_key

Test it once now rather than waiting a week. The key prevents a retry from producing a second billed run.
4

get_automation

Read the run history to confirm it produced what you expected before trusting it unattended.
How to read it What this cannot tell you. A weekly cadence over a daily sampling floor means each report rests on at most seven readings per prompt per model — three times that on Growth and Business, since sampling depth is three there. That is thin for week-over-week comparison, and a digest that dutifully reports movement every week is reporting noise.

Audit which pages actually get cited

The chain
1

get_analytics area=page days=90 best_first limit=100

Ranks your own URLs by citation activity. Long window, because page-level citations are sparse.
2

get_page on the top few

Shows which prompts and which models each page earns citations from.
3

get_analytics area=bot days=90

Shows AI crawler activity against your site — which pages were fetched at all.
How to read it What this cannot tell you. Crawlers are not models: a crawler fetches pages, a model answers prompts, and a fetch is not a citation or a plan to make one. Crawler data also has a hard technical limit — AI crawlers do not execute JavaScript, so a client-side beacon, however written, has never seen one and never will; by the time the script runs, the only visitors left are humans with browsers. Use the install instructions the product generates at Settings for server-side collection. Finally, position is a mean index within a citation list per source domain — it is not a rank against competitors and cannot be read as one.

Where to go next

Before acting on any of these numbers, read Reading the numbers for how null, zero, small n, and unproven deltas differ. Full parameter detail for every tool is in the tool reference.