UNPKG

@shopsavvy/mcp-server

Version:

Model Context Protocol (MCP) server providing AI assistants with access to ShopSavvy's comprehensive product data, pricing information, historical price tracking, and automated monitoring capabilities

148 lines (129 loc) 2.6 kB
import { ReactNode } from "react"; export interface Page { template?: string; theme?: string; metadata?: Metadata; header?: Header; hero?: Hero; usercase?: Section; sections?: Section[]; section?: Section; feature?: Section; testimonial?: Section; faq?: Section; cta?: Section; social?: Social; footer?: Footer; user?: User; localesComponent?: ReactNode; } export interface Metadata { title?: string; description?: string; keywords?: string; canonical?: string; } export interface User { name?: string; email?: string; avatar?: Image; url?: string; target?: string; items?: Item[]; } export interface Header { brand?: Brand; nav?: Nav; login_button?: Button; buttons?: Button[]; disabled?: boolean; } export interface Hero { title?: string; description?: string; image?: Image; video?: Video; tip?: string; primary_button?: Button; secondary_button?: Button; image_position?: ImagePosition; text_align?: TextAlign; buttons?: Button[]; show_happy_users?: boolean; highlight_text?: string; disabled?: boolean; show_proof?: boolean; } export interface Section extends Item {} export interface Contact { [key: string]: Item[]; } export interface Footer { brand?: Brand; social?: Social; navs?: Nav[]; copyright?: Copyright; qrcode?: Image; nav?: Nav; buttons?: Button[]; disabled?: boolean; badge_disabled?: boolean; } export interface Nav { title?: string; items: Item[]; } export interface Item { name?: string; title?: string; description?: string; content?: string; type?: string; url?: string; target?: string; icon?: JSX.Element; avatar?: Image; image?: Image; video?: Video; theme?: string; children?: Item[]; tip?: string; button?: Button; image_position?: ImagePosition; text_align?: TextAlign; items?: Item[]; buttons?: Button[]; disabled?: boolean; label?: string; } export interface Image { src: string; title?: string; status?: string; } export interface Video { src: string; title?: string; auto_play?: boolean; } export interface Button extends Item {} export interface Brand { title?: string; description?: string; domain?: string; avatar?: Image; url?: string; } export interface Social { title?: string; description?: string; items?: { [key: string]: Item }; } export interface Copyright { owner?: string; text?: string; url?: string; target?: string; } export type ImagePosition = "right" | "left" | "center" | undefined; export type TextAlign = "left" | "center" | undefined;