/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { CloudinaryEnvConfigCore } from "../core.js";
import { createRegisterPrompt } from "./prompts.js";
import { createRegisterResource, createRegisterResourceTemplate, } from "./resources.js";
import { createRegisterTool } from "./tools.js";
import { tool$streamingProfilesCreateStreamingProfile } from "./tools/streamingProfilesCreateStreamingProfile.js";
import { tool$streamingProfilesDeleteStreamingProfile } from "./tools/streamingProfilesDeleteStreamingProfile.js";
import { tool$streamingProfilesGetStreamingProfile } from "./tools/streamingProfilesGetStreamingProfile.js";
import { tool$streamingProfilesGetStreamingProfiles } from "./tools/streamingProfilesGetStreamingProfiles.js";
import { tool$streamingProfilesUpdateStreamingProfile } from "./tools/streamingProfilesUpdateStreamingProfile.js";
import { tool$transformationsCreateTransformation } from "./tools/transformationsCreateTransformation.js";
import { tool$transformationsDeleteTransformation } from "./tools/transformationsDeleteTransformation.js";
import { tool$transformationsGetTransformation } from "./tools/transformationsGetTransformation.js";
import { tool$transformationsListTransformations } from "./tools/transformationsListTransformations.js";
import { tool$transformationsUpdateTransformation } from "./tools/transformationsUpdateTransformation.js";
import { tool$triggersCreateTrigger } from "./tools/triggersCreateTrigger.js";
import { tool$triggersDeleteTrigger } from "./tools/triggersDeleteTrigger.js";
import { tool$triggersListTrigger } from "./tools/triggersListTrigger.js";
import { tool$triggersUpdateTrigger } from "./tools/triggersUpdateTrigger.js";
import { tool$uploadMappingsCreateUploadMapping } from "./tools/uploadMappingsCreateUploadMapping.js";
import { tool$uploadMappingsDeleteUploadMapping } from "./tools/uploadMappingsDeleteUploadMapping.js";
import { tool$uploadMappingsListUploadMappings } from "./tools/uploadMappingsListUploadMappings.js";
import { tool$uploadMappingsUpdateUploadMapping } from "./tools/uploadMappingsUpdateUploadMapping.js";
import { tool$uploadPresetsCreateUploadPreset } from "./tools/uploadPresetsCreateUploadPreset.js";
import { tool$uploadPresetsDeleteUploadPreset } from "./tools/uploadPresetsDeleteUploadPreset.js";
import { tool$uploadPresetsGetUploadPreset } from "./tools/uploadPresetsGetUploadPreset.js";
import { tool$uploadPresetsListUploadPresets } from "./tools/uploadPresetsListUploadPresets.js";
import { tool$uploadPresetsUpdateUploadPreset } from "./tools/uploadPresetsUpdateUploadPreset.js";
export function createMCPServer(deps) {
    const server = new McpServer({
        name: "CloudinaryEnvConfig",
        version: "0.3.4",
    });
    const client = new CloudinaryEnvConfigCore({
        security: deps.security,
        cloudName: deps.cloudName,
        serverURL: deps.serverURL,
        serverIdx: deps.serverIdx,
        region: deps.region,
        host: deps.host,
    });
    const scopes = new Set(deps.scopes);
    const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
    const tool = createRegisterTool(deps.logger, server, client, scopes, allowedTools);
    const resource = createRegisterResource(deps.logger, server, client, scopes);
    const resourceTemplate = createRegisterResourceTemplate(deps.logger, server, client, scopes);
    const prompt = createRegisterPrompt(deps.logger, server, client, scopes);
    const register = { tool, resource, resourceTemplate, prompt };
    void register; // suppress unused warnings
    tool(tool$transformationsListTransformations);
    tool(tool$transformationsGetTransformation);
    tool(tool$transformationsCreateTransformation);
    tool(tool$transformationsUpdateTransformation);
    tool(tool$transformationsDeleteTransformation);
    tool(tool$uploadPresetsCreateUploadPreset);
    tool(tool$uploadPresetsListUploadPresets);
    tool(tool$uploadPresetsGetUploadPreset);
    tool(tool$uploadPresetsUpdateUploadPreset);
    tool(tool$uploadPresetsDeleteUploadPreset);
    tool(tool$uploadMappingsListUploadMappings);
    tool(tool$uploadMappingsCreateUploadMapping);
    tool(tool$uploadMappingsUpdateUploadMapping);
    tool(tool$uploadMappingsDeleteUploadMapping);
    tool(tool$triggersListTrigger);
    tool(tool$triggersCreateTrigger);
    tool(tool$triggersUpdateTrigger);
    tool(tool$triggersDeleteTrigger);
    tool(tool$streamingProfilesCreateStreamingProfile);
    tool(tool$streamingProfilesGetStreamingProfiles);
    tool(tool$streamingProfilesGetStreamingProfile);
    tool(tool$streamingProfilesUpdateStreamingProfile);
    tool(tool$streamingProfilesDeleteStreamingProfile);
    return server;
}
//# sourceMappingURL=server.js.map