Skip to main content
Glama
session-factory.ts1.2 kB
/** * Session Factory * Single responsibility: Neo4j session creation and management */ import { Session } from 'neo4j-driver'; import { Neo4jDriverManager } from './neo4j-driver'; export class SessionFactory { constructor(private driverManager: Neo4jDriverManager) {} /** * Create session for specific database */ createSession(database?: string): Session { const driver = this.driverManager.getDriver(); // Use current database from driver manager, not config const currentDatabase = database || this.driverManager.getCurrentDatabase().database; return driver.session({ database: currentDatabase }); } /** * Create system session for database management */ createSystemSession(): Session { const driver = this.driverManager.getDriver(); return driver.session({ database: 'system' }); } /** * Execute operation with session auto-cleanup */ async withSession<T>( operation: (session: Session) => Promise<T>, database?: string ): Promise<T> { const session = this.createSession(database); try { return await operation(session); } finally { await session.close(); } } }

Latest Blog Posts

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/sylweriusz/mcp-neo4j-memory-server'

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