Guides

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.

Keats, from PressRoom. Updated Read as markdown

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 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). 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: 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

  1. You

    Run this week's Keats review for SIE.

  2. Reads this week's numbers from KeatsShow what came back
    {
      "offering": "SIE exam prep",
      "answers": 312,
      "namedWhenBuyersChoose": {
        "percent": 55.4,
        "aim": 80,
        "changePoints": 0.8
      },
      "topRival": {
        "brand": "Testwise",
        "percent": 62.3
      },
      "belowAim": {
        "count": 18,
        "of": 24
      },
      "topCard": {
        "id": "33544d90…",
        "type": "new_page",
        "title": "Publish a page answering “Is there an SIE prep course with a pass guarantee?”"
      }
    }
  3. 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.

  4. Gets the brief for the top piece of workShow what came back
    {
      "gap": "Named in 8 of 26 answers on 2 questions, aiming for 80%. Testwise and Passmark are named instead.",
      "page": "https://prepco.example/sie/pass-guarantee/",
      "targetQuestions": [
        {
          "text": "Is there an SIE prep course with a pass guarantee?",
          "rate": 23,
          "bar": 80
        },
        {
          "text": "What's the cheapest SIE prep that's good enough to pass?",
          "rate": 38,
          "bar": 80
        }
      ],
      "requiredStructure": [
        "One page per question: the H1 is the question (\"Is there an SIE prep course with a pass guarantee?\") or its closest natural title, at the brief's proposed path.",
        "Answer first: the first two sentences under the heading answer the question directly, with the brand named in them."
      ],
      "…": "quotes, pages cited, rivals named instead, acceptance criteria"
    }
  5. 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 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.

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 have them, and /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): 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 explains the method either way. You can see the loop on our own brand on Keats on Keats.

Sources

  1. Model Context Protocol: What is MCP?, read November 12, 2026
  2. Keats: eight ChatGPT answers to buyers' questions about AEO tools (CSV), read November 12, 2026
  3. Keats: llms.txt, the operations and workflows for agents, read November 12, 2026

Track these questions every week

Keats asks your buyers' questions on five assistants every week, shows where you're left out, and has your agent do the work. A person reads every early-access request.