Skip to main content
Glama

Run SEO test

run_seo_test

Tests a live page with Google PageSpeed Insights: SEO, performance, accessibility and best practices scores, Core Web Vitals and the failed checks. Uses one of the workspace's monthly SEO tests, so run it once before fixing and once after the user publishes, never in a loop. url defaults to the project's live host URL, else the last tested URL. Waits up to about a minute; if Google is still working it returns the runId for get_seo_report.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "projectId": "<projectId>"
    },
    "name": "run_seo_test"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoPublic address of the live page, e.g. https://example.com/pricing (not the Xodia preview)
strategyNoDevice profile to test (default both)
projectIdYesProject id from list_projects

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 readOnlyHint=false, openWorldHint=false, destructiveHint=false — they do not reveal the real constraints, and the description supplies them: it consumes one of the workspace's monthly SEO tests, it blocks for up to about a minute, and it may return early with a runId. That quota and latency disclosure is exactly the information an agent needs before calling a costly tool and is unavailable anywhere in the structured fields.

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?

Front-loaded with what it does and what it returns, followed by cost, cadence, defaults, and the async escape hatch — every clause carries operational weight. It is dense and close to a single run-on paragraph, so a bulleted spacing of cost/cadence/defaults would scan faster, but nothing is wasted.

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 return-value burden and does so: named score categories, Core Web Vitals, failed checks, and the runId fallback path. Combined with the quota and timing disclosures, an agent can call this correctly and know what to do with the response.

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, and the description adds genuine meaning beyond it by explaining that url defaults to the project's live host URL, otherwise the last tested URL — fallback logic absent from the schema. Strategy and projectId are left to their schema descriptions, which is acceptable given full coverage.

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 and resource ('Tests a live page with Google PageSpeed Insights') and enumerates exactly what comes back: SEO, performance, accessibility, best-practices scores, Core Web Vitals, and failed checks. It also distinguishes itself from the sibling get_seo_report by framing itself as the run that produces the runId, so an agent can route between the two without opening a 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?

Explicit cadence guidance: 'run it once before fixing and once after the user publishes, never in a loop', which names both the when and the anti-pattern. The alternative path is named too — if Google is still working, it points the agent at get_seo_report rather than suggesting a retry.

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