UNPKG

tarot-mcp-server

Version:

Model Context Protocol server for Rider-Waite tarot card readings

81 lines (80 loc) 2.14 kB
import { TarotCard } from './types.js'; export interface CardAnalytics { overview: DatabaseOverview; dataQuality: DataQualityReport; contentAnalysis: ContentAnalysis; recommendations: string[]; } export interface DatabaseOverview { totalCards: number; completionRate: number; arcanaDistribution: Record<string, number>; suitDistribution: Record<string, number>; elementDistribution: Record<string, number>; } export interface DataQualityReport { completeCards: number; incompleteCards: string[]; averageKeywordsPerCard: number; averageSymbolsPerCard: number; missingFields: Record<string, string[]>; } export interface ContentAnalysis { mostCommonKeywords: Array<{ keyword: string; count: number; percentage: number; }>; keywordsByOrientation: { upright: Array<{ keyword: string; count: number; }>; reversed: Array<{ keyword: string; count: number; }>; }; thematicAnalysis: Record<string, number>; lengthStatistics: { averageDescriptionLength: number; averageMeaningLength: number; longestDescription: { card: string; length: number; }; shortestDescription: { card: string; length: number; }; }; } /** * Analytics and insights for the tarot card database */ export declare class TarotCardAnalytics { private cards; constructor(cards: readonly TarotCard[]); /** * Generate comprehensive analytics report */ generateReport(): CardAnalytics; /** * Get database overview statistics */ getDatabaseOverview(): DatabaseOverview; /** * Analyze data quality and completeness */ getDataQualityReport(): DataQualityReport; /** * Analyze card content and themes */ getContentAnalysis(): ContentAnalysis; /** * Generate recommendations for database improvement */ generateRecommendations(): string[]; private calculateCompletionRate; private analyzeThemes; }