npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

mcp-pagespeed-server

v1.1.0

Published

MCP server for performing PageSpeed Audits

Downloads

151

Readme

PageSpeed MCP Server

A Model Context Protocol (MCP) server that extends AI assistant capabilities with PageSpeed Insights functionality. This server acts as a bridge between AI models and Google's PageSpeed Insights API, enabling detailed performance analysis of websites.

Overview

The PageSpeed MCP server is designed to enhance AI assistants' capabilities by allowing them to perform comprehensive web performance analysis. When integrated, AI models can request and interpret detailed performance metrics, Core Web Vitals, and other critical web performance data for any given URL.

Installation

npm install pagespeed-mcp-server

Configuration

Add the PageSpeed MCP to your AI assistant's(claude in this case) configuration file:

{
    "pagespeed": {
        "command": "node",
        "args": ["path/to/mcp-pagespeed-server/dist/index.js"]
    }
}

Detailed Capabilities

Performance Metrics Analysis

  • First Contentful Paint (FCP)
  • Largest Contentful Paint (LCP)
  • Time to Interactive (TTI)
  • Total Blocking Time (TBT)
  • Cumulative Layout Shift (CLS)
  • Speed Index
  • Time to First Byte (TTFB)

Best Practices Assessment

  • HTTPS usage
  • JavaScript error monitoring
  • Browser console warnings
  • Deprecated API usage
  • Image aspect ratio analysis
  • Link security checks

SEO Analysis

  • Meta description validation
  • Robots.txt validation
  • Structured data validation
  • Crawlable links verification
  • Meta tags assessment
  • Mobile friendliness

Accessibility Audits

  • ARIA attribute validation
  • Color contrast checking
  • Heading hierarchy analysis
  • Alt text verification
  • Focus management assessment
  • Keyboard navigation testing

Resource Optimization

  • Image optimization suggestions
  • JavaScript bundling analysis
  • CSS optimization recommendations
  • Cache policy validation
  • Resource minification checks
  • Render-blocking resource identification

API Response Structure

The MCP server provides detailed JSON responses including:

{
    "lighthouseResult": {
        "categories": {
            "performance": { /* Performance metrics */ },
            "accessibility": { /* Accessibility results */ },
            "best-practices": { /* Best practices audit */ },
            "seo": { /* SEO findings */ }
        },
        "audits": {
            // Detailed audit results for each category
        },
        "timing": {
            // Performance timing data
        },
        "stackPacks": {
            // Technology-specific advice
        }
    }
}

Advanced Usage

Custom Configuration

You can customize the PageSpeed analysis by providing additional parameters:

{
    "strategy": "mobile", // or "desktop"
    "category": ["performance", "accessibility", "best-practices", "seo"],
    "locale": "en",
    "threshold": {
        "performance": 90,
        "accessibility": 100,
        "best-practices": 90,
        "seo": 90
    }
}

Error Handling

The MCP server includes robust error handling for:

  • Invalid URLs
  • Network timeouts
  • API rate limiting
  • Invalid parameters
  • Server-side errors

Requirements

Network Requirements

  • Stable internet connection
  • Access to Google's PageSpeed Insights API

Platform Support

  • Windows (x64, x86)
  • Linux (x64)
  • macOS (x64, arm64)

Integration Examples

Basic Integration

const PageSpeedMCP = require('pagespeed-mcp-server');
const mcp = new PageSpeedMCP();

await mcp.analyze('https://example.com');

With Custom Options

const results = await mcp.analyze('https://example.com', {
    strategy: 'mobile',
    categories: ['performance', 'accessibility'],
    locale: 'en-US'
});

Troubleshooting

Common Issues

  1. Connection Timeouts

    • Check internet connectivity
  2. API Rate Limiting

    • Use API key for higher limits
  3. Memory Issues

    • Adjust Node.js memory limits

Development

Building from Source

git clone https://github.com/phialsbasement/mcp-pagespeed-server
cd mcp-pagespeed-server
npm install
npm run build

Running Tests

npm run test

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Support

Getting Help

  • GitHub Issues: Report bugs and feature requests

License

MIT License - See LICENSE file for details