// ABOUTME: Entry point for the Minesweeper MCP stdio server.
// ABOUTME: Boots the MCP SDK server over stdio transport.
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { loadConfig } from "./config.js";
import { buildStartupDebugInfo } from "./debug.js";
import { createServer } from "./server.js";
async function main(): Promise<void> {
if (process.env.MINESWEEPER_DEBUG_STARTUP?.trim()) {
console.error(
buildStartupDebugInfo({
env: process.env,
cwd: process.cwd(),
nodeVersion: process.version,
platform: process.platform,
arch: process.arch,
})
);
}
const config = loadConfig(process.env);
const server = createServer(config);
await server.connect(new StdioServerTransport());
}
main().catch((error) => {
const message = error instanceof Error ? error.message : "Startup failed";
console.error(JSON.stringify({ level: "error", message }));
process.exit(1);
});