#!/usr/bin/env node
import { ObsidianMCPServer } from './server.js';
import { getDefaultConfigPath, ensureConfigExists } from './config/config-loader.js';
async function main() {
// Use env var if provided, otherwise use default location
let configPath = process.env.MCP_OBSIDIAN_CONFIG;
if (!configPath) {
configPath = getDefaultConfigPath();
await ensureConfigExists(configPath);
}
const server = new ObsidianMCPServer(configPath);
// Graceful shutdown
process.on('SIGINT', async () => {
console.error('Received SIGINT, shutting down...');
await server.stop();
process.exit(0);
});
process.on('SIGTERM', async () => {
console.error('Received SIGTERM, shutting down...');
await server.stop();
process.exit(0);
});
try {
await server.start();
} catch (error) {
console.error('Failed to start server:', error);
process.exit(1);
}
}
main();