@aashari/boilerplate-mcp-server
Version:
TypeScript MCP server boilerplate with STDIO and HTTP transport support, CLI tools, and extensible architecture
37 lines (36 loc) • 1.75 kB
TypeScript
import { ControllerResponse } from '../types/common.types.js';
/**
* Output format type
*/
type OutputFormat = 'toon' | 'json';
/**
* @namespace IpAddressController
* @description Controller responsible for handling IP address lookup logic.
* It orchestrates calls to the ip-api.com service, applies defaults,
* maps options, and formats the response using the formatter.
*/
/**
* @function get
* @description Fetches details for a specific IP address or the current device's IP.
* Handles mapping controller options (like includeExtendedData) to service parameters (fields).
* @memberof IpAddressController
* @param {Object} args - Arguments containing ipAddress and options
* @param {string} [args.ipAddress] - Optional IP address to look up. If omitted, the service will fetch the current device's public IP.
* @param {boolean} [args.includeExtendedData=false] - Whether to include extended data fields requiring an API token
* @param {boolean} [args.useHttps=true] - Whether to use HTTPS for the API request
* @param {string} [args.jq] - JMESPath expression to filter the response
* @param {OutputFormat} [args.outputFormat] - Output format (toon or json)
* @returns {Promise<ControllerResponse>} A promise that resolves to the standard controller response containing the formatted IP details.
* @throws {McpError} Throws an McpError (handled by `handleControllerError`) if the service call fails or returns an error.
*/
declare function get(args?: {
ipAddress?: string;
includeExtendedData?: boolean;
useHttps?: boolean;
jq?: string;
outputFormat?: OutputFormat;
}): Promise<ControllerResponse>;
declare const _default: {
get: typeof get;
};
export default _default;