You have probably been doing AEO and GEO manually.
Run a query through ChatGPT. Eyeball whether your brand shows up. Copy the citation URLs into a spreadsheet. Repeat next week with a slightly different list. Wonder whether anything you did mattered.
That workflow does not scale past about ten queries. I know because I tried.
The fix is to build an AEO/GEO agent that does this automatically. Hermes Agent is the right tool for the job. Persistent memory, MCP support, multi-channel alerts, all the right primitives. This article walks through the full setup.
By the end you will have an autonomous agent that runs your AEO/GEO loop daily, stores the data, and pings you when something changes. Setup time is one evening. Running cost is around $20 to $80 per month depending on how many queries you track.
The problem with how teams do AEO and GEO today
Two patterns dominate, and both are bad.
Pattern one: people pay for SaaS tools. Otterly, Frase, HubSpot AEO, Siftly. These work fine but cost $50 to $200 per month per brand and lock you into their workflows. You cannot easily run custom analyses. You cannot modify the alert logic. You cannot add new query templates without their roadmap.
Pattern two: people do it manually with a spreadsheet. They run queries by hand once a week, paste results into a sheet, and try to spot trends. This works at small scale and falls apart fast. Past about fifteen queries, manual work eats your week.
The third option is to build an agent. Until April 2026 this was not really practical. The components were too immature.
Hermes Agent ships MCP OAuth 2.1 (April 8 release), persistent memory, and seventeen messaging gateways. MentionsAPI ships an MCP server that exposes brand monitoring as native Hermes tools. The combo makes the agent option finally feasible.
This is the third option. Build an agent that runs your AEO and GEO workflow on autopilot, costs less than the SaaS tools, and lets you change the logic whenever you want.
What the agent will do
Concrete output. Daily, the agent will:
- Run your priority queries through four AI engines (ChatGPT, Claude, Gemini, Perplexity) plus three search surfaces (AI Overviews, AI Mode, Bing Copilot).
- Extract whether your brand was mentioned, where in the response, and which URLs were cited.
- Compare today's results to yesterday's (using Hermes's memory).
- Alert you on Slack when something changes meaningfully (rank drop, new competitor, citation source change).
- Log everything for weekly summary.
The five steps
Linux, macOS, or WSL2. One command:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
This installs Hermes globally and creates a config directory at ~/.hermes/. Inside it you will find config.yaml, the file you will edit next.
Verify the install with hermes --version. You should see something like v0.11.0 or later. The official quickstart at hermes-agent.nousresearch.com covers platform-specific gotchas.
Open ~/.hermes/config.yaml. Add this block at the top level:
mcp_servers:
mentionsapi:
url: "https://mentionsapi.com/mcp/sse"
headers:
Authorization: "Bearer YOUR_MENTIONSAPI_KEY"
connect_timeout: 60
timeout: 180
tools:
include:
- check_brand
- discover_queries
- extract_brands
- usageReplace YOUR_MENTIONSAPI_KEY with your actual key from the MentionsAPI dashboard. The tools.include filter is optional. It limits which MentionsAPI tools Hermes sees. Fewer tools is usually better because it reduces token usage.
Save the file. In Hermes, run /reload-mcp. You should see a confirmation that mentionsapi connected and the tools were registered.
This is where you tell Hermes what the agent should do. In the Hermes interactive shell, type something like this (or save it as a system prompt):
You are an AEO and GEO monitoring agent. Daily at 09:00 UTC, run mentionsapi.check_brand for the brand "[YOUR_BRAND]" against these prompts: - [prompt 1] - [prompt 2] - [prompt 3] - [prompt 4] - [prompt 5] Use mode "all_live" so we get both API and UI data. Compare today's results to yesterday's results stored in memory. Alert me on Slack channel #aeo-watch if any of these are true: - Brand rank dropped by 2 or more positions on any prompt - Brand was previously mentioned and is now absent - A new competitor appeared in the top 3 on any prompt - The citation URLs changed for any prompt Otherwise, do not send any message. Just store the data. Once a week (Mondays at 09:30 UTC), generate a summary of the week's data and post it to #aeo-weekly with: average rank, share-of-voice change, new competitors detected, top citation sources, and one specific recommendation for the upcoming week.
Replace [YOUR_BRAND] and [prompt N] with real values. Five prompts is the sweet spot for starting out.
Notice what we are doing here. We are not telling Hermes how to call the API or how to format the response. We are telling it the goal and the alert criteria. Hermes figures out the rest. This is the agentic part.
For scheduling, Hermes has a built-in scheduler. The simplest path is via the config:
schedules:
aeo-daily:
cron: "0 9 * * *"
task: "Run the daily AEO check"
aeo-weekly:
cron: "30 9 * * 1"
task: "Run the weekly AEO summary"
gateways:
slack:
bot_token: "xoxb-..."
default_channel: "#aeo-watch"
weekly_channel: "#aeo-weekly"The Slack bot token is generated from a Slack App you create in your workspace. The Hermes docs cover the Slack app setup if you have not done it before.
Test before you trust. Run a manual check:
You: Run the AEO check now for the prompt "best AI brand monitoring tools."
The agent should:
- Call mentionsapi.check_brand with that prompt and your brand.
- Return a structured response with rank, sentiment, citations.
- Compare against memory (which is empty on first run).
- Decide there is nothing to alert about and not send a Slack message.
If all four happen, the workflow is working. If the agent calls the wrong tool, asks for clarification, or fails silently, your prompt to the agent needs more specificity. Adjust and re-test.
What to expect in the first month
Some sample numbers from a typical setup running for two weeks.
Week two settles. Most days have zero alerts. The two days that do have useful information. One is typically a competitor that broke into the top three on a prompt you care about. The other is often a citation source change on Perplexity that points to a better-ranked URL.
Compare to running this in a SaaS tool: $50 to $100 for the same period. The cost story is the picks-and-shovels argument in real money.
The mistakes I see in agent setups
Three.
First mistake: too many prompts on day one. Five is plenty. I have seen people start with twenty and abandon the project a week later when their Slack channel becomes unreadable. Start with five. Add five more in week three if you have headroom.
Second mistake: not using Hermes's memory layer. Some setups configure the agent to alert on every change, regardless of comparison to history. The result is alert spam. The fix is to always include "compare to yesterday's result and only alert on meaningful deltas" in your prompt.
Third mistake: configuring the agent and then forgetting it. The whole point of the agent is that it tells you when to pay attention. But the configuration itself needs review. Once a month, look at what alerts you got. Were they useful? Did you act on them? If yes, leave the config. If no, tighten the criteria.
Frequently asked questions
How long does the full setup take?
Can I run this on a hosted server or do I need my own infrastructure?
What is the actual cost of running this for a month?
Do I need a separate API key for each AI engine?
Can the agent also do prompt discovery?
What about non-English markets?
Is Hermes Agent stable enough for production work?
The setup is the easy part
Most of the value of this stack is not in the setup. It is in the iteration over the next three months.
Week one is about getting it running. Week two is about tuning the alert thresholds. Month two is about adding new prompts and brands. Month three is about expanding into new tasks (citation gap analysis, competitor share-of-voice, prompt discovery).
Set up the agent tonight. Tune it next week. Stop logging into a SaaS dashboard. Let the agent tell you when something deserves your attention.