UNPKG

buena-typescript-sdk

Version:

Official TypeScript SDK for Buena.ai API - LinkedIn automation and lead management

70 lines (62 loc) 2.07 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { SDKCore } from "../core.js"; import { SDKOptions } from "../lib/config.js"; import type { ConsoleLogger } from "./console-logger.js"; import { createRegisterPrompt } from "./prompts.js"; import { createRegisterResource, createRegisterResourceTemplate, } from "./resources.js"; import { MCPScope } from "./scopes.js"; import { createRegisterTool } from "./tools.js"; import { tool$createApiKey } from "./tools/createApiKey.js"; import { tool$createLead } from "./tools/createLead.js"; import { tool$healthCheck } from "./tools/healthCheck.js"; import { tool$listApiKeys } from "./tools/listApiKeys.js"; import { tool$listLeads } from "./tools/listLeads.js"; export function createMCPServer(deps: { logger: ConsoleLogger; allowedTools?: string[] | undefined; scopes?: MCPScope[] | undefined; serverURL?: string | undefined; apiKeyAuth?: SDKOptions["apiKeyAuth"] | undefined; serverIdx?: SDKOptions["serverIdx"] | undefined; }) { const server = new McpServer({ name: "SDK", version: "0.0.1", }); const client = new SDKCore({ apiKeyAuth: deps.apiKeyAuth, serverURL: deps.serverURL, serverIdx: deps.serverIdx, }); 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$healthCheck); tool(tool$createApiKey); tool(tool$listApiKeys); tool(tool$listLeads); tool(tool$createLead); return server; }