Skip to main content
Glama

documcp

by tosin2013
index.ts22.8 kB
/** * Memory System for DocuMCP * Provides persistent memory and learning capabilities */ export { JSONLStorage, type MemoryEntry } from "./storage.js"; export { MemoryManager, type MemoryContext, type MemorySearchOptions, } from "./manager.js"; export { EnhancedMemoryManager, type EnhancedRecommendation, type IntelligentAnalysis, } from "./enhanced-manager.js"; export { IncrementalLearningSystem, type ProjectFeatures, type LearningPattern, type LearningInsight, } from "./learning.js"; export { KnowledgeGraph, type GraphNode, type GraphEdge, type GraphPath, type RecommendationPath, } from "./knowledge-graph.js"; export { ContextualMemoryRetrieval, type RetrievalContext, type ContextualMatch, type RetrievalResult, } from "./contextual-retrieval.js"; export { MultiAgentMemorySharing, type AgentIdentity, type SharedMemory, type CollaborativeInsight, } from "./multi-agent-sharing.js"; export { MemoryPruningSystem, type PruningPolicy, type OptimizationMetrics, type PruningResult, } from "./pruning.js"; export { TemporalMemoryAnalysis, type TemporalPattern, type TemporalMetrics, type PredictionResult, type TemporalInsight, } from "./temporal-analysis.js"; export { MemoryVisualizationSystem, type VisualizationConfig, type ChartData, type DashboardData, type NetworkVisualization, } from "./visualization.js"; export { MemoryExportImportSystem, type ExportOptions, type ImportOptions, type ExportResult, type ImportResult, type MigrationPlan, } from "./export-import.js"; export { initializeMemory, rememberAnalysis, rememberRecommendation, rememberDeployment, rememberConfiguration, recallProjectHistory, getProjectInsights, getSimilarProjects, cleanupOldMemories, exportMemories, importMemories, getMemoryStatistics, getMemoryManager, handleMemoryRecall, handleMemoryIntelligentAnalysis, handleMemoryEnhancedRecommendation, } from "./integration.js"; // Memory Tools for MCP export const memoryTools = [ { name: "memory_recall", description: "Recall memories about a project or topic", inputSchema: { type: "object", properties: { query: { type: "string", description: "Search query or project ID", }, type: { type: "string", enum: [ "analysis", "recommendation", "deployment", "configuration", "interaction", "all", ], description: "Type of memory to recall", }, limit: { type: "number", description: "Maximum number of memories to return", default: 10, }, }, required: ["query"], }, }, { name: "memory_intelligent_analysis", description: "Get intelligent analysis with patterns, predictions, and recommendations", inputSchema: { type: "object", properties: { projectPath: { type: "string", description: "Path to the project for analysis", }, baseAnalysis: { type: "object", description: "Base analysis data to enhance", }, }, required: ["projectPath", "baseAnalysis"], }, }, { name: "memory_enhanced_recommendation", description: "Get enhanced recommendations using learning and knowledge graph", inputSchema: { type: "object", properties: { projectPath: { type: "string", description: "Path to the project", }, baseRecommendation: { type: "object", description: "Base recommendation to enhance", }, projectFeatures: { type: "object", properties: { language: { type: "string" }, framework: { type: "string" }, size: { type: "string", enum: ["small", "medium", "large"] }, complexity: { type: "string", enum: ["simple", "moderate", "complex"], }, hasTests: { type: "boolean" }, hasCI: { type: "boolean" }, hasDocs: { type: "boolean" }, isOpenSource: { type: "boolean" }, }, required: ["language"], }, }, required: ["projectPath", "baseRecommendation", "projectFeatures"], }, }, { name: "memory_learning_stats", description: "Get comprehensive learning and knowledge graph statistics", inputSchema: { type: "object", properties: { includeDetails: { type: "boolean", description: "Include detailed statistics", default: true, }, }, }, }, { name: "memory_knowledge_graph", description: "Query the knowledge graph for relationships and paths", inputSchema: { type: "object", properties: { query: { type: "object", properties: { nodeTypes: { type: "array", items: { type: "string" }, description: "Filter by node types", }, edgeTypes: { type: "array", items: { type: "string" }, description: "Filter by edge types", }, startNode: { type: "string", description: "Starting node for path queries", }, maxDepth: { type: "number", description: "Maximum path depth", default: 3, }, }, }, }, required: ["query"], }, }, { name: "memory_contextual_search", description: "Perform contextual memory retrieval with intelligent ranking", inputSchema: { type: "object", properties: { query: { type: "string", description: "Search query", }, context: { type: "object", properties: { currentProject: { type: "object", properties: { path: { type: "string" }, language: { type: "string" }, framework: { type: "string" }, size: { type: "string", enum: ["small", "medium", "large"] }, }, }, userIntent: { type: "object", properties: { action: { type: "string", enum: [ "analyze", "recommend", "deploy", "troubleshoot", "learn", ], }, urgency: { type: "string", enum: ["low", "medium", "high"] }, experience: { type: "string", enum: ["novice", "intermediate", "expert"], }, }, }, temporalContext: { type: "object", properties: { recency: { type: "string", enum: ["recent", "all", "historical"], }, timeRange: { type: "object", properties: { start: { type: "string" }, end: { type: "string" }, }, }, }, }, }, }, options: { type: "object", properties: { maxResults: { type: "number", default: 10 }, minRelevance: { type: "number", default: 0.3 }, includeReasoning: { type: "boolean", default: true }, }, }, }, required: ["query", "context"], }, }, { name: "memory_agent_network", description: "Manage multi-agent memory sharing and collaboration", inputSchema: { type: "object", properties: { action: { type: "string", enum: [ "register_agent", "share_memory", "sync_request", "get_insights", "network_status", ], description: "Action to perform", }, agentInfo: { type: "object", properties: { name: { type: "string" }, capabilities: { type: "array", items: { type: "string" } }, specializations: { type: "array", items: { type: "string" } }, trustLevel: { type: "string", enum: ["low", "medium", "high", "trusted"], }, }, }, memoryId: { type: "string", description: "Memory ID for sharing operations", }, targetAgent: { type: "string", description: "Target agent for sync operations", }, options: { type: "object", properties: { anonymize: { type: "boolean", default: false }, requireValidation: { type: "boolean", default: false }, }, }, }, required: ["action"], }, }, { name: "memory_insights", description: "Get insights and patterns from memory", inputSchema: { type: "object", properties: { projectId: { type: "string", description: "Project ID to analyze", }, timeRange: { type: "object", properties: { start: { type: "string", format: "date-time" }, end: { type: "string", format: "date-time" }, }, description: "Time range for analysis", }, }, }, }, { name: "memory_similar", description: "Find similar projects from memory", inputSchema: { type: "object", properties: { analysisId: { type: "string", description: "Analysis ID to find similar projects for", }, limit: { type: "number", description: "Maximum number of similar projects", default: 5, }, }, required: ["analysisId"], }, }, { name: "memory_export", description: "Export memories to JSON or CSV", inputSchema: { type: "object", properties: { format: { type: "string", enum: ["json", "csv"], description: "Export format", default: "json", }, filter: { type: "object", properties: { type: { type: "string" }, projectId: { type: "string" }, startDate: { type: "string", format: "date-time" }, endDate: { type: "string", format: "date-time" }, }, description: "Filter memories to export", }, }, }, }, { name: "memory_cleanup", description: "Clean up old memories", inputSchema: { type: "object", properties: { daysToKeep: { type: "number", description: "Number of days of memories to keep", default: 30, }, dryRun: { type: "boolean", description: "Preview what would be deleted without actually deleting", default: false, }, }, }, }, { name: "memory_pruning", description: "Intelligent memory pruning and optimization", inputSchema: { type: "object", properties: { policy: { type: "object", properties: { maxAge: { type: "number", description: "Maximum age in days", default: 180, }, maxSize: { type: "number", description: "Maximum storage size in MB", default: 500, }, maxEntries: { type: "number", description: "Maximum number of entries", default: 50000, }, preservePatterns: { type: "array", items: { type: "string" }, description: "Pattern types to preserve", }, compressionThreshold: { type: "number", description: "Compress entries older than X days", default: 30, }, redundancyThreshold: { type: "number", description: "Remove similar entries with similarity > X", default: 0.85, }, }, }, dryRun: { type: "boolean", description: "Preview pruning without executing", default: false, }, }, }, }, { name: "memory_temporal_analysis", description: "Analyze temporal patterns and trends in memory data", inputSchema: { type: "object", properties: { query: { type: "object", properties: { timeRange: { type: "object", properties: { start: { type: "string", format: "date-time" }, end: { type: "string", format: "date-time" }, }, }, granularity: { type: "string", enum: ["hour", "day", "week", "month", "year"], default: "day", }, aggregation: { type: "string", enum: ["count", "success_rate", "activity_level", "diversity"], default: "count", }, filters: { type: "object", properties: { types: { type: "array", items: { type: "string" } }, projects: { type: "array", items: { type: "string" } }, outcomes: { type: "array", items: { type: "string" } }, tags: { type: "array", items: { type: "string" } }, }, }, }, }, analysisType: { type: "string", enum: ["patterns", "metrics", "predictions", "insights"], default: "patterns", }, }, }, }, { name: "memory_visualization", description: "Generate visual representations of memory data", inputSchema: { type: "object", properties: { visualizationType: { type: "string", enum: [ "dashboard", "timeline", "network", "heatmap", "distribution", "trends", "custom", ], default: "dashboard", }, options: { type: "object", properties: { timeRange: { type: "object", properties: { start: { type: "string", format: "date-time" }, end: { type: "string", format: "date-time" }, }, }, includeCharts: { type: "array", items: { type: "string" } }, config: { type: "object", properties: { width: { type: "number", default: 800 }, height: { type: "number", default: 600 }, theme: { type: "string", enum: ["light", "dark", "auto"], default: "light", }, exportFormat: { type: "string", enum: ["svg", "png", "json", "html"], default: "svg", }, interactive: { type: "boolean", default: true }, }, }, }, }, customVisualization: { type: "object", properties: { type: { type: "string", enum: [ "line", "bar", "scatter", "heatmap", "network", "sankey", "treemap", "timeline", ], }, query: { type: "object", properties: { filters: { type: "object" }, groupBy: { type: "string" }, aggregation: { type: "string" }, }, }, }, }, }, }, }, { name: "memory_export_advanced", description: "Advanced memory export with multiple formats and options", inputSchema: { type: "object", properties: { outputPath: { type: "string", description: "Output file path" }, options: { type: "object", properties: { format: { type: "string", enum: [ "json", "jsonl", "csv", "xml", "yaml", "sqlite", "archive", ], default: "json", }, compression: { type: "string", enum: ["gzip", "zip", "none"], default: "none", }, includeMetadata: { type: "boolean", default: true }, includeLearning: { type: "boolean", default: true }, includeKnowledgeGraph: { type: "boolean", default: true }, filters: { type: "object", properties: { types: { type: "array", items: { type: "string" } }, dateRange: { type: "object", properties: { start: { type: "string", format: "date-time" }, end: { type: "string", format: "date-time" }, }, }, projects: { type: "array", items: { type: "string" } }, tags: { type: "array", items: { type: "string" } }, outcomes: { type: "array", items: { type: "string" } }, }, }, anonymize: { type: "object", properties: { enabled: { type: "boolean", default: false }, fields: { type: "array", items: { type: "string" } }, method: { type: "string", enum: ["hash", "remove", "pseudonymize"], default: "hash", }, }, }, encryption: { type: "object", properties: { enabled: { type: "boolean", default: false }, algorithm: { type: "string", enum: ["aes-256-gcm", "aes-192-gcm", "aes-128-gcm"], default: "aes-256-gcm", }, password: { type: "string" }, }, }, }, }, }, required: ["outputPath"], }, }, { name: "memory_import_advanced", description: "Advanced memory import with validation and conflict resolution", inputSchema: { type: "object", properties: { inputPath: { type: "string", description: "Input file path" }, options: { type: "object", properties: { format: { type: "string", enum: [ "json", "jsonl", "csv", "xml", "yaml", "sqlite", "archive", ], default: "json", }, mode: { type: "string", enum: ["merge", "replace", "append", "update"], default: "merge", }, validation: { type: "string", enum: ["strict", "loose", "none"], default: "strict", }, conflictResolution: { type: "string", enum: ["skip", "overwrite", "merge", "rename"], default: "skip", }, backup: { type: "boolean", default: true }, dryRun: { type: "boolean", default: false }, mapping: { type: "object", description: "Field mapping for different schemas", }, transformation: { type: "object", properties: { enabled: { type: "boolean", default: false }, rules: { type: "array", items: { type: "object", properties: { field: { type: "string" }, operation: { type: "string", enum: ["convert", "transform", "validate"], }, params: { type: "object" }, }, }, }, }, }, }, }, }, required: ["inputPath"], }, }, { name: "memory_migration", description: "Create and execute migration plans between different memory systems", inputSchema: { type: "object", properties: { action: { type: "string", enum: ["create_plan", "execute_migration", "validate_compatibility"], default: "create_plan", }, sourcePath: { type: "string", description: "Source data path" }, migrationPlan: { type: "object", properties: { sourceSystem: { type: "string" }, targetSystem: { type: "string", default: "DocuMCP" }, mapping: { type: "object" }, transformations: { type: "array" }, validation: { type: "array" }, postProcessing: { type: "array", items: { type: "string" } }, }, }, sourceSchema: { type: "object", description: "Source system schema" }, targetSchema: { type: "object", description: "Target system schema" }, options: { type: "object", properties: { autoMap: { type: "boolean", default: true }, preserveStructure: { type: "boolean", default: true }, customMappings: { type: "object" }, }, }, }, }, }, { name: "memory_optimization_metrics", description: "Get comprehensive optimization metrics and recommendations", inputSchema: { type: "object", properties: { includeRecommendations: { type: "boolean", default: true }, timeRange: { type: "object", properties: { start: { type: "string", format: "date-time" }, end: { type: "string", format: "date-time" }, }, }, }, }, }, ];

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tosin2013/documcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server