"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMCPServer = createMCPServer;
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
const core_js_1 = require("../core.js");
const scopes_js_1 = require("./scopes.js");
const tools_js_1 = require("./tools.js");
const accountCreateBasin_js_1 = require("./tools/accountCreateBasin.js");
const accountDeleteBasin_js_1 = require("./tools/accountDeleteBasin.js");
const accountGetBasinConfig_js_1 = require("./tools/accountGetBasinConfig.js");
const accountListBasins_js_1 = require("./tools/accountListBasins.js");
const accountReconfigureBasin_js_1 = require("./tools/accountReconfigureBasin.js");
const basinCreateStream_js_1 = require("./tools/basinCreateStream.js");
const basinDeleteStream_js_1 = require("./tools/basinDeleteStream.js");
const basinGetStreamConfig_js_1 = require("./tools/basinGetStreamConfig.js");
const basinListStreams_js_1 = require("./tools/basinListStreams.js");
const basinReconfigureStream_js_1 = require("./tools/basinReconfigureStream.js");
const streamAppend_js_1 = require("./tools/streamAppend.js");
const streamCheckTail_js_1 = require("./tools/streamCheckTail.js");
const streamRead_js_1 = require("./tools/streamRead.js");
function createMCPServer(deps) {
    const server = new mcp_js_1.McpServer({
        name: "S2",
        version: "0.5.0",
    });
    const client = new core_js_1.S2Core({
        bearerAuth: deps.bearerAuth,
        serverURL: deps.serverURL,
        serverIdx: deps.serverIdx,
    });
    const scopes = new Set(deps.scopes ?? scopes_js_1.mcpScopes);
    const tool = (0, tools_js_1.createRegisterTool)(deps.logger, server, client, scopes);
    tool(accountListBasins_js_1.tool$accountListBasins);
    tool(accountGetBasinConfig_js_1.tool$accountGetBasinConfig);
    tool(accountCreateBasin_js_1.tool$accountCreateBasin);
    tool(accountDeleteBasin_js_1.tool$accountDeleteBasin);
    tool(accountReconfigureBasin_js_1.tool$accountReconfigureBasin);
    tool(basinListStreams_js_1.tool$basinListStreams);
    tool(basinGetStreamConfig_js_1.tool$basinGetStreamConfig);
    tool(basinCreateStream_js_1.tool$basinCreateStream);
    tool(basinDeleteStream_js_1.tool$basinDeleteStream);
    tool(basinReconfigureStream_js_1.tool$basinReconfigureStream);
    tool(streamRead_js_1.tool$streamRead);
    tool(streamAppend_js_1.tool$streamAppend);
    tool(streamCheckTail_js_1.tool$streamCheckTail);
    return server;
}
//# sourceMappingURL=server.js.map