# AEO with your AI agent: the weekly loop over MCP

> In short: Yes. Connect your agent to Keats's MCP server with one command and an API key. Each week it reads which questions leave your brand out, takes the top card's brief, drafts the page or the fix, and, once you've published it, reports the URL so Keats can tell you at day 21 and day 35 whether it worked. Nothing is published without you.

Guide from Keats, published 2026-11-12, updated 2026-11-13. Canonical: https://getkeats.com/guides/aeo-with-your-ai-agent

Most AEO tools are dashboards: they show you a number and leave the work to you. If you already have an AI agent that writes, edits and files tickets, the useful question is whether the tool can hand that agent the work directly. With Keats it can, over MCP.

## What MCP is, briefly

The [Model Context Protocol](https://getkeats.com/glossary/mcp) is, in its maintainers' words, "an open-source standard for connecting AI applications to external systems". Claude, ChatGPT, Cursor and VS Code all support it. An MCP server offers tools (things the agent can call) and prompts (workflows the agent can follow). Keats's server offers both: every operation in the app, and the weekly workflows written as prompts.

When we asked ChatGPT for "an AEO tool that works with my AI agent through MCP", it named six products, AEO Goal, VibeSEO, AEOmeter, AEO Copilot, Conductor and AEO Content, each cited only from its own website ([the sample](https://getkeats.com/data/chatgpt-sample-2026-11-12.csv)). No roundup covers the question yet, which is why this page exists.

## Set it up in three steps

1. **Create a key.** In Keats, Settings, then API keys. A key belongs to one workspace and is read-only or read-write.
2. **Add the server.** In Claude Code it's one line:

   ```
   claude mcp add --transport http keats https://getkeats.com/mcp --header "Authorization: Bearer $KEATS_API_KEY"
   ```

   Cursor, Claude Desktop and other MCP clients take the same address and header.
3. **Ask it to work.** "Run this week's Keats review for SIE" reads one offering; "Run this week's Keats cycle for our brand" reads them all.

![Settings, API keys: connect your agent in three steps: create a key for this workspace, add the Keats MCP server with one command, and ask it to work.](https://getkeats.com/marketing/shots/api-keys.webp)

*Settings, API keys: create a key, add the server with one command, ask your agent to work (demo workspace).*

## One weekly cycle, as it ran

Here is a real session on our demo workspace, where Prepco is a made-up exam-prep brand. The agent was asked for the week's review; it called two tools and drafted the top card. Open each call to see exactly what Keats returned.

A recorded session, on the demo workspace:

**You:** Run this week's Keats review for SIE.

*Calls `get_weekly_read`*

**Your agent:** Prepco is named in 55% of buying answers, against an aim of 80%; Testwise is named in 62%. 18 of 24 questions are below their aim. The top card is “Publish a page answering “Is there an SIE prep course with a pass guarantee?””. I'll get its brief.

*Calls `get_brief`*

**Your agent:** Drafted /sie/pass-guarantee/ from the brief: the question as the title, the answer in the first two sentences, and a comparison table. It's in your review queue. Once it's live I'll tell Keats the URL, and Keats will read the result at day 21 and day 35.

Three things happened that a dashboard can't do for you. The agent read the week as numbers with their aims (Prepco named in 55% of buying answers against an aim of 80%). It took the top [action card](https://getkeats.com/glossary/action-card) and opened its brief, which lists the target questions, who is named instead, the pages the assistants cited and how the page should be written. And it drafted the page into a review queue rather than publishing it.

## What the agent may and may not do

- **It may read everything** in the workspace its key belongs to: weekly reads, answers, sources, cards, briefs and results.
- **With a read-write key it may** approve or reword questions you asked it to, file a ticket per card and link it, and report work live.
- **It doesn't publish.** Keats never writes to your site, and the server's instructions tell the agent to ask before anything goes out. The draft goes wherever your agent drafts: a pull request, your CMS's drafts, a doc.
- **It can't see what it costs us** or change your plan. Limits come back as plain messages ("this plan tracks up to 200 questions") with what to do next.

## Reporting the work starts the proof

When the change is live, the agent calls `complete_action` with the page's URL and the date it went live. That one call schedules the evaluation: Keats compares the questions the card targeted with the questions nobody touched, and reads a verdict at day 21 and again at day 35. Work done outside a card can be reported too (`record_external_work`), so it's measured the same way and the diagnosis leaves those questions alone while it settles.

![Did it work? A finished card's evaluation: the questions it targeted against the ones it didn't touch, before and after, with the verdict at day 21 and day 35.](https://getkeats.com/marketing/shots/action-verdict.webp)

*The verdict on a finished card: targeted questions against untouched ones, before and after (demo data).*

## Without MCP: the API

Scripts and agents that don't speak MCP use the REST API at `/api/v1`, which is generated from the same list of operations, so the two can't drift. The quickstart is four calls: list offerings, read the week, get a brief, report the work live. The [API docs](https://getkeats.com/docs/api) have them, and [/llms.txt](https://getkeats.com/llms.txt) lists every operation and workflow for agents that read docs before they act.

## Is this for you?

If you or your team already use an agent for writing or engineering, yes (agencies running many clients this way should read [AEO for agencies](https://getkeats.com/guides/aeo-for-agencies)): AEO turns into a weekly ticket your agent works, with a person approving what ships. If you don't, the app does the same loop for people, and our guide on [getting named in ChatGPT](https://getkeats.com/guides/get-named-in-chatgpt) explains the method either way. You can see the loop on our own brand on [Keats on Keats](https://getkeats.com/keats-on-keats).


## Your agent does this

Start with: "Run this week's Keats cycle for our brand and file a ticket for every card." The `weekly_cycle` prompt walks the whole loop, asks before it retires or adds questions, and never publishes anything itself.

## Sources

- [Model Context Protocol: What is MCP?](https://modelcontextprotocol.io/docs/getting-started/intro), read 2026-11-12
- [Keats: eight ChatGPT answers to buyers' questions about AEO tools (CSV)](https://getkeats.com/data/chatgpt-sample-2026-11-12.csv), read 2026-11-12
- [Keats: llms.txt, the operations and workflows for agents](https://getkeats.com/llms.txt), read 2026-11-12
