PageSpeed Insights MCP服务器——谷歌核心网络对人工智能助理至关重要
  ](go/go.mod) ](csharp/Directory.Build.props) 
谷歌PageSpeed Insights核心网络生命的零依赖MCP服务器。 为Linux、macOS和Windows预构建的本机二进制文件。没有Node.js。没有Python。不。NET运行时。没有Go工具链。下载一个二进制文件并配置您的AI工具。
通过以下方式将Google PageSpeed Insights分析(最大内容绘制、累积布局偏移、第一个内容绘制、到达第一个字节的时间、总阻塞时间)直接暴露给Claude、GitHub Copilot和Cursor等AI助手 模型上下文协议(MCP).让你的人工智能诊断核心网络生命周期问题,并获得可操作的代码级建议。
______________________________________________________________________
为什么存在
人工智能助手在诊断网络性能问题方面非常强大,但它们需要真实的数据。此MCP服务器将您的人工智能工具连接到Google的PageSpeed Insights API v5,使其:
- 真正的核心网络生命 (LCP、CLS、FCP、TTFB、TBT、速度指数),根据谷歌的官方阈值进行评级(好/需要改进/差)
- 类别得分 (性能、搜索引擎优化、可访问性、最佳实践),0-100分
- 优先机会 预计节省
- 审计失败 具有具体描述和当前值
配置此MCP服务器后,您可以询问您的AI: _“在移动设备和桌面上分析我的主页,告诉我是什么影响了我的核心网络生命体征得分”_ 并获得基于真实灯塔数据的结构化、可操作的答案。
______________________________________________________________________
快速开始
三个步骤:获取API密钥,下载二进制文件,将其添加到MCP配置中。
步骤1:获取Google PageSpeed Insights API密钥
- 首选 谷歌云控制台
- 启用 PageSpeed洞察API
- 创建API密钥(不需要对PSI进行计费)
PSI API是免费的,有大量的配额。不需要计费帐户。
第二步:下载二进制文件
去 发布页面 并下载适用于您平台的二进制文件:
| 平台 | Go二进制 | C#二进制 |
|---|---|---|
| Linux x64 | psi-mcp-go-linux-amd64 | psi-mcp-csharp-linux-x64 |
| Linux arm64 | psi-mcp-go-linux-arm64 | psi-mcp-csharp-linux-arm64 |
| macOS x64(英特尔) | psi-mcp-go-darwin-amd64 | psi-mcp-csharp-osx-x64 |
| macOS arm64(苹果硅) | psi-mcp-go-darwin-arm64 | psi-mcp-csharp-osx-arm64 |
| Windows x64 | psi-mcp-go-windows-amd64.exe | psi-mcp-csharp-win-x64.exe |
| Windows arm64 | psi-mcp-go-windows-arm64.exe | psi-mcp-csharp-win-arm64.exe |
看 Go与C#——哪个二进制? 如果你不确定该选哪一个。
在Linux/macOS上,下载后使二进制文件可执行:
chmod +x psi-mcp-go-linux-amd64步骤3:添加到您的AI工具配置中
请参阅 按工具设置 以下部分针对您的特定客户。
______________________________________________________________________
按工具设置
替换 /path/to/binary 带有下载二进制文件的实际路径。替换 your-api-key-here 使用您的Google PSI API密钥。
Claude Code/GitHub Copilot命令行界面
编辑 ~/.claude/claude_desktop_config.json (或您的Copilot CLI MCP配置):
{
"mcpServers": {
"pagespeed-insights": {
"command": "/path/to/psi-mcp-go-linux-amd64",
"env": {
"GOOGLE_PSI_API_KEY": "your-api-key-here"
}
}
}
}或者使用CLI参数:
{
"mcpServers": {
"pagespeed-insights": {
"command": "/path/to/psi-mcp-go-linux-amd64",
"args": ["--api-key", "your-api-key-here"]
}
}
}克劳德桌面版
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"pagespeed-insights": {
"command": "/path/to/psi-mcp-go-darwin-arm64",
"env": {
"GOOGLE_PSI_API_KEY": "your-api-key-here"
}
}
}
}光标
打开光标设置→ MCP → 添加MCP服务器,或编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"pagespeed-insights": {
"command": "/path/to/psi-mcp-go-linux-amd64",
"env": {
"GOOGLE_PSI_API_KEY": "your-api-key-here"
}
}
}
}VS代码与GitHub Copilot
编辑您的 .vscode/mcp.json 工作空间文件或用户级别 settings.json:
{
"mcp": {
"servers": {
"pagespeed-insights": {
"type": "stdio",
"command": "/path/to/psi-mcp-go-linux-amd64",
"env": {
"GOOGLE_PSI_API_KEY": "your-api-key-here"
}
}
}
}
}Visual Studio
在Visual Studio 2022 17.14+中,打开 工具→ 选项→ GitHub Copilot→ MCP服务器 并添加:
{
"pagespeed-insights": {
"command": "C:\\path\\to\\psi-mcp-csharp-win-x64.exe",
"env": {
"GOOGLE_PSI_API_KEY": "your-api-key-here"
}
}
}任何MCP兼容客户端
服务器使用标准JSON-RPC 2.0通过STDIO进行通信。任何支持STDIO传输和 tools/list + tools/call 协议将起作用:
{
"command": "/path/to/binary",
"args": ["--api-key", "your-key"],
"transport": "stdio"
}______________________________________________________________________
可用工具
analyze_page
使用Google PageSpeed Insights分析单个URL。
参数:
| 名称 | 类型 | 必填 | 默认 | 描述 |
|---|---|---|---|---|
url | string | 是 | -- | 要分析的URL |
strategy | string | 否 | "both" | 分析策略: "mobile", "desktop",或 "both" |
示例提示:
“分析https://www.devleader.ca在移动设备和台式机上,告诉我是什么损害了核心网络生命。"
analyze_pages
在一次调用中分析多个URL。返回一个结果数组。
参数:
| 名称 | 类型 | 必填 | 默认 | 描述 |
|---|---|---|---|---|
urls | string\[\] | Yes | -- | 要分析的URL数组 |
strategy | string | 否 | "both" | 分析策略: "mobile", "desktop",或 "both" |
示例提示:
“分析我的主页、关于页面和最近在移动设备上的一篇博客文章,并比较他们的核心网络生命分数。”
响应结构
这两个工具都返回JSON数组。每个元素代表一个URL+策略组合:
{
"url": "https://example.com",
"strategy": "mobile",
"analyzedAt": "2026-02-21T19:00:00Z",
"scores": {
"performance": 72,
"seo": 92,
"accessibility": 98,
"bestPractices": 95
},
"coreWebVitals": {
"fcp": { "value": 1.8, "unit": "s", "rating": "needs-improvement" },
"lcp": { "value": 3.2, "unit": "s", "rating": "needs-improvement" },
"cls": { "value": 0.08, "rating": "good" },
"tbt": { "value": 85, "unit": "ms", "rating": "good" },
"ttfb": { "value": 420, "unit": "ms", "rating": "needs-improvement" },
"speedIndex": { "value": 2.1, "unit": "s", "rating": "good" }
},
"opportunities": [
{
"id": "render-blocking-resources",
"title": "Eliminate render-blocking resources",
"description": "Resources are blocking the first paint of your page.",
"savings": "Potential savings of 500 ms",
"impact": "high"
}
],
"failingAudits": [
{
"id": "uses-text-compression",
"title": "Enable text compression",
"description": "Text-based resources should be served with compression.",
"score": 0,
"displayValue": "Potential savings of 230 KiB"
}
],
"passedAuditIds": ["uses-https", "viewport", "document-title"]
}核心网络生命值评级阈值(谷歌标准):
| 指标 | 良好 | 需要改进 | 差 |
|---|---|---|---|
| LCP | \=4秒 | ||
| CLS | \=0.25 | ||
| FCP | \=3s | ||
| TTFB | \=1.8秒 | ||
| TBT | \=600ms | ||
| 速度指数 | \=5.8s |
______________________________________________________________________
配置参考
API密钥解析使用以下优先级顺序(从高到低):
1.CLI参数(最高优先级)
/path/to/psi-mcp-go-linux-amd64 --api-key YOUR_KEY在MCP配置JSON中:
{ "args": ["--api-key", "your-key"] }2.环境变量
export GOOGLE_PSI_API_KEY=your-key在MCP配置JSON中:
{ "env": { "GOOGLE_PSI_API_KEY": "your-key" } }3. .env 文件(最低优先级——开发人员便利性)
创建一个 .env 工作目录中的文件:
GOOGLE_PSI_API_KEY=your-key当直接运行二进制文件进行开发和测试时,这很有用。它不适用于生产MCP配置,而是使用环境变量或CLI参数。
______________________________________________________________________
Go与C#——哪个二进制?
这两种实现都公开了具有相同行为的相同工具。唯一的区别是实现细节:
| Aspect | Go | C#原生AOT |
|---|---|---|
| 二进制大小 | ~8-15 MB | ~20-40 MB |
| 启动时间 | ~10-50ms | ~50-100ms |
| 运行时依赖关系 | 无 | 无 |
| 语言 | Go 1.26 | C#/。净值10 |
| MCP SDK | 官方 go-sdk | 官方 ModelContextProtocol |
| 跨平台 | 是 | 是 |
建议: 两者都工作得很好。如果你已经在某家公司工作了。NET生态系统中,C#二进制文件可能会让人感觉更自然地做出贡献。否则,Go二进制文件会稍微小一些,启动速度更快。
______________________________________________________________________
从源代码构建
去
需要Go 1.26+:
cd go
go mod tidy
go build -ldflags="-s -w" -trimpath -o psi-mcp-go .
# Cross-compile example (Linux amd64 from any platform):
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -trimpath -o psi-mcp-go-linux-amd64 .运行测试:
go test ./...C#(需要.NET 10 SDK)
需要 .NET 10 SDK:
cd csharp
# Build (non-AOT, for development)
dotnet build PageSpeedMcp.slnx
# Publish Native AOT (no runtime needed, matches release binaries)
dotnet publish src/PageSpeedMcp/PageSpeedMcp.csproj -r linux-x64 -c Release --self-contained true
# Run tests
dotnet test PageSpeedMcp.slnx注: 原生AOT编译需要特定于平台的原生工具(Linux/macOS上的clang,Windows上的MSVC)。标准 dotnet build 在没有这些工具的情况下进行开发。______________________________________________________________________
相关项目
- 谷歌搜索控制台mcp --Google Search Console MCP服务器:从您的Search Console属性中查询点击次数、展示次数、点击率和排名位置
- 谷歌关键字规划器mcp --Google Ads关键字规划师MCP服务器:关键字创意、搜索量、竞争和CPC数据
______________________________________________________________________
关于
尼克·科森蒂诺——开发负责人
此MCP服务器由 尼克·科森蒂诺,一位软件工程师和内容创作者,被称为 开发负责人尼克创造了实用性。NET、C、ASP。面向中级到高级开发人员的.NET Core、ExpressRoute和软件工程内容,涵盖了从性能优化和干净的架构到现实世界的职业建议的所有内容。
该工具诞生于改进核心网络生命的实际工作 devleader.ca 以及在这一过程中有效使用人工智能助手的愿望。它是构建本机AOT C#和习惯性Go MCP服务器的一个实际例子,没有运行时依赖关系。
在线查找Nick:
- 博客: https://www.devleader.ca
- 油管 https://www.youtube.com/@devleaderca
- 通讯: https://weekly.devleader.ca
- 领英: https://linkedin.com/in/nickcosentino
- 我的所有链接: https://links.devleader.ca
BrandGhost 的
BrandGhost 的 是由Nick构建的社交媒体自动化平台,让内容创作者只需点击一下即可跨所有社交平台发布和安排内容。如果你创建内容,想花更少的时间在分发上,花更多的时间在创建上,请查看。
______________________________________________________________________
贡献
欢迎投稿!拜托:
- 在提交PR之前,打开一个描述错误或功能请求的问题
- 跑
golangci-lint run(Go)或dotnet build提交前没有警告(C#) - 保持两个实现同步——添加到Go的功能也应该添加到C#中,反之亦然
______________________________________________________________________
许可证
MIT许可证——见 许可证 了解详情。
