UNPKG

@rpironato/mcp-reactbits-server

Version:

Enhanced MCP server for accessing ReactBits component library with GitHub API integration, advanced search, and comprehensive metadata - 107 components with real code access from DavidHDev/react-bits repository

178 lines 5.1 kB
/** * Serviços avançados para o MCP ReactBits * Implementa funcionalidades completas de metadados, CLI e documentação */ import { ComponentInfo } from '../data/components.js'; /** * Estatísticas completas do ReactBits */ export interface ReactBitsStats { totalComponents: number; totalImplementations: number; categoriesCount: number; dependencies: { name: string; usage: number; components: string[]; }[]; newComponents: string[]; updatedComponents: string[]; topKeywords: { keyword: string; count: number; }[]; } /** * Informações detalhadas de instalação */ export interface InstallationInfo { component: ComponentInfo; packageCommands: { npm: string; yarn: string; pnpm: string; bun: string; }; dependencyCommands: { [packageManager: string]: string[]; }; jsrepoCommands: { [version: string]: string; }; setupSteps: string[]; usageExample: string; troubleshooting: string[]; } /** * Documentação completa do componente */ export interface ComponentDocumentation { component: ComponentInfo; overview: string; installation: InstallationInfo; usage: { basicExample: string; advancedExample: string; props: { name: string; type: string; required: boolean; default?: string; description: string; }[]; }; styling: { cssClasses: string[]; customization: string; themes: string[]; }; accessibility: { features: string[]; guidelines: string[]; }; relatedComponents: ComponentInfo[]; } /** * Gerar estatísticas completas do ReactBits */ export declare function getReactBitsStats(): ReactBitsStats; /** * Gerar informações completas de instalação */ export declare function getInstallationInfo(componentName: string, version: 'js' | 'js-tailwind' | 'ts' | 'ts-tailwind'): InstallationInfo; /** * Gerar documentação completa do componente */ export declare function getComponentDocumentation(componentName: string): ComponentDocumentation; /** * Buscar componentes avançada com filtros múltiplos (corrigida) */ export declare function advancedComponentSearch(params: { query?: string; category?: ComponentInfo['category']; dependencies?: string[]; keywords?: string[]; isNew?: boolean; isUpdated?: boolean; limit?: number; sortBy?: 'name' | 'category' | 'relevance'; }): ComponentInfo[]; /** * Gerar relatório completo do ReactBits */ export declare function generateReactBitsReport(): string; /** * ReactBitsService - Classe de serviço principal * Encapsula todas as funcionalidades avançadas do ReactBits */ export declare class ReactBitsService { /** * Obter estatísticas completas do ReactBits */ getReactBitsStats(): ReactBitsStats; /** * Gerar relatório markdown das estatísticas */ generateStatsReport(): string; /** * Obter informações de instalação de um componente */ getInstallationInfo(componentName: string, version: 'js' | 'js-tailwind' | 'ts' | 'ts-tailwind'): InstallationInfo; /** * Obter documentação completa de um componente */ getComponentDocumentation(componentName: string): ComponentDocumentation; /** * Gerar documentação completa de um componente */ private generateComponentDocumentation; /** * Busca avançada com múltiplos filtros (melhorada) */ advancedSearch(params: any): ComponentInfo[]; /** * Listar categorias */ listCategories(args: any): readonly [{ readonly name: "TextAnimations"; readonly count: number; readonly description: "Animated text effects and typography"; }, { readonly name: "Animations"; readonly count: number; readonly description: "General animation components and effects"; }, { readonly name: "Components"; readonly count: number; readonly description: "UI components and interactive widgets"; }, { readonly name: "Backgrounds"; readonly count: number; readonly description: "Background effects and patterns"; }] | ({ components: string[]; name: "TextAnimations"; count: number; description: "Animated text effects and typography"; } | { components: string[]; name: "Animations"; count: number; description: "General animation components and effects"; } | { components: string[]; name: "Components"; count: number; description: "UI components and interactive widgets"; } | { components: string[]; name: "Backgrounds"; count: number; description: "Background effects and patterns"; })[]; /** * Encontrar componente por nome */ findComponent(name: string): ComponentInfo | undefined; } //# sourceMappingURL=reactbitsService.d.ts.map