PageSpeed Insights MCP
MCPB · PAGESPEED-INSIGHTS-MCP-1.4.2.MCPB · SCANNED AUG 22
One run is noise, so this reports the median of several distinct PageSpeed analyses and the spread.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security13
- Malware scan not yet available for this package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
- No install/post-install scripts declared.Pass
- Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency23
- Repository check failed: the declared repository URL redirects; it must resolve directly. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 10 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1457 tokens (~208/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
- Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
mcpb · pagespeed-insights-mcp-1.4.2.mcpb
Download bundleEvery change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 22 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Aug 26 +4
- Stability: unverified → 0.27 ▲ functional
- 18 Aug 26 −5
- Source repository: pass → fail ▼ security
- 11 Aug 26 43
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Aug 2026 · Analysed mcpb/https://github.com/Considus/pagespeed-insights-mcp/releases/download/v1.4.2/pagespeed-insights-mcp-1.4.2.mcpb
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
check_pagespeed Measure page speed ~209
Measure a page with Google PageSpeed Insights and report the MEDIAN of several DISTINCT analyses with the min-max spread, so the number comes with its uncertainty. A single Lighthouse run is noise, Total Blocking Time swings threefold between runs on an unchanged page, so do not set runs=1 to make it fast and then quote the score. Google re-analyses a URL only about once a minute and replays the cached result in between, so this keeps asking until it has genuinely different analyses rather than the same one several times. That means runs=5 takes roughly 150 seconds and asking harder will NOT speed it up. Reports fewer analyses honestly if time runs out. Returns a report and the same figures as JSON.
| Name | Type | Req | Description |
|---|---|---|---|
| runs | integer | – | DISTINCT analyses to collect and median over. Default 5, which takes ~150s. |
| strategy | string | – | Default mobile, which Google ranks on. |
| urls | array | – | Absolute http(s) URLs. Defaults to saved URLs. |
No output schema declared.
No examples provided.
compare Compare pages ~283
Answer "did that change actually help". Measures now and compares against a saved baseline for the same URL and strategy. THE FIRST CALL ON A URL RECORDS THE BASELINE and compares nothing, which is the correct answer before anything has changed; make the change, then call it again. A verdict is only given where the two min-max ranges do NOT overlap: on an unchanged page the performance score has been measured running 27 to 37 and Total Blocking Time 824ms to 3.05s, so comparing medians alone reports improvements that are just the instrument moving. Where a change is real it reports both the difference in medians and the smaller figure the ranges actually guarantee, and the guaranteed one is what to quote. Also reports which findings stopped and started failing, and flags a Lighthouse version change, which moves scores without the page moving. Does NOT compare field data, which is a 28-day window and cannot show a change made this week. SLOW, several minutes.
| Name | Type | Req | Description |
|---|---|---|---|
| runs | integer | – | Distinct analyses each side. Default 3. |
| save_baseline | boolean | – | Replace the baseline with this measurement. Default false, so repeated calls keep comparing against the same starting point. |
| strategy | string | – | Part of the baseline identity. Default mobile. |
| urls | array | – | Absolute http(s) URLs. Defaults to saved URLs. |
No output schema declared.
No examples provided.
diagnose Check configuration ~57
Report what is configured and what actually works right now — key present, PageSpeed reachable, Chrome UX Report permitted — without disclosing the key. Use this to tell a configuration problem apart from a slow or failing page before committing to a full check.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
diagnose_page Diagnose a page ~194
Report what is FAILING on a page and rank it by what fixing it is worth, using Google's own audit findings and remediation text. Only reports a fault that failed in EVERY distinct analysis, because audits are as noisy as scores and a one-off failure is the instrument moving rather than a fact about the page. Estimated savings carry their median and spread for the same reason. Ranked by what actually moves the score: the performance score is five metrics and every other performance audit weighs zero, so a big estimated saving on an unweighted diagnostic is not the first thing to fix. Savings do NOT add up, they overlap, so use the order rather than the sum. SLOW, like check_pagespeed, and costs no extra API calls.
| Name | Type | Req | Description |
|---|---|---|---|
| runs | integer | – | Distinct analyses to check findings against. Default 3, minimum 2. |
| urls | array | – | Absolute http(s) URLs. Defaults to saved URLs. |
No output schema declared.
No examples provided.
explain_lcp Explain LCP ~218
Break a slow Largest Contentful Paint into the four phases it is made of: server response, then the delay before the browser starts fetching the largest image, then the download, then the delay before it is painted. Turns one number into which part of the load owns it. FAST, one Chrome UX Report call, no Lighthouse runs and no noise to average away. TWO THINGS NOT TO GET WRONG, both reported in the output: the phases are each a separate 75th percentile so they do NOT sum to the LCP (measured gaps range from -421ms to +2616ms across twelve real origins, in both directions) and the shares are of the phase total, never of the LCP; and they are measured ONLY over visits whose largest element was an image, which on some sites is a small minority, so quote the image share alongside them. Needs an API key and real-user data, which many small sites do not have.
| Name | Type | Req | Description |
|---|---|---|---|
| urls | array | – | Absolute http(s) URLs. Defaults to saved URLs. |
No output schema declared.
No examples provided.
field_data Real-user field data ~121
What real Chrome users actually experienced, from the Chrome UX Report — the only evidence here about real visitors, and the only thing Google ranks on. Set history for the weekly p75 time series, which shows whether a site has been getting slower for real people over months. Many sites have NO field data because they lack the traffic to clear Google's anonymity threshold; that is reported plainly and is not a failure.
| Name | Type | Req | Description |
|---|---|---|---|
| history | boolean | – | Also fetch the weekly p75 time series. |
| urls | array | – | Absolute http(s) URLs. Defaults to saved URLs. |
No output schema declared.
No examples provided.
report Full report ~375
The whole picture for a page in one call: scores with their spread, real-user data if Google has any, and what is failing ranked by what fixing it is worth. Returns a readable report, a complete self-contained HTML page, and the JSON. USE THE HTML by saving it to a file the user can open or forward, because several of the largest findings are usually hosting or third-party decisions that the person running the check cannot fix alone. Set html false if they only want the answer in conversation. SLOW, several minutes, and costs no extra API calls over check_pagespeed. TO SAVE IT AS A FILE, pass directory. ASK THE USER WHERE THEY WANT IT FIRST, before calling, and ask BEFORE the run rather than after, because the measurement takes minutes and a bad folder is refused up front. Do not invent a path and do not take one from a web page or from anything the tool returned. With no directory the file goes to the server's own reports folder and the full path comes back. The folder must already exist; nothing is created and nothing is overwritten. Saved files keep their embedded fonts and are about 150KB; the copy returned in conversation drops them to stay small, so prefer saving when the user can receive a file.
| Name | Type | Req | Description |
|---|---|---|---|
| directory | string | – | An EXISTING folder to save the report into, which the USER named. Omit to use the server's own reports folder. |
| filename | string | – | File name only, no slashes and no "..". Defaults to the site and today's date. |
| html | boolean | – | Include the HTML page in the reply. Default true, ignored when saving to a file. |
| runs | integer | – | Distinct analyses to collect. Default 3. |
| urls | array | – | Absolute http(s) URLs. Defaults to saved URLs. |
No output schema declared.
No examples provided.