Platform

AEO Website Research-grade Content Content Factory About Audits Rankings Pricing

Resources

Knowledge Base Research Docs FAQ

Content Tools

Create topics, save articles, get benchmarks, and manage the content pipeline with MCP tools.

aeo_list_topics

List content topics with optional status filter. Shows title, keywords, priority, and status. Results are ordered by priority (highest first), then by creation date.

Parameters

NameTypeRequiredDescription
statusstringOptionalFilter by status: suggested, approved, in_progress, in_review, published, rejected, archived
limitnumberOptionalMax results to returnDefault: 50

Example

json
aeo_list_topics({ status: class="code-string">"approved", limit: 10 })

aeo_create_topic

Create a new content topic for tracking. Sets status to approved and source to manual. Priority defaults to 50.

Parameters

NameTypeRequiredDescription
titlestringRequiredTopic title
keywordsstring[]OptionalTarget keywords
descriptionstringOptionalAdditional context or notes

Example

json
aeo_create_topic({
  title: class="code-string">"How to Add Schema.org Markup for AI Visibility",
  keywords: [class="code-string">"schema.org", class="code-string">"structured data", class="code-string">"AEO"]
})

aeo_update_topic_status

Approve, reject, or archive a content topic. Use after reviewing topics from aeo_list_topics. Rejection requires a reason and increments the topic's rejection count.

Parameters

NameTypeRequiredDescription
topic_idstringRequiredTopic UUID
statusstringRequired"approved", "rejected", or "archived"
rejection_reasonstringOptionalRequired when status is "rejected"

Examples

json
class=class="code-string">"code-comment">// Approve a topic
aeo_update_topic_status({ topic_id: class="code-string">"abc-123", status: class="code-string">"approved" })

class=class="code-string">"code-comment">// Reject with reason
aeo_update_topic_status({
  topic_id: class="code-string">"abc-123",
  status: class="code-string">"rejected",
  rejection_reason: class="code-string">"Too similar to existing article on Schema.org"
})
Typical workflow: aeo_list_topics (browse suggested) → aeo_update_topic_status (approve best ones) → write article → aeo_save_article.

aeo_save_article

Save a completed article to pipeline executions as a draft. Stores TypeScript source code and metadata. The article enters the review workflow with draft status.

Parameters

NameTypeRequiredDescription
topic_titlestringRequiredArticle topic title
content_tsstringRequiredFull article as TypeScript KnowledgeTopic source code
word_countnumberRequiredTotal word count
slugstringRequiredURL slug for the article

aeo_publish_article

Publish an article by updating its review status to published and creating a published articles record. Optionally link to a CMS connection for Webflow publishing.

Parameters

NameTypeRequiredDescription
execution_idstringRequiredPipeline execution ID to publish
connection_idstringOptionalCMS connection ID (optional, for Webflow etc.)

aeo_get_benchmarks

Get sector and category benchmark averages, score ranges, and domain counts. Returns data for each category in the benchmark taxonomy, including average score, min/max range, and the number of audited domains.

Parameters

NameTypeRequiredDescription
sector_slugstringOptionalSector slug (e.g., "saas-productivity", "healthcare")
category_namestringOptionalCategory name (e.g., "Project Management")

Example

json
aeo_get_benchmarks({ sector_slug: class="code-string">"saas-productivity" })

Example Response

response
[
  {
    class="code-string">"sector_slug": class="code-string">"saas-productivity",
    class="code-string">"sector_name": class="code-string">"SaaS & Productivity",
    class="code-string">"category_name": class="code-string">"Project Management",
    class="code-string">"domain_count": 18,
    class="code-string">"average_score": 58,
    class="code-string">"min_score": 31,
    class="code-string">"max_score": 82,
    class="code-string">"score_range": class="code-string">"31-82"
  }
]
Use aeo_get_benchmarks to pull real sector averages and score ranges when writing articles. This provides concrete data points that make content more authoritative.