@danielsogl/lighthouse-mcp
Version:
A comprehensive Model Context Protocol (MCP) server that provides web performance auditing, accessibility testing, SEO analysis, security assessment, and Core Web Vitals monitoring using Google Lighthouse. Enables LLMs and AI agents to perform detailed we
97 lines (96 loc) • 4.29 kB
TypeScript
import { z } from "zod";
export declare const baseSchemas: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
throttling: z.ZodDefault<z.ZodBoolean>;
categories: z.ZodOptional<z.ZodArray<z.ZodEnum<["performance", "accessibility", "best-practices", "seo", "pwa"]>, "many">>;
includeDetails: z.ZodDefault<z.ZodBoolean>;
threshold: z.ZodOptional<z.ZodNumber>;
};
export declare const auditParamsSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
categories: z.ZodOptional<z.ZodArray<z.ZodEnum<["performance", "accessibility", "best-practices", "seo", "pwa"]>, "many">>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
throttling: z.ZodDefault<z.ZodBoolean>;
};
export declare const basicAuditSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
};
export declare const detailedAuditSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
includeDetails: z.ZodDefault<z.ZodBoolean>;
};
export declare const coreWebVitalsSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
includeDetails: z.ZodDefault<z.ZodBoolean>;
threshold: z.ZodOptional<z.ZodObject<{
lcp: z.ZodOptional<z.ZodNumber>;
fid: z.ZodOptional<z.ZodNumber>;
cls: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
lcp?: number | undefined;
fid?: number | undefined;
cls?: number | undefined;
}, {
lcp?: number | undefined;
fid?: number | undefined;
cls?: number | undefined;
}>>;
};
export declare const performanceBudgetSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
budget: z.ZodObject<{
performanceScore: z.ZodOptional<z.ZodNumber>;
firstContentfulPaint: z.ZodOptional<z.ZodNumber>;
largestContentfulPaint: z.ZodOptional<z.ZodNumber>;
totalBlockingTime: z.ZodOptional<z.ZodNumber>;
cumulativeLayoutShift: z.ZodOptional<z.ZodNumber>;
speedIndex: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
firstContentfulPaint?: number | undefined;
largestContentfulPaint?: number | undefined;
totalBlockingTime?: number | undefined;
cumulativeLayoutShift?: number | undefined;
speedIndex?: number | undefined;
performanceScore?: number | undefined;
}, {
firstContentfulPaint?: number | undefined;
largestContentfulPaint?: number | undefined;
totalBlockingTime?: number | undefined;
cumulativeLayoutShift?: number | undefined;
speedIndex?: number | undefined;
performanceScore?: number | undefined;
}>;
};
export declare const compareDevicesSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
categories: z.ZodOptional<z.ZodArray<z.ZodEnum<["performance", "accessibility", "best-practices", "seo", "pwa"]>, "many">>;
throttling: z.ZodDefault<z.ZodBoolean>;
includeDetails: z.ZodDefault<z.ZodBoolean>;
};
export declare const resourceAnalysisSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
resourceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<["images", "javascript", "css", "fonts", "other"]>, "many">>;
minSize: z.ZodOptional<z.ZodNumber>;
};
export declare const lcpOpportunitiesSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
includeDetails: z.ZodDefault<z.ZodBoolean>;
threshold: z.ZodOptional<z.ZodNumber>;
};
export declare const unusedJavaScriptSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
minBytes: z.ZodDefault<z.ZodNumber>;
};
export declare const securityAuditSchema: {
url: z.ZodEffects<z.ZodString, string, string>;
device: z.ZodDefault<z.ZodEnum<["desktop", "mobile"]>>;
checks: z.ZodOptional<z.ZodArray<z.ZodEnum<["https", "mixed-content", "csp", "hsts", "vulnerabilities"]>, "many">>;
};