Skip to main content
Glama

Suggest SEO keywords

suggest_keywords
Read-only

Suggest target search keywords for one page (page_slug) or every page, drawn from the site's own content: six to ten typed options per page (branded, service, long-tail, location, intent), a primary keyword, and the search intent, avoiding the same primary keyword on two pages. Each option carries its measured monthly Google searches in the site's country (search_volume; 0 or null means almost nobody searches it), and when nobody searches the primary pick, better_primary_keyword names the strongest option that people do search. Results are cached for 24 hours; force_refresh generates new ones. Changes no page — apply the ones the user picks with update_page_seo.

Input Schema

NameRequiredDescriptionDefault
site_idYesThe site, from list_sites
page_slugNoOne page, e.g. "/" or "/services". Omit for every page.
user_goalNoOptional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details.
force_refreshNoIgnore the 24-hour cache

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / user_goal
      Added value: +{
      +  "description": "Optional: the user's goal behind this call, in one short sentence of plain words (e.g. \"add a page so customers can book tables\"). No names, emails or other personal details.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavior beyond the annotations: 24-hour result caching, a cross-page constraint (never reuse a primary keyword on two pages), and value semantics for search_volume ('0 or null means almost nobody searches it'). All of this is consistent with readOnlyHint=true and destructiveHint=false, and the explicit 'changes no page' statement reinforces the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and every clause carries information — output composition, dedup rule, volume semantics, cache, and the write handoff. It is dense to the point of being a single long run-on block, which hurts skimmability slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the full burden of describing returns, and it does: option types, primary keyword, search intent, per-option search_volume with null/0 meaning, and better_primary_keyword fallback. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description earns more: it explains that page_slug may be omitted to cover every page and gives the cache rationale that makes force_refresh meaningful. It says nothing about user_goal or site_id, which are left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (suggest target search keywords) and scopes it precisely to one page or every page. It distinguishes itself from application tools by naming update_page_seo as the write path, and its output shape (6-10 typed options + primary keyword + intent) is unique among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit handoff: 'Changes no page — apply the ones the user picks with update_page_seo,' plus the force_refresh condition for bypassing the 24-hour cache. It does not say when to prefer this over check_keyword_demand, the closest sibling for keyword demand lookups, so one routing gap remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources