tarot-mcp-server
Version:
Model Context Protocol server for Rider-Waite tarot card readings
81 lines (80 loc) • 2.14 kB
TypeScript
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;
}