@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
TypeScript
/**
* 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