import dotenv from 'dotenv';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// 加载上一级目录的 .env
dotenv.config({ path: path.join(__dirname, '../.env') });
export const CONFIG = {
server: {
name: process.env.MCP_SERVER_NAME || "memory",
version: process.env.MCP_SERVER_VERSION || "2.0.0",
displayName: process.env.MCP_SERVER_DISPLAY_NAME || "Memory Server (Enhanced)",
description: process.env.MCP_SERVER_DESCRIPTION || "Enhanced memory server with semantic search and knowledge graph capabilities",
publisher: process.env.MCP_SERVER_PUBLISHER || "MCP",
protocolVersion: process.env.MCP_PROTOCOL_VERSION || "2024-11-05"
},
logging: {
levels: ["error", "warn", "info", "debug"],
debugFile: process.env.MCP_DEBUG_LOG_PATH || path.join(__dirname, '../memory-debug.log')
},
db: {
connectionString: process.env.DATABASE_URL,
maxPoolSize: parseInt(process.env.DB_MAX_POOL_SIZE || "20"),
idleTimeout: parseInt(process.env.DB_IDLE_TIMEOUT || "30000")
},
embeddings: {
apiKey: process.env.DASHSCOPE_API_KEY,
apiUrl: process.env.DASHSCOPE_API_URL || "https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding",
model: process.env.EMBEDDINGS_MODEL || "text-embedding-v3",
dimensions: parseInt(process.env.EMBEDDINGS_DIMENSIONS || "1024")
},
search: {
defaultLimit: parseInt(process.env.SEARCH_DEFAULT_LIMIT || "10")
}
};