List Sites
list_sitesList the Spook sites on the account this API key belongs to, with each site's id, domain, autopilot state, and publishing setup. (requires an agent API key)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
list_sitesList the Spook sites on the account this API key belongs to, with each site's id, domain, autopilot state, and publishing setup. (requires an agent API key)
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds valuable context beyond annotations: it specifies the account scope and the agent API key requirement, which are not in the annotations. It does not discuss pagination or rate limits, but for a simple read-only list operation, the added context is sufficient.
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?
The description is a single sentence that is front-loaded with the verb 'List' and the resource, then provides the necessary scope, output fields, and auth requirement in a compact form. Every phrase 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?
This is a simple listing tool with no parameters and a read-only annotation. The description adequately covers what it lists, the fields included, the scope, and the auth requirement. Since there is no output schema, listing the output fields directly fulfills the need for return-value transparency.
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?
The tool has zero parameters, so the baseline is 4. The description compensates by explaining the implicit scope (the API key's account) and the output fields, which gives meaning beyond the empty input schema. No parameter details are needed.
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 clearly states the action ('List') and the resource ('Spook sites') with a specific scope ('on the account this API key belongs to'). It also enumerates the returned fields (id, domain, autopilot state, publishing setup), distinguishing it from sibling listing tools like list_articles and list_opportunities.
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 use: it lists all sites for the current API key's account. It mentions a prerequisite ('requires an agent API key'), which is useful. However, it does not explicitly contrast with alternatives like get_site or list_articles, so it stops short of a full 5.
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 have distinct purposes, but word-counter and character-counter overlap heavily, and meta-tag-generator subsumes several other generators (title, description, canonical). The sheer number of adjacent content generators creates some ambiguity, though descriptions generally clarify.
Tool names are inconsistent: some use snake_case (create_site, get_article, list_articles) while others use hyphenated lowercase (ad-copy-generator, meta-tag-generator, robots-txt-generator). This mixing of conventions makes it hard for an agent to predict the name for a given action.
With 59 tools, the server is heavily over-scoped for a typical MCP server. Many tools are similar (various calculators, many content generators) and could be consolidated, making the surface bloated and harder to navigate.
The server covers a broad range of SEO tasks: site management, article generation/publishing, analytics, technical SEO, and content tools. However, there are gaps such as missing update/delete operations for articles and no backlink analysis, leaving some workflows incomplete.