{"_id":"pagespeed-insights-mcp","_rev":"35-e1490869119cf49869fae77f207a615c","name":"pagespeed-insights-mcp","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"pagespeed-insights-mcp","version":"1.0.0","keywords":["mcp","pagespeed","performance","web","google","lighthouse","claude","model-context-protocol","web-performance","seo","accessibility"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.0.0","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"221376807fd81455339d09716d800f206f7d44b3","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.0.0.tgz","fileCount":9,"integrity":"sha512-OiVi8ExulvvdLdfpkYZx+hB/zr4dYOjMWIO86xQPmnCcziNn7q6+jwywV3+mQ2aE/J9zxb9yi/P/p2m8K8wJZQ==","signatures":[{"sig":"MEUCIEPKcJke358B/twlrqUcBUwAf1n+EO7vlGDcooWTdrfYAiEAo9EMEO/1deqT5STjpDXDq2KaPqRQc4EcAC9Co+53xIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26486},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"68de66895d7089af29e775edb8a10db82d4f7abf","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for Google PageSpeed Insights API - analyze web performance with Claude","directories":{},"_nodeVersion":"22.14.0","dependencies":{"node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.0.0_1756407615374_0.94129730694816","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"pagespeed-insights-mcp","version":"1.0.1","keywords":["mcp","pagespeed","performance","web","google","lighthouse","claude","model-context-protocol","web-performance","seo","accessibility"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.0.1","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"e7c24f4167c995e962134989bc4e86475d226e38","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.0.1.tgz","fileCount":9,"integrity":"sha512-GSAstep1H3j7HrQEHueA8YTRlnxxi2vnhyoPC8dUgdSXoQ+ordKkcRMQS9l8PS8RfhUbeInW7HdxyzSyI6nZgQ==","signatures":[{"sig":"MEYCIQDT9tyAItow3gIo2cfOtu1CkeMUm+OndjoM1XWmU168PAIhALbrU9blTldqPtU1tbInW3EsX6w+REL/pytL7LRiNeSu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24543},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"04c4358d726c8a9cc42003b0dd2dc51c6ab57c2d","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for Google PageSpeed Insights API - analyze web performance with Claude","directories":{},"_nodeVersion":"22.14.0","dependencies":{"node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.0.1_1756480976583_0.5919156874304607","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"pagespeed-insights-mcp","version":"1.0.2","keywords":["mcp","pagespeed","performance","web","google","lighthouse","claude","model-context-protocol","web-performance","seo","accessibility"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.0.2","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"cefe84d117e0dcdb7f5d928f6ba3e437c4621404","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.0.2.tgz","fileCount":24,"integrity":"sha512-RvUNfCnfQpF/B4JwPN1Olf0iOACeHTxW72jNOXBLVuZX7CrrZIcwghtAvgiO+ZS089amKvCEi5SJ1+mc9oUryw==","signatures":[{"sig":"MEYCIQDkCAX4FV3oEffCxVHNPo90s2d88Aj5j1tnWpmF5w+ePwIhALZND/IVd0Wau55Dpt9aNdoceYByhV7h9zMe9tsYe2lT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93455},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"f13f4360a20dd8cd82229df356352ca69138325b","scripts":{"dev":"tsx src/index.ts","lint":"echo 'Linting skipped for now'","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for Google PageSpeed Insights API - analyze web performance with Claude","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","pino-pretty":"^10.3.1","@types/supertest":"^6.0.2","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.0.2_1756483888659_0.5161264064229032","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"pagespeed-insights-mcp","version":"1.0.4","keywords":["mcp","pagespeed","performance","web","google","lighthouse","claude","model-context-protocol","web-performance","seo","accessibility"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.0.4","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"1645197fbd6cd24861df4ce11c35171243cfbe3e","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.0.4.tgz","fileCount":24,"integrity":"sha512-ZGEcNnsDCpTgbA1f9rEG+s74YusHpLbIAgD5ypOm52mrVvJEQOMyT51HlEiidBmNjLmCztWXVa/TDpGX3BfpJw==","signatures":[{"sig":"MEYCIQDOe8+Nw3LvnIAWtSJWgmPkad11A4wxC8vOIZGGA09hPwIhAPczT8tzQkPQhePIAiKFd7dJ2B/OxUCn88dUXbgRLE2v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95623},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"ce2514df958b8c23696adbe0a1c268fd19ae0cf4","scripts":{"dev":"tsx src/index.ts","lint":"echo 'Linting skipped for now'","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for Google PageSpeed Insights API - analyze web performance with Claude","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","pino-pretty":"^10.3.1","@types/supertest":"^6.0.2","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.0.4_1757005458802_0.0562567985855289","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"pagespeed-insights-mcp","version":"1.0.5","keywords":["mcp","pagespeed","performance","web","google","lighthouse","claude","model-context-protocol","web-performance","seo","accessibility"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.0.5","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"e241f19bcd84ede90256723937a0e27a366bd3e3","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.0.5.tgz","fileCount":30,"integrity":"sha512-Hej07/xvAf0zvdjzgy7nZLAremxEFp4vhEtZW/FJUEZZX7Vham7Zgb8DrqLsT1UrXtxHfmhbI/a4HmiNggJV/w==","signatures":[{"sig":"MEQCIDDZUXHvIYwOoeppfBWVupz5+hQ5vphhJNHf32YB9RAoAiAJwiejI7F+1zN5JN/RRa8TfP6eQRUzmfHn8R3eLBKOEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134844},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"63f0796b1d15bafd4ca13438323053ddf9342463","scripts":{"dev":"tsx src/index.ts","lint":"echo 'Linting skipped for now'","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for Google PageSpeed Insights API - analyze web performance with Claude","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^1.2.2","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","pino-pretty":"^10.3.1","@types/supertest":"^6.0.2","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.0.5_1757068658324_0.7681656321874486","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"pagespeed-insights-mcp","version":"1.0.6","keywords":["mcp","pagespeed","performance","web","google","lighthouse","claude","model-context-protocol","web-performance","seo","accessibility"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.0.6","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"330e213b64efb706abb019a39cf3c581665c4be3","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.0.6.tgz","fileCount":33,"integrity":"sha512-EDH0Hq1jUWGB08uO2m4JpbOYuwyk27yMKXZXmy8bh0dTGZKsyQ7wDGQPq81Tnng1CB5y43lljsuUpfuy5UuuIA==","signatures":[{"sig":"MEUCIQC4rZJLvgRvazZp0YloM+zOmh+GW4kG4UXKPaQrND+6KwIgchLr6jHAY0nKYsX1ot8N9mSTDtB/5/xPsTYOusGXDMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243850},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"7997229999222cdf741c0d4dff0c23737431aefc","scripts":{"dev":"tsx src/index.ts","lint":"echo 'Linting skipped for now'","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for Google PageSpeed Insights API - analyze web performance with Claude","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","pino-pretty":"^10.3.1","@types/supertest":"^6.0.2","semantic-release":"^21.1.2","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.0.6_1763714971113_0.6170314600214475","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"pagespeed-insights-mcp","version":"1.1.6","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.1.6","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"d4607d03c3477e219895f24445109e7eaa7c561b","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.1.6.tgz","fileCount":30,"integrity":"sha512-peYOC48Uw5LmorXAYyxv44HIYlWcBIAm/kYv6wPiWeVtjnAXBiEa3g6c6pHBXRMxq7VhipZhlfgmCZwOYxpJVg==","signatures":[{"sig":"MEUCIAYcTPTs0D3T6ov4DMCMRxJ66FWbuB8/En0mkrh7nNcoAiEA2U8/52eVyOB0PnmyaJR4Se5sRvZj+rTAHjFW9lY+0YQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252933},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"9eba92a7fe3881666877e223e31bf0e9f596ca32","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^10.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","@types/supertest":"^6.0.2","semantic-release":"^21.1.2","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.1.6_1779842781457_0.5671712967308775","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"pagespeed-insights-mcp","version":"1.2.0","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.2.0","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"d69c30bc23ab00fd1b5d6d82b3eae24ce6f49a18","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.2.0.tgz","fileCount":30,"integrity":"sha512-PQwNK7860qyRSalGXoDKMxUlSQtsP5jxaU+3RXoeCwRyKZL801koAHkTxERfiLxMTVkv6cADDA+aUJL60wuugA==","signatures":[{"sig":"MEQCIHIf+Evbo7cs2viBrGWzo9VBUelcdUxG9Fw2nDQA5Mu8AiAvLlb9YV+CWHc8G24a8TLVkMTc/5J4erO+QHypAXpw4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252933},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"3080f81b092049ccec13db57769ae24d39b9ce78","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^10.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","@types/supertest":"^6.0.2","semantic-release":"^21.1.2","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.2.0_1779843237565_0.4829837547843765","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"pagespeed-insights-mcp","version":"1.2.1","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.2.1","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"b332da808b0a069d1b93cd1d15043736a85b75d7","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.2.1.tgz","fileCount":30,"integrity":"sha512-cYuXjCPuG1lDoCPfPjIFn+MRTafY7KaqqQs+l4h1sNdUSI7izPS5YexkH/RF+xQKS2ON5NShVCKCRZUMHSFzAg==","signatures":[{"sig":"MEYCIQCkXC/SGc9HcurLwzcB6GGHMb1HZwx7kXNdMuI4IeiQzAIhANIicPWlkBEXDwD0O7HwwRp2NaNbkeaHwK1Su168a9oJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253254},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4cfbe9c62cc0f322ee68462e5befc33c3254da7b","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^10.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","@types/supertest":"^6.0.2","semantic-release":"^21.1.2","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.2.1_1779867365661_0.37876010743243427","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"pagespeed-insights-mcp","version":"1.2.2","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.2.2","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"aa96957cf9f61385b42430c7b7b35f19017c9820","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.2.2.tgz","fileCount":30,"integrity":"sha512-tWx/FjjzmO5CW1fes/J5GSxjnVleg8Fnm/VQjAd/fAxkvqX/6Ulp37VIqwcgYcJeHkU2u5Qwz+/uAqB47j3hvg==","signatures":[{"sig":"MEYCIQCvtXpUh3Zw8WvGe0JVbJoAu5+qtGxMd+hVuRzGnKFY+AIhALEvKtuRR8uUyzcjGocwRTHa0H/NullcnHcAOwzOMrhq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254444},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"71256a4da58036a2d60fba56c99879aad78d7e8a","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^10.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","@types/supertest":"^6.0.2","semantic-release":"^21.1.2","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.2.2_1780004203304_0.8152328028328599","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"pagespeed-insights-mcp","version":"1.2.3","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.2.3","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"6e9aff7977172e7bb78f2d1ba8ab849c3caf595b","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.2.3.tgz","fileCount":30,"integrity":"sha512-STIusEC0vbTgVnilLhjUaPMcgNSzKOJmVZ2ghkGTJAwJXefLOQpLO9z2AbGEAi+ELejqY9eKRg/YO9s5LaOssw==","signatures":[{"sig":"MEUCIQDDh0KofuPsb1p7WcclfI/HUsLoK790zLDhuag5GDjj3wIgZD8jkQafmMf0+QfMoWjIVZpySby81wUn90H5SI/1tZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256391},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4e13e1d1b1956b070818d0befdba6a6580d984db","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.4","pino":"^8.17.2","p-limit":"^4.0.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^10.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^20.0.0","@types/supertest":"^6.0.2","semantic-release":"^21.1.2","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.2.3_1780217355906_0.9113406039306076","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"pagespeed-insights-mcp","version":"1.2.6","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.2.6","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"759b94c283505a9e9dac51262718187372643306","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.2.6.tgz","fileCount":30,"integrity":"sha512-CqjWmI3tXw2yinY5guRwgVj5h7soKXuc7xyXG+Wei5NbsO6SzcOmP2yOxu10XU6UvAOz8DQSAhW5Nd9nKVwaDQ==","signatures":[{"sig":"MEUCIGRhZesX6l5z4hUGmfiXwvzvLw2akHmmuPWpZDh8h9lVAiEA3JSnll7jdrfGMolr4kyp7zxWxngdGwm76jxiDUUKXQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255269},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"f3ba971f45f2ef448947dfe62bac995203fc1f15","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.0","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^26.1.1","@types/supertest":"^6.0.2","semantic-release":"^25.0.8","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^10.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.2.6_1784540759222_0.6672447130647419","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"pagespeed-insights-mcp","version":"1.2.7","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.2.7","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"a84047cd68e33dc0dc5b1ad137f2a5b6421fed13","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.2.7.tgz","fileCount":30,"integrity":"sha512-tfyOldnzCFkaz+nJcIb6MtxkLE0xP/NgBkdm+3yM/woopQAxPqMni2Z9hsRgRx+maqGOW20WDCCJPCAkH6QrYg==","signatures":[{"sig":"MEUCIEurtJc+KxVIU1auXMlkc3C0MeKwRyyKqVAa0SudaE2DAiEAxxoK7Ze683jUYl8EA5VA9K4Cs2rYHvcRajXuubc2R9Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255269},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"ee9b19773d64a7fb8c7e122a794d182601ee9e67","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^26.1.2","@types/supertest":"^6.0.2","semantic-release":"^25.0.8","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.2.7_1785175290354_0.1353785223995181","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"pagespeed-insights-mcp","version":"1.2.8","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.2.8","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"474dbb58d02f68a29d8c1962d316fd1a3630a6d3","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.2.8.tgz","fileCount":30,"integrity":"sha512-iG3E88Svgsjd7LwZ2pf7KwN6b9TPGlqUusCp6fKDOR6tq1HhQjfMU5uAGJ2xU3P2oQSGVXinKzVfqKPcji2wAQ==","signatures":[{"sig":"MEYCIQDUxEEdKzqvM81fIlnh5nNKkhnKFetwI5sLfkpkcg2V3gIhANlW5CC9FhneOT9M/bn4bLvp7gpXx2XkyABSGVfpzT+C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255467},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"701dc2513255fb49c4e111704df3d487d417397b","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^26.1.2","@types/supertest":"^6.0.2","semantic-release":"^25.0.8","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.2.8_1785213089428_0.09503769178311794","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"pagespeed-insights-mcp","version":"1.3.0","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.3.0","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"0e2ec32d09c3df1bbac0ff35dd73c5e34c47fc79","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.3.0.tgz","fileCount":30,"integrity":"sha512-4LQ+HdEDOR1i2oPw+dm/c1HVXweN+eXhqUC1+lSJg5+OqF2/Qt6F9KGL0h3mzksCB6w9y9phLb4gIehfyC7/Sg==","signatures":[{"sig":"MEQCIEnJMFEsqXaUxzqyV8Yrj1FRmPa+v7+eRlWYV/UU2LAhAiBF9FFd2v0rVR1g5ji/DchHTd0hirAm/O90ZKb5Zk5O2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255467},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"7e61e798b2fa21580118238a3559e0aaee382644","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^26.1.2","@types/supertest":"^6.0.2","semantic-release":"^25.0.8","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.3.0_1785232264995_0.6488948919134412","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"pagespeed-insights-mcp","version":"1.4.0","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.4.0","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"83660929e54e10e931573c50244432c2c315a51c","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.4.0.tgz","fileCount":30,"integrity":"sha512-TLjm1VLotgInaMu24whPm8ogwmjI0RcwNI9+WHz/mGvFn7GJnJ4vnhEM24K9jS/NGvFqu7krLG502wvJfbI0tw==","signatures":[{"sig":"MEQCIFf+BgVFV/zybTq5nFjitANA1nLSaat6zWyoBGd514mAAiAkrUCfd54nzoQIH3kv0qkg9Ah/Fu9Y2pWPIidt+9eq5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263481},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"e0e6c99396bb0368ced9eb12f232237db08ca969","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","nock":"^13.5.0","eslint":"^8.57.0","vitest":"^4.0.12","prettier":"^3.2.5","typescript":"^5.3.0","@types/node":"^26.1.2","@types/supertest":"^6.0.2","semantic-release":"^25.0.8","@vitest/coverage-v8":"^4.0.12","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.4.0_1785760009748_0.8758089164771228","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"pagespeed-insights-mcp","version":"1.4.1","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.4.1","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"bf9ee6fffa4d34fee5884e0696945d4a7e8bf19a","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.4.1.tgz","fileCount":30,"integrity":"sha512-2ugio8X9tM9O7VsXNVLgGmGLjwJ74n6PO0QkVP+89JffM9qVpLeXfQbEBnjinnQnN1iYVQaEuv8C7RHMKx3zpA==","signatures":[{"sig":"MEQCIH04XmaWgI9MtZufaT8ILHg+tnRHZ5GyAkKBe/RTgOp+AiBwda2TCtU2zl6tFTjXLwNtZ1h4uKEbwQl1BoEhzj4u9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264071},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"92403d91ad2678546e6f2a7de4325c95795c6c37","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","nock":"^14.0.17","eslint":"^10.8.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.1.2","@types/supertest":"^7.2.1","semantic-release":"^25.0.8","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.4.1_1785783697016_0.8306018808753923","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"pagespeed-insights-mcp","version":"1.5.0","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.5.0","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"b2844bc31683a7b55c4bf820a4e14af5f2bca185","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.5.0.tgz","fileCount":30,"integrity":"sha512-7Dn0NDzDexRfoevkxWZ7fuqXSlhTRfq0JLQuWN/yk/fnvULejBodw/knxcBZt+zqBziW/S/87vR0KnA2MioPTQ==","signatures":[{"sig":"MEUCIQCXThEpNghAHatyBcHpwMM2vS9bxYtoB4Ekz/OpYRXrmQIgKTf5iAQJIosAgJRGholkohrnx4qmQuOTzIbm3rS+th8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274827},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"ca90c78a1a7ff84e2db6d30dec6dc84ac61d3a23","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","nock":"^14.0.17","eslint":"^10.8.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.1.2","@types/supertest":"^7.2.1","semantic-release":"^25.0.8","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.5.0_1785912601026_0.44795970274252905","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"pagespeed-insights-mcp","version":"1.5.1","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.5.1","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"c558ba81a15dfe3d823fc5567508e922b635ff26","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.5.1.tgz","fileCount":30,"integrity":"sha512-wEqClQey+6CHc0AykMdYHdaJGSnXubr99MhtxVEaks1rnBP7P2zEj5u5605LCzwZrWU9CRMom/2X1u9ZtYeCMQ==","signatures":[{"sig":"MEUCIQCUDMV9zmrEzFKCxBYUq7uDRFFh5an+Hg8Kf50ot8zHSwIgPbpyyuGsHs3ZrU7BXsO4IfRnFXuwdH+E4oOxup3my8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296078},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"caeb66467d336d69204064aa838748e535c61bd2","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","nock":"^14.0.17","eslint":"^10.8.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.1.2","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.5.1_1786507620415_0.21886837785946045","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"pagespeed-insights-mcp","version":"1.5.2","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.5.2","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"ee0f2f3bc4488368d697002a3f901c92b7dd6148","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.5.2.tgz","fileCount":30,"integrity":"sha512-aS7fgyIz4y0OxEAEG3Vc/odtWHouhXnNeJx26SKjD+By2BMniaBfUvM1Yoh7jyZhZJXq022EDpdRLQq/IGmNVA==","signatures":[{"sig":"MEYCIQCEBUX4MBEsqv2PmffXEX2d3yURP+0anobJVWUcxcGaZwIhAJKqRtCJ8xd9aoxWwV8Mo9vqbwjo0fZOydTGG/aDtckm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295783},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"d553ad143a36535d74733b0c0cfe5e5f2942f34c","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.8.1","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.5.2_1787316271941_0.5069543501831177","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"pagespeed-insights-mcp","version":"1.5.3","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.5.3","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"c8906f6dad0dd8f6edb8820dc6d52cd353b9c912","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.5.3.tgz","fileCount":30,"integrity":"sha512-td/ypZ8ErUKNcAMUXjPMEQE00VZkaiXlOC6PBTUzlyssF5qJUdlxG+aNuOJ0CPRC+WmLrhRAnawtTErkgEh3IQ==","signatures":[{"sig":"MEUCIG5DxXye/4+ptylACXfywMJfbA5NckyB5z5h7pjW1MHSAiEA5p2Z5sLO9Swu4vFF55bUqp5zK6sFzfhhg42u3bBn87k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295783},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"82b2f78135d4941cabe555d36a6f63242fef3c1f","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.8.1","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.5.3_1787316510053_0.5849016996969154","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"pagespeed-insights-mcp","version":"1.6.0","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.6.0","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"76cba254fc11c085561fef847a6f12ad4d93b750","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.6.0.tgz","fileCount":33,"integrity":"sha512-EDE/ZZqOqTLKk/kBBoqi8EeADPQn0QL64u37chqO3wmvn5MyLFnCADzs0OSArMDoguHdd4cspUJUDQ6lS0kuWw==","signatures":[{"sig":"MEUCIQDflFIIeUawUfrVrF5gE8P+Cm27MaGJVcxDnvgyCKc+dwIgbKsNB2JecfAWjrWID4fpJUhRb9OBx+jM3qHLuFr4jZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309477},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"71b790468878afefc9a690f71dedffef24893203","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 16 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.8.1","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.6.0_1787318204311_0.8880292900017097","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"pagespeed-insights-mcp","version":"1.7.0","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"PageSpeed Insights MCP Contributors"},"license":"MIT","_id":"pagespeed-insights-mcp@1.7.0","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"5e4fe3816d11ee530008065f73f4b428f57c1074","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.7.0.tgz","fileCount":36,"integrity":"sha512-Pg7Vn3UCjxV1QRMqjGcWN+AGpkiLAvPcMnUPDq7O/+hTGZWaas6g649dB9FfkBn+vV3KxoN1FuBO6Lkgs0ZeKw==","signatures":[{"sig":"MEUCIEc5Bp7FcMAfH7rPtVul0YOuB0hy3vRNYgNEpPQI+rAkAiEA/bGp/DpXO13AaDeZ2cwxSemeWZx800EdV3BTM0M560E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336290},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"c8483a217aa39e771d5d25a21a44e80010c4c176","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 17 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.8.1","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.7.0_1787319646640_0.8158071607111801","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"pagespeed-insights-mcp","version":"1.7.1","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@1.7.1","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"c26d3cfad3648dc300f3c8371f91ea6604ca7ddb","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.7.1.tgz","fileCount":36,"integrity":"sha512-iOkQQqFgCdTRV5tTGhw6sdV5KIui1u1SFPttCJ6ztkQeNyfAbL3jtsnqhUaXd+jxukpHJsQ2/HhMWZ0WX/fvhQ==","signatures":[{"sig":"MEUCIQCBKqRpgPD+6ZeQp6eNdf4wT3mXDEEssaVZYaTMqDAMJwIgU1fdPcWWa1n9wqddK4jsnLRUQQB7rporx8fAMzeKYfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":347766},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"8cb9b3c79a81222f3cd489ddb04c7e6e174c4225","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 17 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.7.1_1787601177581_0.7450307252777453","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"pagespeed-insights-mcp","version":"1.7.2","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@1.7.2","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"c4e21341035f4b687e46d64b555db60e5876e4a1","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.7.2.tgz","fileCount":36,"integrity":"sha512-FrKBBMgLH8x8ErAYsfY2FmlDw6Es3OW0EjlPzBVTlziOvcMH2RwtQ9fYZGR7YzONHve3KNRA8c/bHvfoSEpweQ==","signatures":[{"sig":"MEUCIHMgLeNrzF5p6f3xAZaoOnmtvQLcj9ibqY0qRr5mbjiDAiEA4orY5H5S9NNsnnNtiE5Cva6M7K6Zwq9iRztRnoO6A+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":347829},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"3ae5aca84e1eb141d972c4395bb854153fef2b6d","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 17 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.7.2_1787601900513_0.029482338110166095","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"pagespeed-insights-mcp","version":"1.7.3","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@1.7.3","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"d1ec5b8bf838ccdea5f5cc386381ea01dc6e401f","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.7.3.tgz","fileCount":36,"integrity":"sha512-blB4zQ9uj9PZVzH8O3D9Ud4C7e5eaMSjt7ZJ4tNBI4FrG744YnwDW/31LJDCVOKovZR9PepRCcicJkK1DayIyw==","signatures":[{"sig":"MEQCIATVBXELCsh/RXgQEwCktJjtjXw3GAAAxgAE6gwCzsrzAiAUDeURvAvtUu7zqSGixwNHZ2IEzC5yhiydUR9XwHbD7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":347829},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"77c6b7dfeb4f9d29d3791a3c0bb68252c4a3a88e","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 17 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.7.3_1787602508454_0.05646677322556948","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"pagespeed-insights-mcp","version":"1.7.4","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@1.7.4","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"0d8a53478e30c6354b2b2da1a18cb8d8886eb368","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-1.7.4.tgz","fileCount":36,"integrity":"sha512-zvGeh+XNsrknN/n/wnH+RsyaAFHXx1SfhwUZDFWiv9ssZt7q6YWFWzwe1lUF9LWS8RkUMLxIDjmDF7GQpmnudg==","signatures":[{"sig":"MEUCIB8UXiHboaBjhK+EEhfSKx2zceKbMxhLOrBtnbIHxXB/AiEAqLCeRTupf3Zsfavef+QOpVABZBXOSrHIcaDQ38OuKok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":348024},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4fb5d6f4a842a0afc712b20174f742711a983667","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights & Chrome UX Report APIs — 17 tools to analyze, compare, and optimize web performance with Claude, Cursor, or any MCP-compatible AI client","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_1.7.4_1787749453409_0.34794456311738875","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"pagespeed-insights-mcp","version":"2.0.0","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@2.0.0","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"d023f73dae8969c4e22aea848786fb2fef94ce9d","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-2.0.0.tgz","fileCount":39,"integrity":"sha512-S9asSNCZhxkPceEPOnTlrv4GN1JMKVQzE1+VUT+bujz9cjmBsM3qCEePtt9aukobV2N0LkcTS0qb9Ej7tT0t8A==","signatures":[{"sig":"MEUCIQDlp8Vg/N0b2SnSNzEZCrGuAM6AO63nzKEZzVedPEbsOgIga1/xcoN/Yw4F2g0uWzAYLG9EUaVtVitYkeQzAaDMwYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":330176},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"c65b09462c036a4b2d6687bb417db9b43c527dd1","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights and Chrome UX Report: 6 workflow tools for web performance.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","node-fetch":"^3.3.2","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.0","vitest":"^4.1.10","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.2.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_2.0.0_1787754268318_0.8637827711913155","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"pagespeed-insights-mcp","version":"2.0.1","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@2.0.1","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"da17489f264e1690c5c58a7d92743620d5dfc7c7","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-2.0.1.tgz","fileCount":39,"integrity":"sha512-WMkq37box1Da+YgxJ0Lvjo/v/LtwUZ7boawwjesvtZNFQACOLGSTnmsK9WgAM49X5RTtVxsrjGbK2prQqkh8dA==","signatures":[{"sig":"MEQCIF15D23V022nnqjwfufJt+Y5QRpJ5VC+pwEGu9NfBAmgAiAO7l+18q7rY/Iz9PMvVjLqbt6Mswkgam0OAz9bMSN3ZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325971},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"06d7a6c18916541d8a824371bcb8abb025aac843","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"overrides":{"qs":"^6.16.0","fast-uri":"^3.1.7"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights and Chrome UX Report: 6 workflow tools for web performance.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.4.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.68.0","@vitest/coverage-v8":"^5.0.0","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_2.0.1_1789138507287_0.9798320260959523","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"pagespeed-insights-mcp","version":"2.0.2","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@2.0.2","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"1dc22b35304d5d43623ba40da5fcd1c8b9e48ab7","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-2.0.2.tgz","fileCount":39,"integrity":"sha512-6NGFgdX+h8sTOj53OaRd3ohf0/Fau1CqUaenTybxB4OVwTPJiIyZxsNz999M/pbeby6ifVua8MpOME9WEtiorQ==","signatures":[{"sig":"MEQCIEQWgMwk/GfJdnAgQ3FplMWscNysRoSrC0aU1m1zZF9dAiAg0yFlm8TzaNZxoPTBb8w8YuJng7kHJg1ULgl24+Z+4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328504},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"98804da917c37b2b293bf6da5a4236bbf9341bf9","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"overrides":{"qs":"^6.16.0","fast-uri":"^3.1.7"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights and Chrome UX Report: 6 workflow tools for web performance.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.4.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.68.0","@vitest/coverage-v8":"^5.0.0","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_2.0.2_1789148693590_0.3546423602004509","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"pagespeed-insights-mcp","version":"2.0.3","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@2.0.3","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"12cef1c5122c53c7db660907ee664a3a824ecde2","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-2.0.3.tgz","fileCount":39,"integrity":"sha512-lxFcJmhAvD4xltkkif+Hs8Yk6/UIRugENP1rbQteV6/u033MJsMEtV33MyJYT9iL4vDEvBUG0stWJVG3Ty4eeA==","signatures":[{"sig":"MEQCIHzdQ3MQxOjEMdPoedY5kw6/Ni/6O42fypfa5K94FzKnAiAZBwvcouO6uh6c6/1Q1J2vqXZFRrK1jLsxucs7pHcCtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328504},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"58bc34a4702a540c8e942efb1d5dcc1a6785b362","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"overrides":{"qs":"^6.16.0","fast-uri":"^3.1.7"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights and Chrome UX Report: 6 workflow tools for web performance.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.4.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.68.0","@vitest/coverage-v8":"^5.0.0","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_2.0.3_1789149090370_0.7609554743250264","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"pagespeed-insights-mcp","version":"2.0.4","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"url":"https://github.com/ruslanlap","name":"ruslanlap"},"license":"Apache-2.0","_id":"pagespeed-insights-mcp@2.0.4","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"dist":{"shasum":"d4eb1dbfd26aed2e5b2192eac8318807538d5c55","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-2.0.4.tgz","fileCount":39,"integrity":"sha512-5kIYO4qaY5PaSQSPAo/Tst4e9BsGMw7VZ2r215VzB+HhDnI12q5GNC8ej8VLje0UGtLHmbiaF6/nf+IxhyMpNw==","signatures":[{"sig":"MEUCIQCZYPbvcM9UDYkQKBskZcix8N68ZrAbqYgGy4FWX9+szwIgA7JWq4AE1T7o4oI7XaOksjTbPzqSgsyFomkR4xxdVgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332296},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"47a4aedae300b3de373f9847023fed909560548c","mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"overrides":{"qs":"^6.16.0","fast-uri":"^3.1.7"},"repository":{"url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for Google PageSpeed Insights and Chrome UX Report: 6 workflow tools for web performance.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","pino":"^10.3.1","p-limit":"^7.3.1","p-retry":"^6.1.0","pino-pretty":"^13.1.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","nock":"^14.0.17","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","typescript":"^5.8.0","@types/node":"^26.4.0","@types/supertest":"^7.2.1","semantic-release":"^25.0.9","typescript-eslint":"^8.68.0","@vitest/coverage-v8":"^5.0.0","@semantic-release/git":"^11.0.1","@typescript-eslint/parser":"^8.66.0","@semantic-release/changelog":"^7.0.0","@typescript-eslint/eslint-plugin":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/pagespeed-insights-mcp_2.0.4_1789150648133_0.8773209809569187","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"pagespeed-insights-mcp","version":"2.1.0","description":"MCP server for Google PageSpeed Insights and Chrome UX Report: 6 workflow tools for web performance.","main":"dist/index.js","type":"module","scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","format":"prettier --write src/**/*.ts","typecheck":"tsc --noEmit","test":"vitest","test:coverage":"vitest --coverage","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"bin":{"pagespeed-insights-mcp":"dist/index.js"},"keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"author":{"name":"ruslanlap","url":"https://github.com/ruslanlap"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git"},"homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.30.0","p-limit":"^7.3.1","p-retry":"^6.1.0","pino":"^10.3.1","pino-pretty":"^13.1.3","zod":"^4.4.3"},"devDependencies":{"@semantic-release/changelog":"^7.0.0","@semantic-release/git":"^11.0.1","@types/node":"^26.4.0","@types/supertest":"^7.2.1","@typescript-eslint/eslint-plugin":"^8.66.0","@typescript-eslint/parser":"^8.66.0","@vitest/coverage-v8":"^5.0.0","eslint":"^10.9.1","nock":"^14.0.17","prettier":"^3.9.6","semantic-release":"^25.0.9","tsx":"^4.23.12","typescript":"^5.8.0","typescript-eslint":"^8.68.0","vitest":"^5.0.0"},"engines":{"node":">=20.19.0"},"mcpName":"io.github.ruslanlap/pagespeed-insights-mcp","overrides":{"fast-uri":"^3.1.7","qs":"^6.16.0"},"_id":"pagespeed-insights-mcp@2.1.0","gitHead":"8ba6ba342142e45a04a2db47a20707e40133078f","types":"./dist/index.d.ts","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-YmI+Wblm0CmGoorLy459XmsAeE32h+CcUMgxVVDY2oKKM5z8WgcTf67Ymx+sKjMuWJHwJnqsU7QdfhRb5IxWmg==","shasum":"bce8d5b70fedd2945b34743727304b7a665ffa49","tarball":"https://registry.npmjs.org/pagespeed-insights-mcp/-/pagespeed-insights-mcp-2.1.0.tgz","fileCount":39,"unpackedSize":332330,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHWFppJ6QLFwV3z8P+ZRe9Q/zxY3rLaGKDiXBfd762IfAiAeV3q4hFac7F04VGnLw2RK241EnKm6mdrHHMQjvCu81Q=="}]},"_npmUser":{"name":"ruslanlap","email":"info.ucucenter@gmail.com"},"directories":{},"maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pagespeed-insights-mcp_2.1.0_1789165191996_0.39661651498194717"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-28T19:00:15.373Z","modified":"2026-09-11T22:19:52.292Z","1.0.0":"2025-08-28T19:00:15.548Z","1.0.1":"2025-08-29T15:22:56.766Z","1.0.2":"2025-08-29T16:11:28.831Z","1.0.3":"2025-09-04T11:00:08.793Z","1.0.4":"2025-09-04T17:04:18.987Z","1.0.5":"2025-09-05T10:37:38.496Z","1.0.6":"2025-11-21T08:49:31.301Z","1.1.6":"2026-05-27T00:46:21.686Z","1.2.0":"2026-05-27T00:53:57.738Z","1.2.1":"2026-05-27T07:36:05.812Z","1.2.2":"2026-05-28T21:36:43.439Z","1.2.3":"2026-05-31T08:49:16.046Z","1.2.6":"2026-07-20T09:45:59.367Z","1.2.7":"2026-07-27T18:01:30.498Z","1.2.8":"2026-07-28T04:31:29.574Z","1.3.0":"2026-07-28T09:51:05.133Z","1.4.0":"2026-08-03T12:26:49.927Z","1.4.1":"2026-08-03T19:01:37.197Z","1.5.0":"2026-08-05T06:50:01.187Z","1.5.1":"2026-08-12T04:07:00.581Z","1.5.2":"2026-08-21T12:44:32.075Z","1.5.3":"2026-08-21T12:48:30.255Z","1.6.0":"2026-08-21T13:16:44.458Z","1.7.0":"2026-08-21T13:40:46.797Z","1.7.1":"2026-08-24T19:52:57.729Z","1.7.2":"2026-08-24T20:05:00.667Z","1.7.3":"2026-08-24T20:15:08.594Z","1.7.4":"2026-08-26T13:04:13.546Z","2.0.0":"2026-08-26T14:24:28.482Z","2.0.1":"2026-09-11T14:55:07.404Z","2.0.2":"2026-09-11T17:44:53.735Z","2.0.3":"2026-09-11T17:51:30.522Z","2.0.4":"2026-09-11T18:17:28.286Z","2.1.0":"2026-09-11T22:19:52.119Z"},"bugs":{"url":"https://github.com/ruslanlap/pagespeed-insights-mcp/issues"},"author":{"name":"ruslanlap","url":"https://github.com/ruslanlap"},"license":"Apache-2.0","homepage":"https://github.com/ruslanlap/pagespeed-insights-mcp#readme","keywords":["mcp","mcp-server","pagespeed","pagespeed-insights","performance","web-performance","core-web-vitals","crux","chrome-ux-report","google","lighthouse","lighthouse-ci","claude","cursor","model-context-protocol","seo","accessibility","ai-tools","lcp","fcp","cls","ttfb"],"repository":{"type":"git","url":"git+https://github.com/ruslanlap/pagespeed-insights-mcp.git"},"description":"MCP server for Google PageSpeed Insights and Chrome UX Report: 6 workflow tools for web performance.","maintainers":[{"name":"ruslanlap","email":"info.ucucenter@gmail.com"}],"readme":"# PageSpeed Insights MCP Server\n\n[![Buy Me A Coffee](https://img.shields.io/badge/Buy_Me_A_Coffee-%40ruslanlap-FFDD00?style=flat-square&logo=buy-me-a-coffee&logoColor=black)](https://ruslanlap.github.io/ruslanlap_buymeacoffe/)\n\n**Six-tool MCP server** for Google PageSpeed Insights & Chrome UX Report APIs. Analyze, compare, and optimize web performance directly through Claude, Cursor, or any MCP-compatible AI client.\n\n## ⚡ Quick Start (Copy & Paste)\n\n```json\n{\n  \"mcpServers\": {\n    \"pagespeed-insights\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"pagespeed-insights-mcp\"],\n      \"env\": { \"GOOGLE_API_KEY\": \"your-google-api-key\" }\n    }\n  }\n}\n```\n\nGet a free API key at [Google Cloud Console](https://developers.google.com/speed/docs/insights/v5/get-started) → paste into Claude Desktop's `claude_desktop_config.json` → restart. Done. ([Codex/OpenAI config](#codex--openai), [Docker](#option-3-docker))\n\n[![npm version](https://img.shields.io/npm/v/pagespeed-insights-mcp.svg)](https://www.npmjs.com/package/pagespeed-insights-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/pagespeed-insights-mcp.svg)](https://www.npmjs.com/package/pagespeed-insights-mcp)\n[![MCP Toplist](https://mcptoplist.com/badge/io.github.ruslanlap%2Fpagespeed-insights-mcp.svg)](https://mcptoplist.com/server/io.github.ruslanlap%2Fpagespeed-insights-mcp)\n[![Glama MCP](https://glama.ai/mcp/servers/ruslanlap/pagespeed-insights-mcp/badge)](https://glama.ai/mcp/servers/ruslanlap/pagespeed-insights-mcp)\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/ruslanlap/pagespeed-insights-mcp/master/assets/1.png\" alt=\"PageSpeed MCP chat demo\" width=\"48%\" />\n  <img src=\"https://raw.githubusercontent.com/ruslanlap/pagespeed-insights-mcp/master/assets/2.png\" alt=\"PageSpeed MCP terminal demo\" width=\"48%\" />\n</p>\n\n[![GitHub Package Version](https://img.shields.io/github/package-json/v/ruslanlap/pagespeed-insights-mcp?label=github%20package)](https://github.com/ruslanlap/pagespeed-insights-mcp/pkgs/npm/pagespeed-insights-mcp)\n[![CI](https://github.com/ruslanlap/pagespeed-insights-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/ruslanlap/pagespeed-insights-mcp/actions/workflows/ci.yml)\n[![Documentation](https://img.shields.io/badge/docs-online-blue.svg)](https://ruslanlap.github.io/pagespeed-insights-mcp/)\n[![Live Demo](https://img.shields.io/badge/demo-live-blueviolet.svg)](https://ruslanlap.github.io/pagespeed-insights-mcp/demo/)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n## 🔥 What Makes It Different\n\nMost PageSpeed MCP servers wrap **one** tool: \"run PSI on a URL.\" This server ships **six workflow tools** covering the full performance workflow — not just a score, but an action plan:\n\n- **Full toolkit**: page analysis, CrUX real-user data (URL + origin), Lighthouse audits, multi-page & batch comparison, baselines, and regression tracking\n- **Deep diagnostics**: element-level, network, JavaScript, image optimization, render-blocking, and third-party impact analysis\n- **Actionable output**: a recommendations engine that turns raw Lighthouse data into prioritized fixes, plus visual analysis of screenshots\n- **Practical extras**: caching for repeat runs and smart recommendations tuned for AI agents to act on\n- **Battle-tested**: published on npm, listed in the [Official MCP Registry](https://registry.modelcontextprotocol.io/) and [Glama](https://glama.ai/mcp/servers), CI-tested with Vitest\n\n> **🎬 [View Interactive Demo →](https://ruslanlap.github.io/pagespeed-insights-mcp/demo/)** — See the tools in action with animated examples\n> Fallback URL: [https://ruslanlap.github.io/pagespeed-insights-mcp/demo.html](https://ruslanlap.github.io/pagespeed-insights-mcp/demo.html)\n\n## 📖 Table of Contents\n\n- [⚡ Quick Start (Copy & Paste)](#-quick-start-copy--paste)\n- [🔥 What Makes It Different](#-what-makes-it-different)\n- [⚙️ Client Configuration](#-client-configuration)\n- [📊 Example Output](#-example-output)\n- [📚 Documentation](#-documentation)\n- [📝 Release Notes](#-release-notes)\n- [🎯 Why You Need This](#-why-you-need-this)\n- [✨ Features](#-features)\n- [🚀 Quick Installation](#-quick-installation)\n- [🔑 Getting Google API Key](#-getting-google-api-key)\n- [⚙️ Claude Desktop Configuration](#-claude-desktop-configuration)\n- [💻 Usage](#-usage)\n- [Available Tools](#available-tools)\n- [Development](#development)\n- [Troubleshooting](#troubleshooting)\n- [Requirements](#requirements)\n- [Security](#security)\n- [Acknowledgments](#acknowledgments)\n- [License](#license)\n- [Support](#support)\n\n## ⚙️ Client Configuration\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"pagespeed-insights\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"pino-pretty\", \"-p\", \"pagespeed-insights-mcp\", \"pagespeed-insights-mcp\"],\n      \"env\": {\n        \"GOOGLE_API_KEY\": \"your-google-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n### Codex / OpenAI\n\nAdd to your configuration (TOML):\n\n```toml\n[mcp_servers.pagespeed-insights]\ncommand = \"npx\"\nargs = [\n  \"-y\",\n  \"-p\",\n  \"pino-pretty\",\n  \"-p\",\n  \"pagespeed-insights-mcp\",\n  \"pagespeed-insights-mcp\"\n]\nenv = { GOOGLE_API_KEY = \"your-google-api-key-here\" }\n```\n\n> **Note:** The `pino-pretty` package is required for proper log formatting. The above configurations ensure it is installed automatically via `npx`.\n\n### For Grok Build (config.toml)\n\nAdd to `~/.grok/config.toml` (global) or `<repo>/.grok/config.toml` (project-scoped, higher priority):\n\n```toml\n[mcp_servers.pagespeed-insights]\ncommand = \"npx\"\nargs = [\"-y\", \"-p\", \"pino-pretty\", \"-p\", \"pagespeed-insights-mcp\", \"pagespeed-insights-mcp\"]\nenv = { GOOGLE_API_KEY = \"${GOOGLE_API_KEY}\" }\nenabled = true\n\n# Recommended companion professional MCPs (add once):\n# [mcp_servers.github]      — PRs, issues, code search\n# [mcp_servers.context7]    — fresh library docs (Upstash)\n# [mcp_servers.serena]      — semantic code intelligence (uses your .serena/ if present)\n```\n\n**Project-scoped example** (put in this repo's `.grok/config.toml` for local `dist/index.js` + tighter Serena):\n\n```toml\n[mcp_servers.pagespeed-insights]\ncommand = \"node\"\nargs = [\"/home/ubuntuvm/Projects/pagespeed-insights-mcp/dist/index.js\"]\nenv = { GOOGLE_API_KEY = \"${GOOGLE_API_KEY}\", NODE_ENV = \"development\" }\n```\n\nVerification inside Grok session:\n- `/mcps` (or Ctrl+L → MCP tab) → ensure pagespeed-insights shows \"running\"\n- Use tools: `pagespeed-insights__pagespeed_analyze_page`, `pagespeed-insights__pagespeed_get_field_data`, etc. (namespaced)\n\n## 📊 Example Output\n\nReal `pagespeed_analyze_page` results for **github.com** — one mobile Lighthouse run. CrUX numbers come from `pagespeed_get_field_data` with `scope: \"origin\"`:\n\n**Lighthouse lab scores:**\n\n| Category | Score | Status |\n|---|---|---|\n| **Performance (mobile)** | **54/100** | 🔴 Poor |\n| **Performance (desktop)** | **52/100** | 🔴 Poor |\n\n**Core metrics (mobile):**\n\n| Metric | Value | Rating |\n|---|---|---|\n| First Contentful Paint | 11.9 s | 🔴 Poor |\n| Largest Contentful Paint | 13.4 s | 🔴 Poor |\n| Total Blocking Time | 30 ms | 🟢 Excellent |\n| Cumulative Layout Shift | 0.07 | 🟢 Good |\n| Speed Index | 11.9 s | 🔴 Poor |\n\n**CrUX field data — real users, github.com origin (phone):**\n\n| Metric | p75 (real users) |\n|---|---|\n| First Contentful Paint | 1.9 s |\n| Largest Contentful Paint | 2.2 s |\n| Interaction to Next Paint | 243 ms |\n| Cumulative Layout Shift | 0.02 |\n\n> Results vary between runs — Lighthouse lab data is noisy (a single run is one sample). Use `runs: 3-5` for medians.\n>\n> Lab vs field: Lighthouse throttles the connection (hence 54/100 mobile), while CrUX shows how actual GitHub visitors experience it — both views come straight from this server's tools.\n\n## 📚 Documentation\n\nWe have comprehensive documentation available online.\n\n[**👉 View Full Documentation Site**](https://ruslanlap.github.io/pagespeed-insights-mcp/)\n\n- [🚀 **Getting Started**](https://ruslanlap.github.io/pagespeed-insights-mcp/getting-started/)\n- [🛠️ **Tools Reference**](https://ruslanlap.github.io/pagespeed-insights-mcp/features/tools/)\n- [🏗️ **Architecture**](https://ruslanlap.github.io/pagespeed-insights-mcp/developers/architecture/)\n\n> You can also view the raw markdown files in the `docs/` directory or run `mkdocs serve` locally.\n\n## 📝 Release Notes\n\nCurrent release: see the version badges at the top of this README.\n\nRecent highlights:\n\n- **v2** — six workflow-oriented `pagespeed_*` tools replace the 19 v1 endpoint-shaped tools; all data tools support Markdown or JSON with structured results.\n\n> The badges at the top of this README update **automatically** on every release (npm version, GitHub package version, downloads). No manual edits needed.\n\nFor the complete release history, see [`CHANGELOG.md`](./CHANGELOG.md).\n\n## 🎯 Why You Need This\n\n**Pain point 1 — \"My page is slow but I don't know why.\"**\nYou open PageSpeed Insights, get a wall of data, and still can't tell what to fix first. This MCP gives your AI assistant six focused workflows that cut through the noise: it identifies the exact render-blocking resources, the specific images wasting 2 MB, the third-party scripts eating 1.5 s of main-thread time — and ranks them by impact. Ask \"why is my site slow?\" and get a prioritized fix list, not a 40-metric dashboard.\n\n**Pain point 2 — \"I ship performance regressions to production.\"**\nYour team moves fast, deploys daily, and nobody runs a full Lighthouse audit before each merge. By the time someone notices the Core Web Vitals dropped, the regression is already live. This MCP lets any developer paste a URL into Claude/Cursor and get a complete audit — lab data, field data from real Chrome users (CrUX), element-level CLS/LCP debugging — in seconds. It's the difference between catching a regression at your desk and discovering it in a Slack message from the SEO team three days later.\n\n## ✨ Features\n\n### Core Features\n\n- 🚀 **Performance Analysis** of web pages using Google PageSpeed Insights\n- 📱 **Multi-platform Support**: mobile and desktop devices\n- 🔍 **Detailed Lighthouse Reports** with comprehensive metrics\n- 📊 **Simplified Reports** with key performance indicators\n- 🎯 **Smart Recommendations** with priority scoring and actionable fixes\n- 💾 **Intelligent Caching** to reduce API calls and improve performance\n- 🌍 **Localization** - support for multiple languages\n- ⚡ **Quick Installation** - one command setup\n- 🐳 **Docker Support** for containerized deployment\n\n### Advanced Analysis Tools (New!)\n\n- 📸 **Visual Analysis** - Screenshots, filmstrip, and full-page captures\n- 🎯 **Element-Level Debugging** - Find specific DOM elements causing issues\n- 🌐 **Network Waterfall** - Detailed request timing and resource loading\n- ⚡ **JavaScript Profiling** - Execution breakdown and unused code detection\n- 🖼️ **Image Optimization** - Specific image issues with exact savings\n- 🚫 **Render-Blocking Analysis** - Critical request chains and dependencies\n- 🔌 **Third-Party Impact** - Script impact grouped by provider\n- 📊 **Full Audits** - Complete Lighthouse audits for all categories\n\n## 🚀 Quick Installation\n\n### Option 1: Automatic Installation (Recommended)\n\n```bash\n# Set environment variable\nexport GOOGLE_API_KEY=your-google-api-key\n```\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/ruslanlap/pagespeed-insights-mcp/master/scripts/install.sh | bash\n```\n\nThe installer uses the public npm package (`pagespeed-insights-mcp`) by default. To install the scoped GitHub Packages build instead, configure GitHub Packages authentication first and run:\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/ruslanlap/pagespeed-insights-mcp/master/scripts/install.sh | \\\n  PAGESPEED_INSIGHTS_MCP_PACKAGE=@ruslanlap/pagespeed-insights-mcp bash\n```\n\n### Option 2: Via npm or GitHub Packages\n\n#### From npm (Public Registry)\n\n```bash\n# Global installation from npm\nnpm install -g pagespeed-insights-mcp\n\n# Or use without installation\nnpx pagespeed-insights-mcp\n```\n\n#### From GitHub Packages\n\n```bash\n# First configure authentication (see GITHUB_PACKAGES.md for details)\n# Then install globally\nnpm install -g @ruslanlap/pagespeed-insights-mcp\n```\n\n> **Note:** This package is available on both npm and GitHub Packages.\n>\n> - For npm: Use `npm install pagespeed-insights-mcp`\n> - For GitHub Packages: Use `npm install @ruslanlap/pagespeed-insights-mcp` (requires GitHub authentication)\n>\n> For detailed instructions on installing from GitHub Packages, see [GITHUB_PACKAGES.md](GITHUB_PACKAGES.md) or visit the [GitHub Packages page](https://github.com/ruslanlap/pagespeed-insights-mcp/pkgs/npm/pagespeed-insights-mcp)\n\n### 🔧 Configuration\n\nThe MCP server requires a Google API key to access the PageSpeed Insights API.\n\n```bash\n# Set environment variable\nexport GOOGLE_API_KEY=your-google-api-key\n\n# Windows\n$env:GOOGLE_API_KEY=\"your-google-api-key\"\n\n# Or pass directly when running\nGOOGLE_API_KEY=your-google-api-key npx pagespeed-insights-mcp\n```\n\n### 📝 MCP Configuration Examples\n\n#### For Claude Desktop (with pino-pretty logging):\n\n```json\n\"pagespeed-insights\": {\n  \"command\": \"npx\",\n  \"args\": [\n    \"-y\",\n    \"-p\",\n    \"pino-pretty\",\n    \"-p\",\n    \"pagespeed-insights-mcp\",\n    \"pagespeed-insights-mcp\"\n  ],\n  \"env\": {\n    \"GOOGLE_API_KEY\": \"your-google-api-key-here\"\n  }\n}\n```\n\n#### For Codex (with pino-pretty logging):\n\n```toml\n[mcp_servers.pagespeed-insights]\ncommand = \"npx\"\nargs = [\n  \"-y\",\n  \"-p\",\n  \"pino-pretty\",\n  \"-p\",\n  \"pagespeed-insights-mcp\",\n  \"pagespeed-insights-mcp\"\n]\nenv = { GOOGLE_API_KEY = \"your-google-api-key-here\" }\n```\n\n> **Note:** These examples include `pino-pretty` for better log formatting. For production use without pretty logs, see the [Logging section](#logging--pino-pretty-in-mcp-environments) below.\n\n### Google Antigravity\n\nExample configuration files are available in the [examples](./examples/) directory.\n\n### Option 3: Docker\n\n```bash\ndocker build -t pagespeed-insights-mcp .\ndocker run -e GOOGLE_API_KEY=your-key pagespeed-insights-mcp\n```\n\n## 🔑 Getting Google API Key\n\nTo use this MCP server, you need a Google API key with the PageSpeed Insights API enabled.\n\n> [!TIP]\n> **⚡ Quick Setup Link:** You can go directly to the **[Google Cloud Credentials Setup Page](https://console.cloud.google.com/apis/credentials/key/)** to quickly create a key in your project.\n\n### Step-by-Step Guide\n\n1. Go to the [Google Cloud Console](https://console.cloud.google.com/) (or use the [Quick Setup Link](https://console.cloud.google.com/apis/credentials/key/)).\n2. Create a new project or select an existing one.\n3. Enable **PageSpeed Insights API**:\n   - Navigate to **APIs & Services** → **Library**.\n   - Search for **\"PageSpeed Insights API\"** and click **Enable**.\n4. Create an API key:\n   - Go to **APIs & Services** → **Credentials**.\n   - Click **Create Credentials** → **API Key**.\n   - Copy the generated key and set it as `GOOGLE_API_KEY` in your configuration.\n\n<p align=\"center\">\n  <img src=\"assets/3.png\" alt=\"Google Cloud Console API Key Setup\" width=\"90%\" />\n</p>\n\n\n## ⚙️ Claude Desktop Configuration\n\nConfig paths: **macOS** `~/Library/Application Support/Claude/claude_desktop_config.json` · **Windows** `%APPDATA%\\Claude\\claude_desktop_config.json` · **Linux** `~/.config/claude/claude_desktop_config.json` — see [⚙️ Client Configuration](#️-client-configuration) above for the JSON. **Restart Claude Desktop** after editing.\n\n## 💻 Usage\n\nAfter configuration, simply ask Claude any of these commands:\n\n### 🔍 Full page analysis\n\n```\nAnalyze the performance of https://example.com\n```\n\n### 📱 Mobile device analysis\n\n```\nAnalyze https://example.com for mobile devices with all categories\n```\n\n### ⚡ Quick performance overview\n\n```\nGet a quick performance report for https://example.com\n```\n\n### 🖥️ Desktop analysis\n\n```\nAnalyze https://example.com performance for desktop devices\n```\n\n### 🌐 Multi-category analysis\n\n```\nPerform a full audit of https://example.com including SEO, accessibility, and best practices\n```\n\n### 🎯 Smart performance recommendations\n\n```\nGet smart recommendations for improving https://example.com performance\n```\n\n### 💾 Cache management\n\n```\nClear the cache to get fresh data for all subsequent requests\n```\n\n### 📸 Visual analysis\n\n```\nGet visual analysis for https://example.com showing screenshots and loading timeline\n```\n\n### 🎯 Element-level debugging\n\n```\nShow me which specific elements are causing performance issues on https://example.com\n```\n\n### 🌐 Network waterfall analysis\n\n```\nAnalyze the network requests and resource loading for https://example.com\n```\n\n### ⚡ JavaScript performance\n\n```\nGet JavaScript execution breakdown for https://example.com\n```\n\n### 🖼️ Image optimization opportunities\n\n```\nShow me which images need optimization on https://example.com\n```\n\n### 🚫 Render-blocking resources\n\n```\nFind render-blocking resources on https://example.com\n```\n\n### 🔌 Third-party script impact\n\n```\nAnalyze third-party script impact on https://example.com performance\n```\n\n### 📊 Full Lighthouse audit\n\n```\nRun a full audit including accessibility, SEO, and best practices for https://example.com\n```\n\n## Available Tools (v2)\n\nVersion 2 replaces the former 19 endpoint-shaped tools with six workflow tools. This is a **breaking change**: update MCP client prompts, saved tool calls, and integrations to use the names below. Every data-returning tool accepts `responseFormat` (`markdown`, default, or `json`) and returns MCP `structuredContent`.\n\n| Tool | Use it for |\n|---|---|\n| `pagespeed_analyze_page` | One-page Lighthouse health check, full report, recommendations, audit findings, or a Mermaid map (`report`). |\n| `pagespeed_diagnose_page` | One focused investigation: `visual`, `elements`, `network`, `javascript`, `images`, `render-blocking`, or `third-parties`. |\n| `pagespeed_get_field_data` | CrUX real-user Core Web Vitals for a `page` or `origin`. |\n| `pagespeed_compare_pages` | Compare two pages now, or compare one page with its saved baseline (`mode`). |\n| `pagespeed_analyze_batch` | Triage 1–10 pages with progress notifications when supported. |\n| `pagespeed_clear_cache` | Clear this process's in-memory API cache after a deploy. |\n\n### Migration from v1\n\n| v1 tools | v2 replacement |\n|---|---|\n| `analyze_page_speed`, `get_performance_summary`, `get_recommendations`, `get_full_audit`, `get_performance_map` | `pagespeed_analyze_page` with `report=full`, `summary`, `recommendations`, `audit`, or `performance-map` |\n| `get_visual_analysis`, `get_element_analysis`, `get_network_analysis`, `get_javascript_analysis`, `get_image_optimization_details`, `get_render_blocking_details`, `get_third_party_impact` | `pagespeed_diagnose_page` with the matching `focus` |\n| `crux_summary`, `get_origin_crux` | `pagespeed_get_field_data` with `scope=page` or `origin` |\n| `compare_pages`, `compare_baseline` | `pagespeed_compare_pages` with `mode=pages` or `baseline` |\n| `batch_analyze`, `clear_cache` | `pagespeed_analyze_batch`, `pagespeed_clear_cache` |\n| `full_report` | Run `pagespeed_analyze_page` and `pagespeed_get_field_data`; lab and field data stay explicit rather than being mixed. |\n\n### Examples\n\n```json\n{\"url\":\"https://example.com\",\"strategy\":\"mobile\",\"report\":\"recommendations\",\"responseFormat\":\"markdown\"}\n```\n\n```json\n{\"url\":\"https://example.com\",\"focus\":\"render-blocking\",\"responseFormat\":\"json\"}\n```\n\n```json\n{\"mode\":\"baseline\",\"url\":\"https://example.com\",\"strategy\":\"mobile\",\"runs\":3}\n```\n\n### Example\n\nanswer example from Claude Desktop with pagespeed-insights-mcp 🔥🔥🔥\n\n## Development\n\nFor better log formatting during development, it is recommended to install `pino-pretty` globally:\n\n```bash\nnpm install -g pino-pretty\n```\n\n```bash\n# Development mode\nnpm run dev\n\n# Build project\nnpm run build\n\n# Run built server\nnpm start\n```\n\n### Logging / `pino-pretty` in MCP environments\n\nThis MCP server uses `pino` for logging and enables the `pino-pretty` transport when `NODE_ENV=development`.\n\n- If you **just want it to work with minimal setup** (Claude, Codex, etc.), set:\n\n```bash\nNODE_ENV=production GOOGLE_API_KEY=your-google-api-key npx pagespeed-insights-mcp\n```\n\nor in your MCP config:\n\n```jsonc\n\"pagespeed-insights\": {\n  \"command\": \"npx\",\n  \"args\": [\"pagespeed-insights-mcp\"],\n  \"env\": {\n    \"GOOGLE_API_KEY\": \"your-google-api-key-here\",\n    \"NODE_ENV\": \"production\"\n  }\n}\n```\n\n- If you **want pretty logs in development via `npx`**, you can have `npx` install `pino-pretty` alongside the server:\n\n```jsonc\n\"pagespeed-insights\": {\n  \"command\": \"npx\",\n  \"args\": [\n    \"-y\",\n    \"-p\",\n    \"pino-pretty\",\n    \"-p\",\n    \"pagespeed-insights-mcp\",\n    \"pagespeed-insights-mcp\"\n  ],\n  \"env\": {\n    \"GOOGLE_API_KEY\": \"your-google-api-key-here\"\n  }\n}\n```\n\n## Troubleshooting\n\n### \"Google API key not provided\"\n\nEnsure the `GOOGLE_API_KEY` environment variable is set in your Claude Desktop configuration.\n\n### \"PageSpeed Insights API error: 403\"\n\nCheck if PageSpeed Insights API is enabled in your Google Cloud project.\n\n### \"Invalid URL\"\n\nEnsure the URL includes the protocol — only `http://` and `https://` are accepted. Other schemes (`file://`, `ftp://`, `javascript:`, etc.) are rejected at the schema level.\n\n## Requirements\n\n- Node.js **20.19.0 or later** (Node 18 is EOL since April 2025 and is no longer supported).\n- A Google API key with PageSpeed Insights and (optionally) Chrome UX Report APIs enabled.\n\n## Security\n\nPlease report security issues privately — do **not** open a public issue. See [SECURITY.md](./SECURITY.md) for the disclosure policy and operator hardening notes.\n\n## Acknowledgments\n\nSpecial thanks to [@engmsaleh](https://github.com/engmsaleh) (Mohamed Saleh Zaied) for his significant contribution to the development of this project.\n\nA very special thank you to [@system-conf](https://github.com/system-conf) for their outstanding and invaluable contribution to the growth and development of this project. Your dedication, expertise, and continuous support have made a tremendous impact — this project wouldn't be where it is today without you. 🙏\n\n## License\n\nApache-2.0 — see [LICENSE](./LICENSE). Patents granted by contributors under the Apache License 2.0.\n\n## Support\n\nFor bug reports or feature requests, please create an issue in the repository.\n","readmeFilename":"README.md"}