List Website Articles
list_articlesList the website's articles (drafts and published), newest first. Optionally filter by status (e.g. 'draft', 'published').
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | ||
| website_id | Yes |
list_articlesList the website's articles (drafts and published), newest first. Optionally filter by status (e.g. 'draft', 'published').
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | ||
| website_id | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description is not burdened with safety disclosure. It adds useful behavioral context beyond annotations: the list includes both drafts and published (not only published), is newest-first, and can be filtered by status with example values. It does not mention pagination or return fields, but the annotation coverage lowers the bar and the added context is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core action and scope are front-loaded in the first sentence, and the optional filter is stated succinctly in the second with helpful examples. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with annotations covering safety, the description gives enough to invoke it correctly: resource, ordering, and optional filter. It does not describe the response structure or pagination, but no output schema exists to carry that burden, and the list semantics are clear from the name and description. Slightly more detail about what fields each article includes would push it higher, but it is adequate for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds value for the 'status' parameter by providing example values ('draft', 'published'), which the schema lacks. However, it does not clarify 'limit' (e.g., max results) or 'website_id', though those are reasonably inferable from titles and defaults. Partial compensation for a low-coverage schema earns a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') with a clear resource ('the website's articles') and adds scope ('drafts and published') and ordering ('newest first'). This distinguishes it from siblings like get_article (singular) and get_article_status (status-specific lookup) — an agent can tell exactly what this tool does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: when you want a list of articles with optional status filtering. However, it does not explicitly name alternatives or state when not to use it, such as pointing to get_article for a single article. The usage is implied rather than explicitly differentiated from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools target a distinct resource and action, making selection straightforward. Minor overlap exists between get_ai_search_traffic and get_search_performance's AI-assistant traffic section, and among the three search-performance reporting tools, but descriptions are clear enough to avoid major confusion.
All tools follow a consistent lowercase snake_case verb_noun pattern: check_, generate_, get_, list_, publish_, request_, run_. The verbs are descriptive and every noun object clearly identifies the resource being acted on.
At 18 tools the set is slightly above the ideal 3-15 range, but the scope is broad enough to justify it: website management, article generation, publishing, search analytics, AI search, indexing, backlinks, and auditing. No tool feels redundant enough to remove.
The surface covers the main SEO lifecycle well: websites, keyword plans, articles, publishing, search performance, indexing, backlinks, and audits. Obvious gaps are article update/delete operations and website removal, but agents can work around these for most core workflows.