@sinch/mcp
Version:
Sinch MCP server
45 lines • 2.25 kB
JavaScript
;
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