# PageVitals

```json
{
  "name": "PageVitals",
  "slug": "page_vitals",
  "url": "https://composio.dev/toolkits/page_vitals",
  "markdown_url": "https://composio.dev/toolkits/page_vitals.md",
  "logo_url": "https://logos.composio.dev/api/pagevitals",
  "categories": [
    "developer tools & devops"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-20T15:33:33.008Z"
}
```

![PageVitals logo](https://logos.composio.dev/api/pagevitals)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with PageVitals MCP or direct API to review performance reports, inspect synthetic tests, monitor real-user metrics, and analyze performance budgets through natural language.

## Summary

PageVitals is a website performance monitoring platform for synthetic tests, real-user monitoring, reports, and performance budgets.
Use it to catch slow pages, track Core Web Vitals, and find optimization work before users feel the pain.

## Categories

- developer tools & devops

## Toolkit Details

- Tools: 28

## Images

- Logo: https://logos.composio.dev/api/pagevitals

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for PageVitals.
  - Setup:
    - Configure Api Key credentials for PageVitals.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Summarize Core Web Vitals regressions
- List failing synthetic website checks
- Review performance budget violations today

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `PAGE_VITALS_ADD_CONFIGURED_PAGES` | Add Configured Pages | Add one or more explicitly supplied pages to PageVitals monitoring for a website. This persistent bulk operation can consume monitored-page quota and cause future synthetic tests, so call it only when the user explicitly requests every URL or path and alias. Never discover or scrape pages automatically. |
| `PAGE_VITALS_CREATE_BUDGET` | Create Budget | Create a persistent PageVitals performance budget for a website. This changes monitoring and may change owner alerting behavior, so call only when the user explicitly requests the budget and supplies the complete metric, comparison direction, numeric threshold in the metric's native unit, and device scope. Never infer metric units or operator direction. |
| `PAGE_VITALS_CREATE_MULTISTEP_TEST` | Create Multistep Test | Create an empty PageVitals multistep test definition with an explicit name and device profile. This only saves persistent configuration: it does not run the test, trigger any synthetic checks, or consume test-run quota. |
| `PAGE_VITALS_CREATE_WEBSITE` | Create Website | Add a domain to the PageVitals account and begin managing it. This may consume website quota and start monitoring, so call only when the user explicitly asks to add the domain. |
| `PAGE_VITALS_DELETE_BUDGET` | Delete Budget | Delete one PageVitals performance budget and stop enforcing its threshold. This is a destructive alerting mutation; use only when the user explicitly selects the exact budget ID for deletion. |
| `PAGE_VITALS_DELETE_CONFIGURED_PAGE` | Delete Configured Page | Permanently delete one PageVitals configured page and all of its test results, including historical results. This is irreversible; use only for an explicit request naming the exact website ID and configured-page ID. |
| `PAGE_VITALS_DELETE_MULTISTEP_TEST` | Delete Multistep Test | Permanently delete one PageVitals multistep test definition. This is irreversible; use only when the user explicitly identifies the exact website ID and test ID. |
| `PAGE_VITALS_DELETE_WEBSITE` | Delete Website | Permanently delete one PageVitals website and all of its tests, metrics, analytics, and configuration. This is irreversible; use only for an explicit request naming the exact website ID. |
| `PAGE_VITALS_GET_MULTISTEP_TEST` | Get Multistep Test | Get one multistep test definition, including its configured steps. |
| `PAGE_VITALS_GET_PAGE_METRICS` | Get Page Metrics | Get the latest Lighthouse and Chrome UX metrics for one configured page and device. |
| `PAGE_VITALS_GET_PAGE_OPPORTUNITIES` | Get Page Opportunities | List Lighthouse improvement opportunities for a page/device, or return the full variable-shape details for one opportunity ID. |
| `PAGE_VITALS_GET_PAGE_TIMELINE` | Get Page Timeline | Get one historical timeline for a page/device: combined loading metrics, CrUX, network bytes, CPU time, or Google Search performance. Google Search requires that integration on the website. |
| `PAGE_VITALS_GET_TEST` | Get Test | Get the detailed Lighthouse, timing, resource, budget, and validation summary for one synthetic test. Provider values, nulls, metric scales, and JSON-looking strings are returned unchanged. |
| `PAGE_VITALS_GET_TEST_REPORT` | Get Test Report | Get one specialized synthetic-test report: keyed Lighthouse opportunities, the request waterfall, or grouped HTML validation findings. Validation always omits the embedded raw HTML. |
| `PAGE_VITALS_GET_TEST_SERIES` | Get Test Series | Get one synthetic test series and its individual tests, statuses, page IDs, device variants, and failure messages. |
| `PAGE_VITALS_LIST_BUDGETS` | List Budgets | List performance budgets, current status, notification settings, and affected pages for a website. |
| `PAGE_VITALS_LIST_CONFIGURED_PAGES` | List Configured Pages | List the raw pages configured for PageVitals monitoring on a website. |
| `PAGE_VITALS_LIST_MULTISTEP_RUNS` | List Multistep Runs | List historical runs for one multistep test, including status, duration, interaction, layout-shift, CPU, transfer-size, and blocking-time metrics. |
| `PAGE_VITALS_LIST_MULTISTEP_TESTS` | List Multistep Tests | List multistep tests configured for a website with recent metrics, state, and success rates. A website with no configured multistep tests returns an empty tests list. |
| `PAGE_VITALS_LIST_PAGE_METRICS` | List Page Metrics | List every configured page/device combination for a website with recent timeline and latest performance metrics. |
| `PAGE_VITALS_LIST_TEST_SERIES` | List Test Series | List recent synthetic test series for a website, including status and failure counts. |
| `PAGE_VITALS_LIST_WEBSITE_OPPORTUNITIES` | List Website Opportunities | List Lighthouse improvement opportunities aggregated across a website and the affected pages. |
| `PAGE_VITALS_LIST_WEBSITES` | List Websites | List websites visible to the connected PageVitals API key. Use the returned website IDs with all website-scoped tools. |
| `PAGE_VITALS_RUN_MULTISTEP_TESTS` | Run Multistep Tests | Trigger exactly one named multistep test or intentionally fan out to every multistep test configured for a website. Every triggered run consumes PageVitals test quota and may incur cost. Choosing target='all' can start many jobs, so use it only when the user explicitly requests an all-tests run. |
| `PAGE_VITALS_RUN_TEST_SERIES` | Run Test Series | Trigger synthetic tests for selected page/device variants, or for every configured test when pages is omitted. This action consumes PageVitals test quota and may incur cost; call it only when the user explicitly requests a new run. |
| `PAGE_VITALS_UPDATE_BUDGET` | Update Budget | Replace a PageVitals performance budget's complete metric threshold and device scope. This may change monitoring alerts or notifications. Read the current budget first, use its exact website and budget IDs, and provide all four desired state fields because partial PUT behavior was not safely tested. |
| `PAGE_VITALS_UPDATE_CONFIGURED_PAGE` | Update Configured Page | Update a configured PageVitals page's URL, display alias, or both. This changes persistent monitoring configuration; use the exact page ID from List Configured Pages and provide at least one new value. |
| `PAGE_VITALS_UPDATE_MULTISTEP_TEST` | Update Multistep Test | Update a multistep test's alias and device. Both fields are required because PageVitals PUT replacement and partial-update semantics were not safely live-tested; read the current test first when preserving either value. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute PageVitals Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute PageVitals actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Get the latest PageVitals performance report for example.com and summarize Core Web Vitals issues'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Get the latest PageVitals performance report for example.com and summarize Core Web Vitals issues'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for PageVitals
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to PageVitals tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('List recent PageVitals synthetic test failures for example.com')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'List recent PageVitals synthetic test failures for example.com'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native PageVitals Integration

- Supports both PageVitals MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable PageVitals tool execution
- Rich coverage for reading, writing, and querying website performance data

### 2. Managed Auth

- Secure API key handling so PageVitals credentials don't end up hard-coded in your agent code
- Central place to manage, scope, and revoke PageVitals access
- Per user and per environment credentials for safer production workflows

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Clear schemas help agents ask for the right PageVitals reports, tests, budgets, and site metrics
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access PageVitals
- Scoped, least privilege access to PageVitals monitoring resources
- Full audit trail of agent actions to support review and compliance

## Use PageVitals with any AI Agent Framework

Choose a framework you want to connect PageVitals with:

None listed.

## Related Toolkits

- [Supabase](https://composio.dev/toolkits/supabase) - Supabase is an open-source backend platform offering scalable Postgres databases, authentication, storage, and real-time APIs. It lets developers build modern apps without managing infrastructure.
- [Codeinterpreter](https://composio.dev/toolkits/codeinterpreter) - Codeinterpreter is a Python-based coding environment with built-in data analysis and visualization. It lets you instantly run scripts, plot results, and prototype solutions inside supported platforms.
- [GitHub](https://composio.dev/toolkits/github) - GitHub is a code hosting platform for version control and collaborative software development. It streamlines project management, code review, and team workflows in one place.
- [1password](https://composio.dev/toolkits/_1password) - 1Password is a password manager and digital vault for storing logins, secrets, notes, and secure documents. It helps individuals and teams protect credentials, share access safely, and reduce password risk.
- [Ably](https://composio.dev/toolkits/ably) - Ably is a real-time messaging platform for live chat and data sync in modern apps. It offers global scale and rock-solid reliability for seamless, instant experiences.
- [Abuselpdb](https://composio.dev/toolkits/abuselpdb) - Abuselpdb is a central database for reporting and checking IPs linked to malicious online activity. Use it to quickly identify and report suspicious or abusive IP addresses.
- [Alchemy](https://composio.dev/toolkits/alchemy) - Alchemy is a blockchain development platform offering APIs and tools for Ethereum apps. It simplifies building and scaling Web3 projects with robust infrastructure.
- [Algolia](https://composio.dev/toolkits/algolia) - Algolia is a hosted search API that powers lightning-fast, relevant search experiences for web and mobile apps. It helps developers deliver instant, typo-tolerant, and scalable search without complex infrastructure.
- [Anchor browser](https://composio.dev/toolkits/anchor_browser) - Anchor browser is a developer platform for AI-powered web automation. It transforms complex browser actions into easy API endpoints for streamlined web interaction.
- [Apiflash](https://composio.dev/toolkits/apiflash) - Apiflash is a website screenshot API for programmatically capturing web pages. It delivers high-quality screenshots on demand for automation, monitoring, or reporting.
- [Apiverve](https://composio.dev/toolkits/apiverve) - Apiverve delivers a suite of powerful APIs that simplify integration for developers. It's designed for reliability and scalability so you can build faster, smarter applications without the integration headache.
- [Appcircle](https://composio.dev/toolkits/appcircle) - Appcircle is an enterprise-grade mobile CI/CD platform for building, testing, and publishing mobile apps. It streamlines mobile DevOps so teams ship faster and with more confidence.
- [Appdrag](https://composio.dev/toolkits/appdrag) - Appdrag is a cloud platform for building websites, APIs, and databases with drag-and-drop tools and code editing. It accelerates development and iteration by combining hosting, database management, and low-code features in one place.
- [Appveyor](https://composio.dev/toolkits/appveyor) - AppVeyor is a cloud-based continuous integration service for building, testing, and deploying applications. It helps developers automate and streamline their software delivery pipelines.
- [AWS Marketplace MCP](https://composio.dev/toolkits/aws_marketplace_mcp) - AWS Marketplace MCP provides MCP access to AWS Marketplace's cloud software, data, and services catalog. Use it to discover, compare, and evaluate 30K+ AWS Marketplace listings faster.
- [Backendless](https://composio.dev/toolkits/backendless) - Backendless is a backend-as-a-service platform for mobile and web apps, offering database, file storage, user authentication, and APIs. It helps developers ship scalable applications faster without managing server infrastructure.
- [Baserow](https://composio.dev/toolkits/baserow) - Baserow is an open-source no-code database platform for building collaborative data apps. It makes it easy for teams to organize data and automate workflows without writing code.
- [Bench](https://composio.dev/toolkits/bench) - Bench is a benchmarking tool for automated performance measurement and analysis. It helps you quickly evaluate, compare, and track your systems or workflows.
- [Better stack](https://composio.dev/toolkits/better_stack) - Better Stack is a monitoring, logging, and incident management solution for apps and services. It helps teams ensure application reliability and performance with real-time insights.
- [Bitbucket](https://composio.dev/toolkits/bitbucket) - Bitbucket is a Git-based code hosting and collaboration platform for teams. It enables secure repository management and streamlined code reviews.

## Frequently Asked Questions

### Do I need my own developer credentials to use PageVitals with Composio?

Yes, PageVitals requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
