UNPKG

mcp-context-engineering

Version:

The intelligent context optimization system for AI coding assistants. Built with Cole's PRP methodology, Context Portal knowledge graphs, and production-ready MongoDB architecture.

110 lines (109 loc) 3.09 kB
import { MongoClient, Db } from 'mongodb'; import { z } from 'zod'; export declare const MongoConfigSchema: z.ZodObject<{ uri: z.ZodString; database: z.ZodString; options: z.ZodOptional<z.ZodObject<{ maxPoolSize: z.ZodDefault<z.ZodNumber>; serverSelectionTimeoutMS: z.ZodDefault<z.ZodNumber>; socketTimeoutMS: z.ZodDefault<z.ZodNumber>; maxIdleTimeMS: z.ZodDefault<z.ZodNumber>; retryWrites: z.ZodDefault<z.ZodBoolean>; retryReads: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { maxPoolSize?: number; serverSelectionTimeoutMS?: number; socketTimeoutMS?: number; maxIdleTimeMS?: number; retryWrites?: boolean; retryReads?: boolean; }, { maxPoolSize?: number; serverSelectionTimeoutMS?: number; socketTimeoutMS?: number; maxIdleTimeMS?: number; retryWrites?: boolean; retryReads?: boolean; }>>; }, "strip", z.ZodTypeAny, { options?: { maxPoolSize?: number; serverSelectionTimeoutMS?: number; socketTimeoutMS?: number; maxIdleTimeMS?: number; retryWrites?: boolean; retryReads?: boolean; }; uri?: string; database?: string; }, { options?: { maxPoolSize?: number; serverSelectionTimeoutMS?: number; socketTimeoutMS?: number; maxIdleTimeMS?: number; retryWrites?: boolean; retryReads?: boolean; }; uri?: string; database?: string; }>; export type MongoConfig = z.infer<typeof MongoConfigSchema>; /** * MongoDB Connection Manager following official MongoDB MCP patterns */ export declare class MongoConnectionManager { private client; private database; private config; private isConnected; constructor(config: MongoConfig); /** * Establish connection to MongoDB * Following MongoDB MCP server connection patterns */ connect(): Promise<void>; /** * Ensure database connection is active * Following MongoDB MCP server patterns */ ensureConnected(): Promise<void>; /** * Get database instance */ getDatabase(): Db; /** * Get client instance */ getClient(): MongoClient; /** * Check if connected */ isConnectedToDatabase(): boolean; /** * Close connection */ disconnect(): Promise<void>; /** * Ensure required indexes for vector search and performance * Enhanced with Context Portal patterns and MongoDB best practices */ private ensureIndexes; /** * Health check for monitoring */ healthCheck(): Promise<{ connected: boolean; database: string; collections: string[]; latency: number; }>; } /** * Get singleton connection manager instance */ export declare function getConnectionManager(config?: MongoConfig): MongoConnectionManager; /** * Initialize and connect to MongoDB */ export declare function initializeDatabase(config: MongoConfig): Promise<MongoConnectionManager>;