Choosing a domain
Every domain-scoped tool takes an optionaldomainId. It accepts a domain ID, a host (brand.com, https://www.brand.com/) or a brand name. When it is omitted, Aeolo uses the account’s only domain, or the domain your last MCP call used. If neither applies, the tool answers with a plain-text list of domains to choose from.
You do not need to call aeo_list_domains to look up an ID.
One tool per operation
The public endpointhttps://mcp.aeolo.io/mcp exposes one tool for each thing you do in a conversation. Each has its own input schema and annotations.
Full command surface
https://mcp.aeolo.io/mcp?surface=full adds two command gateways for power users and coding agents: aeo_read (any read-only registry command, as text) and aeo_execute_command (any write, job or publish command). Same OAuth and tokens as the public endpoint.
aeo_read
Runs a read-only command through the Aeolo command registry and returns text. It never spends credits or changes data, so clients do not ask for approval, and it draws no widget. Use it to gather facts before answering.
A write command sent to
aeo_read is refused with a pointer to aeo_execute_command.
Good first reads:
aeo_execute_command
Runs a command that writes, starts a job, spends credits or publishes. Clients treat it as destructive and ask the user before each call.
A
read_write token is required.
View tools
aeo_list_domains, aeo_get_visibility, aeo_get_performance, aeo_get_audit, aeo_get_traffic, aeo_get_content_list, aeo_get_image_gallery, aeo_get_prompts, aeo_get_channels and aeo_get_automation render an interactive Aeolo view in clients that support MCP Apps. Call them when the user asks to see that data. The text result carries the same data, so the model can reason over it too.

