Beyond MCP Server

export interface SocialContent { id: string; text: string; authorId: string; authorName?: string; authorUsername?: string; createdAt: string; platform: string; replyToId?: string; threadId?: string; likes?: number; reposts?: number; replies?: number; url?: string; metadata?: Record<string, any>; } export interface UserProfile { id: string; displayName?: string; username?: string; bio?: string; profileImageUrl?: string; followerCount?: number; followingCount?: number; platform: string; verified?: boolean; metadata?: Record<string, any>; } export interface Thread { id: string; content: SocialContent; replies: SocialContent[]; platform: string; metadata?: Record<string, any>; } export interface ContentProvider { // Provider identification name: string; platform: string; // Core methods isAvailable(): Promise<boolean>; // Content search searchContent(query: string, options?: SearchOptions): Promise<SocialContent[]>; // User data getUserProfile(userId: string): Promise<UserProfile>; getUserContent(userId: string, options?: ContentOptions): Promise<SocialContent[]>; // Thread/conversation data getThread(threadId: string, options?: ThreadOptions): Promise<Thread>; // Trending information getTrendingTopics(options?: TrendingOptions): Promise<string[]>; } export interface SearchOptions { limit?: number; includeReplies?: boolean; startTime?: Date; endTime?: Date; sortBy?: 'recent' | 'popular'; } export interface ContentOptions { limit?: number; includeReplies?: boolean; contentTypes?: string[]; cursor?: string; } export interface ThreadOptions { limit?: number; includeRootContent?: boolean; } export interface TrendingOptions { limit?: number; category?: string; location?: string; }