UNPKG

@codervisor/devlog-mcp

Version:

MCP server for managing development logs and working notes

60 lines (59 loc) 2.03 kB
/** * Configuration for MCP server * Uses HTTP API client for secure and isolated access to devlog operations */ /** * Load MCP server configuration from environment variables */ export function loadMCPConfig() { const defaultProjectId = process.env.MCP_DEFAULT_PROJECT || 'default'; const baseUrl = process.env.MCP_WEB_API_URL || 'http://localhost:3200'; const timeout = process.env.MCP_WEB_API_TIMEOUT ? parseInt(process.env.MCP_WEB_API_TIMEOUT, 10) : 30000; const retries = process.env.MCP_WEB_API_RETRIES ? parseInt(process.env.MCP_WEB_API_RETRIES, 10) : 3; const autoDiscover = process.env.MCP_WEB_API_AUTO_DISCOVER !== 'false'; // Default to true return { defaultProjectId, webApi: { baseUrl, timeout, retries, autoDiscover, }, }; } /** * Validate MCP configuration */ export function validateMCPConfig(config) { if (!config.webApi?.baseUrl) { throw new Error('Web API base URL is required'); } try { new URL(config.webApi.baseUrl); } catch { throw new Error(`Invalid web API base URL: ${config.webApi.baseUrl}`); } if (config.webApi?.timeout && config.webApi.timeout < 1000) { throw new Error('Web API timeout must be at least 1000ms'); } if (config.webApi?.retries && (config.webApi.retries < 0 || config.webApi.retries > 10)) { throw new Error('Web API retries must be between 0 and 10'); } } /** * Print configuration summary for debugging */ export function printConfigSummary(config) { console.log('\n=== MCP Server Configuration ==='); console.log(`Default Project: ${config.defaultProjectId}`); console.log(`Web API URL: ${config.webApi.baseUrl}`); console.log(`Timeout: ${config.webApi.timeout}ms`); console.log(`Retries: ${config.webApi.retries}`); console.log(`Auto-discover: ${config.webApi.autoDiscover}`); console.log('================================\n'); }