UNPKG

@sinch/mcp

Version:

Sinch MCP server

45 lines 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.numberLookupHandler = exports.registerNumberLookup = void 0; const zod_1 = require("zod"); const utils_1 = require("../../utils"); const types_1 = require("../../types"); const verification_tools_helper_1 = require("./utils/verification-tools-helper"); const number_lookup_service_helper_1 = require("./utils/number-lookup-service-helper"); const TOOL_KEY = 'numberLookup'; const TOOL_NAME = (0, verification_tools_helper_1.getToolName)(TOOL_KEY); const registerNumberLookup = (server, tags) => { if (!(0, utils_1.matchesAnyTag)(tags, verification_tools_helper_1.verificationToolsConfig[TOOL_KEY].tags)) return; server.tool(TOOL_NAME, 'With quick and easy access to Number Lookup, you can enhance your communications and keep your database as clean as a whistle. Number Lookup checks against first-party numbering sources and provides real-time feedback. Test numbers to ensure your recipients are ready and waiting to receive your messages!', { phoneNumber: zod_1.z.string().describe('Phone number in E.164 format to look up'), }, exports.numberLookupHandler); }; exports.registerNumberLookup = registerNumberLookup; const numberLookupHandler = async ({ phoneNumber }) => { const maybeService = (0, number_lookup_service_helper_1.getNumberLookupService)(TOOL_NAME); if ((0, utils_1.isPromptResponse)(maybeService)) { return maybeService.promptResponse; } const numberLookupService = maybeService; try { const response = await numberLookupService.lookup({ numberLookupRequestBody: { number: phoneNumber, features: ['LineType'] } }); return new types_1.PromptResponse(JSON.stringify({ success: true, data: response })).promptResponse; } catch (error) { return new types_1.PromptResponse(JSON.stringify({ success: false, error: `Failed to look up number '${phoneNumber}': ${error instanceof Error ? error.message : String(error)}` })).promptResponse; } }; exports.numberLookupHandler = numberLookupHandler; //# sourceMappingURL=number-lookup.js.map