Skip to main content
Glama

SEO: Start research

seo_start_research

Start an SEO research. Either pass project_id to re-run an existing project, or pass name + seed_keywords (and optionally the market, languages, city, budget and website_id) to create a project and start it. SPENDS AI credits: the collection fee is charged at start, later stages charge as they begin — call seo_estimate first and tell the person the price. A re-run of a project whose clusters were edited by hand is refused until confirm_rerun=true: manual edits are carried over to the new clusters by head keyword — say so before re-sending. Only one research runs per workspace at a time; follow progress with seo_project_status. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "seo_start_research"
  }
}

Input Schema

NameRequiredDescriptionDefault
cityNoOptional target city (key or name, e.g. «Київ»). Empty = whole country; queries naming another city are kept outside the plan.
nameNo
languagesNoQuery languages to collect, site language first, e.g. ["uk","ru"]. Non-site queries are translated and clustered together with the rest.
project_idNoSEO project id as returned by seo_list_projects.
website_idNoThe workspace's own site the research is for.
confirm_rerunNoRe-run a project with hand-edited clusters (edits are carried over).
language_codeNoThe SITE language (default uk). Proposals are written in it.
location_codeNoMarket: 2804 Ukraine (default), 2276 Germany.
seed_keywordsNoStarting phrases describing the business, e.g. «шиномонтаж».
budget_keywordsNoCore keywords to collect (default 3000). Drives the price.
serp_verify_top_nNoHow many top keywords get their Google top-10 checked (default 100).
competitor_domainsNoUp to 5 competitor domains whose ranking keywords to pull in.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only say it is not read-only, not destructive, and not open-world; the description goes far beyond that by disclosing that AI credits are spent at start with later stage charges, that a re-run of hand-edited clusters is refused and edits are carried over by head keyword, that concurrency is limited to one research per workspace, and that the call is PROPOSED only, returning status='confirmation_required' with action_id and plan_token until confirm_action. None of that is recoverable from the annotations or schema.

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?

The most decision-critical facts are front-loaded: the two modes first, then cost, then the rerun refusal, then concurrency, then the confirmation protocol. Every sentence carries operational content, though the confirmation block and the credit-charging sentence are dense and could be tightened slightly without loss.

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?

For a 12-parameter, no-output-schema, credit-spending mutation gated behind a confirmation handshake, the description covers what an agent needs before calling: mode selection, cost warning, concurrency, refusal conditions, and the full proposed-then-confirm lifecycle with the exact status and tokens returned.

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 92%, so per-parameter meaning is largely already documented and the baseline of 3 applies. The description still adds value beyond the schema by grouping parameters into the two mutually exclusive calling modes (project_id alone versus name + seed_keywords plus optional market/languages/city/budget/website_id) and by explaining the manual-edit carry-over semantics of confirm_rerun.

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?

The description opens with a specific verb and resource ("Start an SEO research") and immediately splits the two invocation modes: pass project_id to re-run, or pass name + seed_keywords to create-and-start. That makes it trivially distinguishable from siblings like seo_estimate and seo_project_status without opening any schema.

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

Usage Guidelines5/5

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

It gives explicit prerequisites and ordering (call seo_estimate first and quote the price), an exclusion (only one research runs per workspace at a time), a follow-up route (seo_project_status for progress), and a special-case condition with its own remedy (confirm_rerun=true for hand-edited clusters). Alternatives and when-not conditions are both named.

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