Putting a first AI visibility report in front of a client used to be the slow part. Set up a brand, write prompts, run them across four LLMs, scan the site, then rebuild all of it in a deck. Twenty clicks before you had anything to say.
That has changed. Since June 2026, AEO Copilot builds the report for you. There are two paths, depending on how deep you want to go.
The fast path: reports in the dashboard
Open any brand, go to Reports, and create one of two report types:
- Baseline: where the brand stands today. Visibility, sentiment, top competitors, and the priority fixes. The report you open a new engagement with.
- Pulse: what moved since the last run. The recurring report you send on a retainer.
The flow takes minutes. Run the prompts, add your agency's branding, write in your own notes and insights, then publish. Share it with a link or download the PDF and send it to the client. No deck-building afternoon, no separate layout tool. Reports are available to anyone, on any brand, and that covers most client work.
The deeper path: API, MCP, and Claude
When you want more than the standard report, you drive AEO Copilot from Claude instead. The API now exposes every answer the LLMs gave, so you can hand Claude the raw material and let it write sharper insights and recommendations than a fixed template can.
The real payoff is combining sources in one report. GSC data, AEO Copilot data, and your analytics, read together, is something no single dashboard owns. That is what the rest of this post covers.
> This is where AEO Copilot shines: not as a single tool, but as a source of data for your SEO and AEO team.
> Sofian Bettayeb, Founder
What the MCP server gives Claude
The MCP server exposes the whole AEO Copilot workflow as tools Claude can call.
Brand tools:
The server is open source, and the list keeps growing: github.com/sofianbettayeb/aeo-copilot-mcp.
Install
If you already have Claude Code, one command:
Or skip the command: point Claude at the repo and ask it to install the AEO Copilot MCP for you.
Get the key at Settings → API. It starts with aeo_.
For Claude Desktop, edit claude_desktop_config.json:
Restart and you are connected.
The workflow: client URL to report
Open Claude Code. Paste this:
> I want to run a baseline AI visibility audit for a new client. Their website is https://acme.com. They sell project management software for engineering teams. Main competitors are Linear, Jira, and Asana. Use the AEO Copilot MCP to: 1) create the brand, 2) create five topic clusters that match how their buyers search (comparison, jobs-to-be-done, evaluation), 3) write 5 prompts per topic, the prompts should focus on listing the best options 4) run a technical scan, 5) run the prompts across all four LLMs, 6) wait for results, then summarise visibility, sentiment, top competitors, and the three highest-priority recommendations.
Claude calls the tools in order. create_brand first, then five create_topic calls, then five add_prompts calls, then scan_brand and run_brand_prompts in parallel. Once the runs complete it pulls get_insights and get_recommendations and writes the summary.
The whole loop runs in a few minutes of wall time. Most of that is the LLMs answering the prompts; the orchestration itself is seconds.
What you get back
A short brief, in conversation, structured the way you would write it yourself:
Copy it into a doc, drop in screenshots from the dashboard, send.
What the report actually looks like
Here is a real one. Generated through the workflow above for Webflow, then laid out in a 6-page client-ready PDF by Flowsultants.
!Cover page: Webflow AI Visibility Baseline, composite score and executive scorecard
!Engine breakdown: ChatGPT, Claude, Perplexity, Google AIO with topic performance table
!3-step engagement plan and gap-prompts appendix
Open the full report (PDF, 6 pages) →
That example was hand-laid in a PDF. Today you generate the same thing natively: open the brand, go to Reports, create a Baseline, add your branding and notes, and publish. The deep, multi-source version below is for when the standard report isn't enough.
What this delivers for clients
Four things a client sees in 90 seconds, without you having to explain anything:
- A composite score with the math shown. Visibility 60%, technical readiness 25%, sentiment 15%. No black-box "AI score". Every input is visible and challengeable.
- A per-engine breakdown. Strong on ChatGPT and Claude, invisible on Google AIO. The fix list writes itself.
- A gap-prompts appendix. Every tracked prompt where the brand is missing in 0 or 1 of 4 engines, with the specific competitors winning each one. This is the page they keep open during the call.
- A 3-step engagement plan. Meet → Discovery → Project, with deliverables on each. Closes the report on a decision, not a vibe.
The whole document is generated from a single Claude Code conversation plus a layout template. Same workflow, swap the brand name, you have the next client report.
Why drive it from Claude at all
If the dashboard already publishes reports, why use the API and Claude for the deep version? Because of where AEO Copilot draws the line.
Most AEO tools are racing to build their own AI content agent inside a closed dashboard. AEO Copilot does the opposite. It hands Claude everything it has, the raw answers, the insights, the technical scan, and lets you and Claude decide what to do with it. The data is yours and the workflow is yours. The tool's job is to feed the model, not to be the model.
That opens up three things a fixed report can't do.
- Combine sources no single dashboard owns. Pull GSC, AEO Copilot, and your analytics into one view and let Claude reconcile them. Is visibility down because of AEO, or did organic traffic drop across the board? One report, one answer.
- Stay concrete, not hypothetical. Skip the "25% of search is moving to LLMs" industry stats. Lead with the prospect's own numbers: 40% mention rate, 9% share of voice against five named competitors, 12 prompts where they're missing. The conversation moves from "should we care" to "what do we do about these twelve prompts."
- Automate without a ceiling. Every step is a tool call. Wrap it in a slash command (
/audit https://newclient.com), schedule weekly re-runs, push competitor shifts into Slack, or generate twenty industry baselines overnight as outreach assets.
What to know before using it
A few honest considerations.
- It is a starting point, not a final answer. The auto-generated prompts cover the obvious buyer questions, but miss niche positioning, regional language, and the objections your client's sales team hears every week. Treat the first report as 70% done; the last 30% is human editing. Spot a topic where the brand should rank but doesn't? Add three to five sharper prompts and re-run just that topic with
run_brand_prompts, scoped by topicId.
- The fastest path to value is using it as a baseline. Run it on day one, run it again in 30 days. The delta is the deliverable, not the absolute number. Visibility went from 23% to 38% on Topic A while Topic B didn't move: that is what justifies the engagement.
- Layout only matters for the deep version. Baseline and Pulse reports already publish as branded, shareable documents. You only bring your own layout for the custom, multi-source report, and once you build that template the marginal cost per report is zero.
How I use it with your clients?
I run it before every discovery call. Not afterwards, not "we will send you a report next week." Before. The report is the meeting. I walk it in this order:
- Composite score and trend. Does the brand have a pulse in AI search at all?
- Engine breakdown. Which LLMs are giving them oxygen, which are not.
- Competitor share of voice. Five named competitors and their numbers. This is the page where the room goes quiet, because the prospect has not seen these numbers before, and they are usually losing.
That silence is the discovery call doing its job. The proposal almost writes itself.
Frequently asked questions
Can I generate white-label AI visibility reports programmatically via API?
Yes. The MCP and REST API return the data and the written summary; you drop both into your own layout template with your agency's branding. White-label reports are on the Freelancer plan and up. Build the template once and the marginal cost per client report is effectively zero.
Which AEO platform integrates with Claude Code or MCP for agency workflows?
AEO Copilot. The open-source MCP server exposes the full setup-and-run loop, creating brands, adding topics and prompts, running them across four LLMs, and scanning the site, as tools Claude Code can call. Most competitors offer an API at best, and only on higher tiers.
Can my agency automate client reporting with an API?
Yes. Every step is a tool call, so you can wrap the workflow in a slash command, schedule weekly re-runs, or generate a batch of baseline reports overnight as outreach assets. API and MCP access is on the Freelancer plan and up.
Does it work with my existing agent stack, or only Claude?
Any agent stack. The MCP server is a standard MCP server, so it works with any MCP-compatible client (Claude Code, Cursor, your own agents), and everything is also a plain REST API. That is how you scale across clients: batch the runs, schedule them, and pipe the white-label output wherever your reporting lives.
Where this is heading
The next pieces in the API are the industry indexes, which are brand-agnostic: track every entity cited across a category, not just one brand. Useful for pitches where the prospect has not picked a horse yet, or for the discovery phase before there is even a website to audit. They are already in the MCP server. There is a separate post on those.
For now: install the MCP, point Claude Code at a client URL, see how short the loop gets.
Get your API key →