/** * Firefox Relay MCP Server Entry Point * * Main server initialization and tool registration for the Anonymous Email Management * MCP server. This server provides comprehensive email management capabilities * for Firefox Relay addresses with a focus on privacy, security, and anonymity. * * Features: * - Firefox Relay address management * - Email retrieval and processing * - OTP extraction and handling * - Anonymous email sending simulation * - PQC-ready encryption architecture * - Comprehensive audit logging * - Security analysis and validation * * Follows golden-standard programming practices: * - Singleton pattern for database and API client * - Zod v4 validation for all inputs * - Comprehensive error handling * - Type-safe TypeScript design * - Production-ready architecture */ import { McpServer } from '@modelcontextprotocol/server'; import { MCPTool } from './types'; interface ServerConfig { name: string; version: string; enableLogging: boolean; logLevel: 'debug' | 'info' | 'warn' | 'error'; } /** * Get server configuration from environment and Configuration singleton */ declare function getServerConfig(): ServerConfig; /** * Registry of all available MCP tools */ declare const TOOLS: Record; /** * Type-safe tool name type */ export type ToolName = keyof typeof TOOLS; /** * Get all registered tool names */ declare function getToolNames(): ToolName[]; /** * Get a specific tool by name */ declare function getTool(name: ToolName): MCPTool; /** * MCP Resource URIs available from this server */ export declare const RESOURCE_URI: { readonly RELAY_ADDRESSES: "urn:anonsec:relay/addresses"; readonly SERVER_INFO: "urn:anonsec:server/info"; readonly AUDIT_LOGS: "urn:anonsec:audit/logs"; }; /** * Type for resource URI */ export type ResourceUri = typeof RESOURCE_URI[keyof typeof RESOURCE_URI]; interface HealthStatus { status: 'healthy'; timestamp: string; database: { connected: boolean; relayAddresses: number; emails: number; }; apiClient: { hasApiStats: boolean; }; server: { name: string; version: string; uptime: number; }; } /** * Get server health status */ declare function getHealthStatus(): HealthStatus; /** * Initialize the MCP server with all tools and resources */ declare function initializeServer(): McpServer; /** * Main server entry point * * This function: * 1. Initializes the Configuration singleton * 2. Creates and configures the MCP server * 3. Registers all tools and resources * 4. Connects the server to a stdio transport * 5. Handles lifecycle events */ export declare function startServer(): Promise; export { getServerConfig, getToolNames, getTool, initializeServer, getHealthStatus, }; export default startServer; //# sourceMappingURL=index.d.ts.map