Skip to main content
Glama

PageSpeed Insights MCP by InsightfulPipe

PageSpeed Analysis Execute Action

execute_action
Destructive

Execute PageSpeed Insights actions (Step 3 FINAL).

Prerequisites: Run query_contexts with request='accounts' (includes available_actions) + request='actions_details' to understand the required payload.

IMPORTANT: The 'body' parameter is a dictionary that must contain ALL fields including:

  • action: Action name (e.g. 'analyze.full', 'core-web-vitals', 'audits.resource-optimizations')

  • workspace_id: Integer workspace ID

  • url: The URL to analyze (required)

  • strategy: 'mobile' or 'desktop' (default: mobile)

  • categories: Optional list of categories ['performance', 'accessibility', 'best-practices', 'seo']

  • locale: Optional language code (e.g., 'en-US')

Do NOT pass these as separate parameters - they must ALL be inside the body dictionary.

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": {
      "body": "<body>"
    },
    "name": "execute_action"
  }
}

Input Schema

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so the safety profile is known; the description is consistent with that by framing this as an execution step. It adds genuinely useful operational context the annotations don't carry: the exact prerequisites and the hard constraint that every field must be nested inside 'body'. It does not describe failure behavior, cost, or whether analyses run asynchronously.

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 step position and prerequisites before the payload contract, and the bulleted field list is easy to scan. Slightly more verbose than strictly necessary (the action/strategy examples repeat the general pattern), but every line informs the call.

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 an open-world, destructive, nested-object tool, the description covers the prerequisite chain, the complete body contract, defaults and allowed values. An output schema exists, so return values need not be explained, and nothing critical for a correct invocation is missing.

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

Parameters5/5

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

Schema coverage is 0% and the single parameter is a free-form object with additionalProperties=true, so the description carries the entire burden — and it does: it enumerates action, workspace_id, url, strategy (with mobile default), categories (with allowed values) and locale, plus explicit examples. The warning not to pass these as top-level parameters is exactly the guidance the schema cannot supply.

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

Purpose4/5

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

The description names a concrete verb+resource (execute PageSpeed Insights actions) and positions it as the final step in a workflow, which implicitly separates it from the query_* siblings. The example action names ('analyze.full', 'core-web-vitals') make the scope tangible, though 'actions' remains an abstract unit of work that only becomes fully clear after the prerequisite query.

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?

It explicitly states the prerequisite sequence: run query_contexts with request='accounts' and request='actions_details' first to learn the required payload, and labels itself 'Step 3 FINAL'. That is strong routing guidance. It stops short of naming when-not-to-use conditions or which sibling to pick if the prerequisites are unmet.

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.