whodis-mcp-server
Version:
Whodis MCP Server for checking the availability of domain names using WHOIS lookups.
51 lines (50 loc) • 2.1 kB
JavaScript
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');
}
;