UNPKG

whodis-mcp-server

Version:

Whodis MCP Server for checking the availability of domain names using WHOIS lookups.

51 lines (50 loc) 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatIpDetails = formatIpDetails; const formatter_util_js_1 = require("../utils/formatter.util.js"); /** * Format IP address details into Markdown. * @param ipData - Raw IP details from the ip-api.com service. * @returns Formatted Markdown string. */ function formatIpDetails(ipData) { const lines = []; // Add a main heading lines.push((0, formatter_util_js_1.formatHeading)(`IP Address Details: ${ipData.query}`, 1)); lines.push(''); // Add a summary section lines.push((0, formatter_util_js_1.formatHeading)('Location Information', 2)); // Format the location information in a structured way const locationInfo = { Country: `${ipData.country} (${ipData.countryCode})`, Region: `${ipData.regionName} (${ipData.region})`, City: ipData.city, 'Zip/Postal Code': ipData.zip, Coordinates: `${ipData.lat}, ${ipData.lon}`, Timezone: ipData.timezone, }; lines.push((0, formatter_util_js_1.formatBulletList)(locationInfo)); lines.push(''); // Add network information section lines.push((0, formatter_util_js_1.formatHeading)('Network Information', 2)); const networkInfo = { 'IP Address': ipData.query, ISP: ipData.isp, Organization: ipData.org, AS: ipData.as, }; lines.push((0, formatter_util_js_1.formatBulletList)(networkInfo)); // Add a map link if coordinates are available if (ipData.lat && ipData.lon) { lines.push(''); lines.push((0, formatter_util_js_1.formatHeading)('Map', 2)); const mapUrl = `https://www.openstreetmap.org/?mlat=${ipData.lat}&mlon=${ipData.lon}&zoom=12`; lines.push(`${(0, formatter_util_js_1.formatUrl)(mapUrl, 'View on OpenStreetMap')}`); } // Add a separator lines.push(''); lines.push((0, formatter_util_js_1.formatSeparator)()); // Add a timestamp footer lines.push(`*Details retrieved at ${(0, formatter_util_js_1.formatDate)(new Date())}*`); return lines.join('\n'); }