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
TypeScript
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>;