knowledgegraph-mcp
Version:
MCP server for enabling persistent knowledge storage for Claude through a knowledge graph with multiple storage backends
63 lines • 1.72 kB
TypeScript
import { KnowledgeGraph } from '../index.js';
/**
* Storage types supported by the knowledge graph MCP server
*/
export declare enum StorageType {
POSTGRESQL = "postgresql",
SQLITE = "sqlite"
}
/**
* Configuration for storage providers
*/
export interface StorageConfig {
type: StorageType;
connectionString: string;
fuzzySearch?: {
useDatabaseSearch?: boolean;
threshold?: number;
clientSideFallback?: boolean;
};
options?: Record<string, any>;
}
/**
* Abstract interface for storage providers
*/
export interface StorageProvider {
/**
* Load a knowledge graph for a specific project
*/
loadGraph(project: string): Promise<KnowledgeGraph>;
/**
* Save a knowledge graph for a specific project
*/
saveGraph(graph: KnowledgeGraph, project: string): Promise<void>;
/**
* Initialize the storage provider (create tables, directories, etc.)
*/
initialize(): Promise<void>;
/**
* Close connections and cleanup resources
*/
close(): Promise<void>;
/**
* Optional migration method for data migration between storage types
*/
migrate?(project: string): Promise<void>;
/**
* Health check for the storage provider
*/
healthCheck?(): Promise<boolean>;
}
/**
* Migration service interface for moving data between storage providers
*/
export interface MigrationService {
migrateFromStorage(project: string, sourceStorage: StorageProvider, targetStorage: StorageProvider): Promise<void>;
}
/**
* Storage provider factory interface
*/
export interface StorageFactory {
create(config: StorageConfig): StorageProvider;
}
//# sourceMappingURL=types.d.ts.map