#!/usr/bin/env node import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { loadConfig } from "./config.js"; import { SqlServerClient } from "./db.js"; import { registerSqlServerTools } from "./tools.js"; const VERSION = "1.0.0"; if (process.argv.includes("--help") || process.argv.includes("-h")) { console.log(`sqlserver-mcp-server ${VERSION} Local stdio MCP server for Microsoft SQL Server. Required environment: SERVER_NAME DATABASE_NAME or DATABASES Optional environment: DB_USER, DB_PASSWORD, READONLY, ENABLE_DDL, TRUST_SERVER_CERTIFICATE, DB_ENCRYPT, CONNECTION_TIMEOUT, QUERY_TIMEOUT_MS, MAX_ROWS, MAX_WRITE_ROWS`); process.exit(0); } if (process.argv.includes("--version") || process.argv.includes("-v")) { console.log(VERSION); process.exit(0); } async function main() { const config = loadConfig(); const client = new SqlServerClient(config); const server = new McpServer({ name: "sqlserver-mcp-server", version: VERSION }); registerSqlServerTools(server, client); const transport = new StdioServerTransport(); await server.connect(transport); console.error("sqlserver-mcp-server running via stdio"); const shutdown = async () => { await client.close(); await server.close(); }; process.once("SIGINT", () => { shutdown().finally(() => process.exit(0)); }); process.once("SIGTERM", () => { shutdown().finally(() => process.exit(0)); }); } main().catch((error) => { console.error(error instanceof Error ? error.message : String(error)); process.exit(1); }); //# sourceMappingURL=index.js.map