import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { registerZclientsTools } from "./zclients.js";
import { registerBdbTools } from "./bdb.js";
import { registerAttomTools } from "./attom.js";

export interface WestrockServerOptions {
  /**
   * zclients job folders live on ahuja's Windows machine (My ShareSync),
   * not reachable from a hosted Linux server. Disable on hosted deploys
   * until a shared/mounted file store exists (doc 14 open question).
   */
  includeZclients?: boolean;
}

export function createWestrockServer(options: WestrockServerOptions = {}): McpServer {
  const { includeZclients = true } = options;
  const server = new McpServer({
    name: "westrock",
    version: "2.0.0",
  });
  if (includeZclients) registerZclientsTools(server);
  registerBdbTools(server);
  registerAttomTools(server);
  return server;
}
