MCP Integration
Overview
Kimi SEO can integrate with Model Context Protocol (MCP) servers to access external APIs and enhance analysis capabilities.
Available Integrations
PageSpeed Insights API
Use Google's PageSpeed Insights API directly for real Core Web Vitals data.
Configuration:
- Get an API key from Google Cloud Console
- Enable the PageSpeed Insights API
- Use in your analysis:
curl -H "X-Goog-Api-Key: $GOOGLE_API_KEY" \
"https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=URL"
Google Search Console
For organic search data, use the mcp-server-gsc MCP server by ahonn. Provides search performance data, URL inspection, and sitemap management.
Configuration:
{
"mcpServers": {
"google-search-console": {
"command": "npx",
"args": ["-y", "mcp-server-gsc"],
"env": {
"GOOGLE_CREDENTIALS_PATH": "/path/to/credentials.json"
}
}
}
}
PageSpeed Insights MCP Server
Use mcp-server-pagespeed by enemyrr for Lighthouse audits, CWV metrics, and performance scoring via MCP.
Configuration:
{
"mcpServers": {
"pagespeed": {
"command": "npx",
"args": ["-y", "mcp-server-pagespeed"],
"env": {
"PAGESPEED_API_KEY": "your-api-key"
}
}
}
}
Official SEO MCP Servers (2025-2026)
The MCP ecosystem for SEO has matured significantly. These are production-ready integrations:
| Tool | Package / Endpoint | Type | Notes |
|---|---|---|---|
| Ahrefs | @ahrefs/mcp |
Official | Launched July 2025. Supports local and remote modes. Backlinks, keywords, site audit data. |
| Semrush | https://mcp.semrush.com/v1/mcp |
Official (remote) | Full API access via remote MCP endpoint. Domain analytics, keyword research, backlink data. |
| Google Search Console | mcp-server-gsc |
Community | By ahonn. Search performance, URL inspection, sitemaps. |
| PageSpeed Insights | mcp-server-pagespeed |
Community | By enemyrr. Lighthouse audits, CWV metrics, performance scoring. |
| DataForSEO | dataforseo-mcp-server |
Official extension | 9 modules, 79 tools, 23 commands. Install: ./extensions/dataforseo/install.sh. See extension docs. |
| kwrds.ai | kwrds MCP server | Community | Keyword research, search volume, difficulty scoring. |
| SEO Review Tools | SEO Review Tools MCP | Community | Site auditing and on-page analysis API. |
API Usage Examples
PageSpeed Insights
import requests
def get_pagespeed_data(url: str, api_key: str) -> dict:
"""Fetch PageSpeed Insights data for a URL."""
endpoint = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed"
params = {
"url": url,
"strategy": "mobile", # or "desktop"
"category": ["performance", "accessibility", "best-practices", "seo"]
}
headers = {"X-Goog-Api-Key": api_key}
response = requests.get(endpoint, params=params, headers=headers)
return response.json()
Core Web Vitals from CrUX
def get_crux_data(url: str, api_key: str) -> dict:
"""Fetch Chrome UX Report data for a URL."""
endpoint = "https://chromeuxreport.googleapis.com/v1/records:queryRecord"
payload = {
"url": url,
"formFactor": "PHONE" # or "DESKTOP"
}
headers = {"Content-Type": "application/json", "X-Goog-Api-Key": api_key}
response = requests.post(endpoint, json=payload, headers=headers)
return response.json()
Metrics Available
From PageSpeed Insights
| Metric | Description |
|---|---|
| LCP | Largest Contentful Paint (lab) |
| INP | Interaction to Next Paint (estimated) |
| CLS | Cumulative Layout Shift (lab) |
| FCP | First Contentful Paint |
| TBT | Total Blocking Time |
| Speed Index | Visual progress speed |
From CrUX (Field Data)
| Metric | Description |
|---|---|
| LCP | 75th percentile, real users |
| INP | 75th percentile, real users |
| CLS | 75th percentile, real users |
| TTFB | Time to First Byte |
Best Practices
- Rate Limiting: Respect API quotas (typically 25k requests/day for PageSpeed)
- Caching: Cache results to avoid redundant API calls
- Field vs Lab: Prioritize field data (CrUX) for ranking signals
- Error Handling: Handle API errors gracefully
Without API Keys
If you don't have API keys, Kimi SEO can still:
- Analyze HTML source for potential issues
- Identify common performance problems
- Check for render-blocking resources
- Evaluate image optimization opportunities
- Detect JavaScript-heavy implementations
The analysis will note that actual Core Web Vitals measurements require field data from real users.