@pulspeed/mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PULSPEED_API_KEY | Yes | API token from pulspeed.ai/settings | |
| PULSPEED_BASE_URL | No | Override for self-hosted | https://pulspeed.ai/api/v1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sitesA | List all websites being monitored by Pulspeed. Returns site names, URLs, scan frequency, and strategy. |
| scan_siteA | Trigger a PageSpeed Insights scan for a website URL. Creates the site if not already tracked. By default waits for the scan to complete and returns performance metrics (30-60 seconds). Set wait=false to dispatch asynchronously and get a job_id for polling. |
| get_site_metricsA | Get performance metrics for a monitored website, including Core Web Vitals (FCP, LCP, TTI, TBT, TTFB, CLS), trend analysis, and historical data over a specified period. |
| get_recommendationsA | Get AI-powered performance recommendations for a monitored website. Requires Pro or Team plan. |
| compare_snapshotsA | Compare two performance snapshots for a website. Shows metric deltas with percentage changes and a human-readable assessment. By default compares the latest two snapshots, or specify snapshot IDs. |
| get_usageA | Get current API usage statistics: how many scans and AI analyses have been used this month, remaining quota, and plan limits. |
| set_performance_budgetA | Set performance budget thresholds for a site. When a scan violates these thresholds, webhook events (threshold.exceeded, performance.regression) will fire. Pass null to remove all budgets. |
| bulk_scanA | Scan multiple URLs at once. By default runs scans asynchronously and returns job IDs for polling. Set wait=true to run sequentially and return all results (slower, may take several minutes). |
| list_regressionsB | Show recent performance regressions for a site: consecutive scans where the performance score dropped significantly. Helps identify when and by how much the site degraded. |
| get_raw_auditA | Get the raw Lighthouse audit data for a specific audit key from the latest snapshot of a site (e.g. 'render-blocking-resources', 'bootup-time', 'unused-javascript'). Returns detailed audit items useful for debugging specific performance issues. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct aspect of performance monitoring: scanning (single or bulk), metrics, audit details, recommendations, budgets, usage, regressions, and site listing. Even similar tools like bulk_scan and scan_site are differentiated by their input type and behavior.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., scan_site, list_sites, set_performance_budget). No mixing of conventions or vague verbs.
With 10 tools, the set is well-scoped for a performance monitoring API. Each tool serves a clear purpose without unnecessary overlap or missing essential functions.
The tool set covers core operations: scanning, metrics, comparisons, budgets, recommendations, and usage. A minor gap is the absence of a tool to delete a site or snapshot, but the provided functionality is sufficient for common workflows.