mcp-magma-handbook
Version:
Enhanced MCP server with multi-query search, hybrid search, and collections for MAGMA computational algebra system
54 lines • 1.86 kB
TypeScript
interface MagmaDocument {
content: string;
metadata: {
source: string;
page: number;
category: string;
chapter?: string;
section?: string;
hasCode?: boolean;
hasExample?: boolean;
wordCount?: number;
};
}
interface SearchResult extends MagmaDocument {
score: number;
vectorSimilarity?: number;
bm25Score?: number;
rank?: number;
}
export declare class AdvancedMagmaKnowledgeBase {
private supabase;
private embeddings;
private textSplitter;
private isInitialized;
private queryCache;
private readonly CACHE_TTL;
constructor();
initialize(): Promise<void>;
indexPDF(pdfPath: string): Promise<void>;
private cleanText;
private enhanceMetadata;
private categorizeContent;
private extractAndIndexFunctions;
private extractFunctionDefinitions;
hybridSearch(query: string, limit?: number, category?: string, vectorWeight?: number, // BM25를 더 중요하게 (코딩 이론에서는 키워드가 중요)
bm25Weight?: number): Promise<SearchResult[]>;
searchFunctions(functionQuery: string, limit?: number): Promise<any[]>;
enhancedSearch(query: string, limit?: number, category?: string): Promise<SearchResult[]>;
private expandQuery;
private rerankResults;
search(query: string, limit?: number, category?: string): Promise<SearchResult[]>;
getExamples(topic: string, complexity?: string): Promise<any[]>;
explainCode(code: string, context?: string): Promise<string>;
private extractExampleFromContent;
private extractFunctions;
private buildCodeExplanation;
private analyzeLine;
private extractTitle;
private cleanMagmaCode;
private extractExplanation;
private assessComplexity;
}
export {};
//# sourceMappingURL=advanced-knowledge-base.d.ts.map