Pages Websites
Page Lighthouse Laboratory Evidence MCP
Page Lighthouse Laboratory Evidence. Datos del laboratorio de Lighthouse heridos con evidencia explícita desaparecida. Un envío y al menos seis lecturas fijas. Los valores ausentes no son cero. Los precios y la publicación no se aprueban. Los resultados exitosos sólo para propietarios siguen disponibles en la historia de llamadas. Las reglas de frecuencia fuente de siete días se aplican sólo a las solicitudes dependientes.
Prompts y casos de uso de Page Lighthouse Laboratory Evidence
Después de conectar esta herramienta MCP a tu asistente de IA, puedes plantear las preguntas siguientes. Sustituye los marcadores entre corchetes por tus datos y usa los valores admitidos en Argumentos.
¿Es tu primera vez con Nexscope MCP? Sigue la guía de conexión, y después usa los prompts siguientes. Las pestañas Integración y Parámetros y respuesta contienen los pasos de conexión, un ejemplo de llamada y la referencia técnica.
1. Comprueba Desktop Page Performance
Prompt: Ejecutar una evaluación del faro de escritorio [public page URL]. Resume los datos de rendimiento obtenidos en laboratorio y distínguelos de los datos de usuarios reales.
2. Compruebe la página móvil
Prompt: Ejecutar una evaluación móvil de Faro [public page URL]. Resume los datos de rendimiento obtenidos en laboratorio y distínguelos de los datos de usuarios reales.
3. Compare Escritorio y pruebas de laboratorio móvil
Prompt: Ejecute exactamente dos evaluaciones de Lighthouse [public page URL], un escritorio y un móvil. Compare las métricas de tiempo de bloqueo con dispositivo y tiempo de búsqueda más grande con contenido. Estas son observaciones separadas del laboratorio, no un experimento causal controlado o datos de campo de usuario real.
Qué debes proporcionar
Una tarea presentada no es un resultado completo. Mantenga su referencia y compruebe la terminación antes de resumir la salida; no cree trabajos duplicados.
Un valor ausente no equivale a cero. Interpreta únicamente los datos devueltos dentro del período de observación y del alcance de la muestra.
Paso 1 · Conectar
Conecta tu asistente de IA
Conecta un cliente MCP compatible a Nexscope y selecciona esta herramienta en tu asistente. Completa la autenticación en la configuración de conexión del cliente.
POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/jsonAutenticación
Usa el código de autorización OAuth 2.1 con PKCE y el ámbito mcp:tools. Las claves de API siguen siendo una opción de compatibilidad admitida.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxx¿Usas una clave de API? Obtén tu clave en Acceso a la API e inclúyela en el encabezado Authorization que se muestra arriba.
Llamar a esta herramienta MCP
nexscope_page_lighthousehttps://api.nexscope.ai/mcptools/callInicializa una sesión HTTP Streamable MCP 2025-11-25 en https://api.nexscope.ai/mcp y después usa tools/call.
{
"jsonrpc": "2.0",
"id": "page-lighthouse-1",
"method": "tools/call",
"params": {
"name": "nexscope_page_lighthouse",
"arguments": {
"device": "DESKTOP",
"url": "nexscope"
}
}
}MCP 2025-11-25 · Streamable HTTPLa respuesta SSE del POST inicial comunica el progreso. El flujo SSE por GET transmite notificaciones; si se restablece la conexión, consulta la tarea asíncrona existente en vez de enviarla de nuevo.
Flujo de tareas asíncronas
- 1. Crear una sola vez
Conserva el taskId devuelto.
- 2. Consultar con espera progresiva
Usa nexscope_media_task_result después de 5 segundos y luego de 10, 20 y 30 segundos.
- 3. Usar el resultado final
Detén las consultas al obtener éxito, fallo o tiempo de espera agotado.
{
"jsonrpc": "2.0",
"id": "page-lighthouse-result-1",
"method": "tools/call",
"params": {
"name": "nexscope_media_task_result",
"arguments": {
"skillSlug": "page-lighthouse",
"taskId": "TASK_ID_FROM_THE_GENERATION_RESULT"
}
}
}Argumentos
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
device | string | opcional | - |
url | string | obligatorio | - |
Campos de respuesta
Usa structuredContent como los datos de respuesta de la API para el procesamiento programático.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
code | integer | obligatorio | 0 es un sobre exitoso; inspeccionar data.status por separado. Permitidos: 0, 42008, 42009 |
cost | string | obligatorio | Procesamiento transcurrido milisegundos; no precio. -1 para contextos no-web. |
data | object | obligatorio | Valor de Data usado por esta operación de API. |
data.callId | string | null | opcional | Valor de Call id usado por esta operación de API. |
data.completedAt | string | integer | null | opcional | Valor de Completed at usado por esta operación de API. |
data.coverage | object | opcional | Valor de Coverage usado por esta operación de API. |
data.coverage.missing | array | opcional | Valor de Missing usado por esta operación de API. |
data.coverage.missing[] | object | obligatorio | Elemento de data coverage missing. |
data.coverage.missing[].field | string | opcional | Valor de Field usado por esta operación de API. |
data.coverage.missing[].reason | string | opcional | Valor de Reason usado por esta operación de API. |
data.coverage.status | string | opcional | Valor de Status usado por esta operación de API. |
data.requestedAt | string | integer | null | opcional | Valor de Requested at usado por esta operación de API. |
data.result | object | null | obligatorio | Valor de Result usado por esta operación de API. |
data.result.coverage | object | obligatorio | Valor de Coverage usado por esta operación de API. |
data.result.coverage.invalidItemCount | integer | obligatorio | Valor de Invalid item count usado por esta operación de API. Mínimo: 0 |
data.result.coverage.limit | integer | obligatorio | Valor de Limit usado por esta operación de API. Constante: 1 |
data.result.coverage.maxCrawlPages | integer | null | obligatorio | Valor de Max crawl pages usado por esta operación de API. Mínimo: 0 |
data.result.coverage.offset | integer | obligatorio | Valor de Offset usado por esta operación de API. Constante: 0 |
data.result.coverage.pagesCrawled | integer | null | obligatorio | Valor de Pages crawled usado por esta operación de API. Mínimo: 0 |
data.result.coverage.providerTotal | integer | null | obligatorio | Valor de Provider total usado por esta operación de API. Mínimo: 0 |
data.result.coverage.returnedCount | integer | obligatorio | Valor de Returned count usado por esta operación de API. Mínimo: 0 Máximo: 1 |
data.result.coverage.sampled | boolean | obligatorio | Valor de Sampled usado por esta operación de API. Constante: true |
data.result.coverage.stopReason | string | null | obligatorio | Valor de Stop reason usado por esta operación de API. |
data.result.coverage.truncated | boolean | obligatorio | Valor de Truncated usado por esta operación de API. |
data.result.items | array | obligatorio | Valor de Items usado por esta operación de API. Cantidad máxima de elementos: 1 |
data.result.items[] | object | obligatorio | Elemento de data result items. |
data.result.items[].categories | object | obligatorio | Valor de Categories usado por esta operación de API. |
data.result.items[].categories.accessibility | number | null | obligatorio | Valor de Accessibility usado por esta operación de API. Mínimo: 0 Máximo: 1 |
data.result.items[].categories.bestPractices | number | null | obligatorio | Valor de Best practices usado por esta operación de API. Mínimo: 0 Máximo: 1 |
data.result.items[].categories.performance | number | null | obligatorio | Valor de Performance usado por esta operación de API. Mínimo: 0 Máximo: 1 |
data.result.items[].categories.seo | number | null | obligatorio | Valor de Seo usado por esta operación de API. Mínimo: 0 Máximo: 1 |
data.result.items[].device | string | obligatorio | Valor de Device usado por esta operación de API. Permitidos: DESKTOP, MOBILE |
data.result.items[].fetchTime | integer | null | obligatorio | Valor de Fetch time usado por esta operación de API. Mínimo: 0 |
data.result.items[].finalUrl | string | null | obligatorio | Valor de Final url usado por esta operación de API. |
data.result.items[].lighthouseVersion | string | null | obligatorio | Valor de Lighthouse version usado por esta operación de API. |
data.result.items[].metrics | object | obligatorio | Valor de Metrics usado por esta operación de API. |
data.result.items[].metrics.cumulativeLayoutShift | number | null | obligatorio | Valor de Cumulative layout shift usado por esta operación de API. Mínimo: 0 |
data.result.items[].metrics.firstContentfulPaintMs | number | null | obligatorio | Valor de First contentful paint ms usado por esta operación de API. Mínimo: 0 |
data.result.items[].metrics.largestContentfulPaintMs | number | null | obligatorio | Valor de Largest contentful paint ms usado por esta operación de API. Mínimo: 0 |
data.result.items[].metrics.speedIndexMs | number | null | obligatorio | Valor de Speed index ms usado por esta operación de API. Mínimo: 0 |
data.result.items[].metrics.totalBlockingTimeMs | number | null | obligatorio | Valor de Total blocking time ms usado por esta operación de API. Mínimo: 0 |
data.result.items[].requestedUrl | string | obligatorio | Valor de Requested url usado por esta operación de API. |
data.result.missingFields | array | obligatorio | Valor de Missing fields usado por esta operación de API. |
data.result.missingFields[] | object | obligatorio | Elemento de data result missingFields. |
data.result.missingFields[].field | string | obligatorio | Valor de Field usado por esta operación de API. |
data.result.missingFields[].reason | string | obligatorio | Valor de Reason usado por esta operación de API. Permitidos: UPSTREAM_FIELD_MISSING, UPSTREAM_FIELD_INVALID, DUPLICATE_UPSTREAM_ITEM, UPSTREAM_ITEM_MISSING |
data.result.source | object | obligatorio | Valor de Source usado por esta operación de API. |
data.result.source.candidateId | string | obligatorio | Valor de Candidate id usado por esta operación de API. Constante: MD-PW-15 |
data.result.source.collectedAt | integer | null | obligatorio | Valor de Collected at usado por esta operación de API. Mínimo: 0 |
data.result.source.observationKind | string | obligatorio | Valor de Observation kind usado por esta operación de API. Constante: LAB_RUN |
data.result.source.product | string | obligatorio | Valor de Product usado por esta operación de API. Constante: on_page |
data.result.source.provider | string | obligatorio | Valor de Provider usado por esta operación de API. Constante: DATAFORSEO |
data.result.source.queriedAt | integer | obligatorio | Valor de Queried at usado por esta operación de API. Mínimo: 0 |
data.result.source.sourceCallId | string | null | obligatorio | Valor de Source call id usado por esta operación de API. |
data.result.source.sourcePlanVersion | string | null | obligatorio | Valor de Source plan version usado por esta operación de API. |
data.result.source.sourceSchemaVersion | string | null | obligatorio | Valor de Source schema version usado por esta operación de API. |
data.result.warnings | array | obligatorio | Valor de Warnings usado por esta operación de API. |
data.result.warnings[] | string | obligatorio | Elemento de data result warnings. |
data.schemaVersion | string | null | opcional | Valor de Schema version usado por esta operación de API. |
data.source | string | null | opcional | Valor de Source usado por esta operación de API. |
data.status | string | opcional | Valor de Status usado por esta operación de API. Permitidos: SUCCESS, PARTIAL, EMPTY, PROCESSING, UNKNOWN, FAILED |
data.usage | object | null | opcional | Valor de Usage usado por esta operación de API. |
data.usage.billingStatus | string | null | opcional | Valor de Billing status usado por esta operación de API. |
data.usage.chargedCredits | string | integer | null | opcional | Valor de Charged credits usado por esta operación de API. |
msg | string | null | obligatorio | Disponible aguas arriba msg/errmsg/message es preferido por el éxito y el fracaso; el chino se traduce al inglés. Perder el mensaje exitoso es nulo. Solo errores y estados de tareas utilizan la plataforma Inglés. El texto del mensaje nunca determina el éxito o la reingresación. |
time | string | obligatorio | Sí...MM- No. HH:mm:ss |
traceId | string | null | obligatorio | Valor de Trace id usado por esta operación de API. |
ts | string | obligatorio | Epoch milliseconds; global long serializer. |
Preguntas y respuestas de ejemplo
Se basa en una muestra de la documentación publicada, no en una llamada en vivo a la herramienta.
Tu pregunta
Ejecutar una evaluación del faro de escritorio http://www.baidu.com/. Resume the returned laboratory performance evidence and distinguish it from real-user field data.
Respuesta de ejemplo
La muestra de escritorio para baidu.com reporta una puntuación de rendimiento de 0,38 y la pintura con mayor contenido de 2,748.666 milisegundos. Estas son observaciones de laboratorio Lighthouse de la ejecución registrada, no de uso real Core Web Vitals.
Sobre esta muestra: Este ejemplo se basa en una muestra de la documentación publicada; no procede de una llamada nueva ni en vivo. Conserva las fechas, el alcance de la fuente y los datos ausentes: las métricas de la muestra no describen el rendimiento actual. Los valores exigidos por la envoltura de transporte (cost, time, traceId y ts) son ilustrativos para completar el esquema, no tiempos publicados; los datos del resultado se conservan.
Ver los datos de ejemplo publicados (JSON)
Ejemplo de datos REST publicado. Para llamar a esta herramienta, consulta los argumentos MCP en Parámetros y respuesta.
Ejemplo de datos
Ejemplo de solicitud y respuesta
Parámetros de solicitud
{
"url": "http://www.baidu.com/",
"device": "DESKTOP"
}Respuesta
{
"code": 0,
"msg": null,
"data": {
"usage": {
"billingStatus": "CHARGED",
"chargedCredits": 8
},
"callId": "f4c76eda-8d3f-473d-ada8-cd98fad01877",
"result": {
"items": [
{
"device": "DESKTOP",
"metrics": {
"speedIndexMs": 4603.817398534154,
"totalBlockingTimeMs": 1153.360500000001,
"cumulativeLayoutShift": 0.0004414091001955462,
"firstContentfulPaintMs": 2508.5730000000003,
"largestContentfulPaintMs": 2748.666
},
"finalUrl": "https://www.baidu.com/",
"fetchTime": 1789640914298,
"categories": {
"seo": 0.92,
"performance": 0.38,
"accessibility": 0.73,
"bestPractices": 0.41
},
"requestedUrl": "http://www.baidu.com/",
"lighthouseVersion": "13.4.0"
}
],
"source": {
"product": "on_page",
"provider": "DATAFORSEO",
"queriedAt": 1789641147084,
"candidateId": "MD-PW-15",
"collectedAt": 1789640914298,
"sourceCallId": null,
"observationKind": "LAB_RUN",
"sourcePlanVersion": null,
"sourceSchemaVersion": null
},
"coverage": {
"limit": 1,
"offset": 0,
"sampled": true,
"truncated": false,
"stopReason": null,
"pagesCrawled": null,
"maxCrawlPages": null,
"providerTotal": null,
"returnedCount": 1,
"invalidItemCount": 0
},
"warnings": [
"Laboratory measurement; not real-user Core Web Vitals."
],
"missingFields": []
},
"source": "dataforseo",
"status": "SUCCESS",
"coverage": {
"status": "COMPLETE",
"missing": []
},
"completedAt": 1789641147084,
"requestedAt": 1789640663703,
"schemaVersion": "MDX-F2-PW15-1.0"
}
}Ver el formato de solicitud y respuesta MCP
Ejemplos
Se basa en una muestra de la documentación publicada, no en una llamada en vivo a la herramienta.
La estructura JSON-RPC siguiente muestra cómo se presentan en MCP los argumentos y los datos indicados. No procede de una captura de tráfico ni demuestra que la llamada se haya completado. Los ejemplos de flujo de trabajo no muestran un resultado.
Solicitud MCP
{
"jsonrpc": "2.0",
"id": "page-lighthouse-example",
"method": "tools/call",
"params": {
"name": "nexscope_page_lighthouse",
"arguments": {
"url": "http://www.baidu.com/",
"device": "DESKTOP"
}
}
}Formato de respuesta MCP
{
"jsonrpc": "2.0",
"id": "page-lighthouse-example",
"result": {
"content": [
{
"type": "text",
"text": "{\"code\":0,\"msg\":null,\"data\":{\"usage\":{\"billingStatus\":\"CHARGED\",\"chargedCredits\":8},\"callId\":\"f4c76eda-8d3f-473d-ada8-cd98fad01877\",\"result\":{\"items\":[{\"device\":\"DESKTOP\",\"metrics\":{\"speedIndexMs\":4603.817398534154,\"totalBlockingTimeMs\":1153.360500000001,\"cumulativeLayoutShift\":0.0004414091001955462,\"firstContentfulPaintMs\":2508.5730000000003,\"largestContentfulPaintMs\":2748.666},\"finalUrl\":\"https://www.baidu.com/\",\"fetchTime\":1789640914298,\"categories\":{\"seo\":0.92,\"performance\":0.38,\"accessibility\":0.73,\"bestPractices\":0.41},\"requestedUrl\":\"http://www.baidu.com/\",\"lighthouseVersion\":\"13.4.0\"}],\"source\":{\"product\":\"on_page\",\"provider\":\"DATAFORSEO\",\"queriedAt\":1789641147084,\"candidateId\":\"MD-PW-15\",\"collectedAt\":1789640914298,\"sourceCallId\":null,\"observationKind\":\"LAB_RUN\",\"sourcePlanVersion\":null,\"sourceSchemaVersion\":null},\"coverage\":{\"limit\":1,\"offset\":0,\"sampled\":true,\"truncated\":false,\"stopReason\":null,\"pagesCrawled\":null,\"maxCrawlPages\":null,\"providerTotal\":null,\"returnedCount\":1,\"invalidItemCount\":0},\"warnings\":[\"Laboratory measurement; not real-user Core Web Vitals.\"],\"missingFields\":[]},\"source\":\"dataforseo\",\"status\":\"SUCCESS\",\"coverage\":{\"status\":\"COMPLETE\",\"missing\":[]},\"completedAt\":1789641147084,\"requestedAt\":1789640663703,\"schemaVersion\":\"MDX-F2-PW15-1.0\"},\"cost\":\"-1\",\"time\":\"2026-01-01 00:00:01\",\"traceId\":null,\"ts\":\"1767225601000\"}"
}
],
"structuredContent": {
"code": 0,
"msg": null,
"data": {
"usage": {
"billingStatus": "CHARGED",
"chargedCredits": 8
},
"callId": "f4c76eda-8d3f-473d-ada8-cd98fad01877",
"result": {
"items": [
{
"device": "DESKTOP",
"metrics": {
"speedIndexMs": 4603.817398534154,
"totalBlockingTimeMs": 1153.360500000001,
"cumulativeLayoutShift": 0.0004414091001955462,
"firstContentfulPaintMs": 2508.5730000000003,
"largestContentfulPaintMs": 2748.666
},
"finalUrl": "https://www.baidu.com/",
"fetchTime": 1789640914298,
"categories": {
"seo": 0.92,
"performance": 0.38,
"accessibility": 0.73,
"bestPractices": 0.41
},
"requestedUrl": "http://www.baidu.com/",
"lighthouseVersion": "13.4.0"
}
],
"source": {
"product": "on_page",
"provider": "DATAFORSEO",
"queriedAt": 1789641147084,
"candidateId": "MD-PW-15",
"collectedAt": 1789640914298,
"sourceCallId": null,
"observationKind": "LAB_RUN",
"sourcePlanVersion": null,
"sourceSchemaVersion": null
},
"coverage": {
"limit": 1,
"offset": 0,
"sampled": true,
"truncated": false,
"stopReason": null,
"pagesCrawled": null,
"maxCrawlPages": null,
"providerTotal": null,
"returnedCount": 1,
"invalidItemCount": 0
},
"warnings": [
"Laboratory measurement; not real-user Core Web Vitals."
],
"missingFields": []
},
"source": "dataforseo",
"status": "SUCCESS",
"coverage": {
"status": "COMPLETE",
"missing": []
},
"completedAt": 1789641147084,
"requestedAt": 1789640663703,
"schemaVersion": "MDX-F2-PW15-1.0"
},
"cost": "-1",
"time": "2026-01-01 00:00:01",
"traceId": null,
"ts": "1767225601000"
},
"isError": false
}
}