hn-mcp-server
Version:
Model Context Protocol server for HackerNews API access
88 lines • 2.25 kB
TypeScript
/**
* get-front-page MCP Tool
*
* Retrieves current HackerNews front page posts.
* Uses the search API with front_page tag filter.
*/
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
import { z } from "zod";
/**
* Input schema for get-front-page tool
*/
export declare const GetFrontPageInputSchema: z.ZodObject<{
page: z.ZodDefault<z.ZodNumber>;
hitsPerPage: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
page: number;
hitsPerPage: number;
}, {
page?: number | undefined;
hitsPerPage?: number | undefined;
}>;
/**
* Output schema for get-front-page tool (SearchResult)
*/
export declare const GetFrontPageOutputSchema: z.ZodObject<{
hits: z.ZodArray<z.ZodAny, "many">;
nbHits: z.ZodNumber;
page: z.ZodNumber;
nbPages: z.ZodNumber;
hitsPerPage: z.ZodNumber;
processingTimeMS: z.ZodNumber;
query: z.ZodString;
params: z.ZodString;
}, "strip", z.ZodTypeAny, {
query: string;
page: number;
hitsPerPage: number;
params: string;
hits: any[];
nbHits: number;
nbPages: number;
processingTimeMS: number;
}, {
query: string;
page: number;
hitsPerPage: number;
params: string;
hits: any[];
nbHits: number;
nbPages: number;
processingTimeMS: number;
}>;
/**
* Type for validated input
*/
export type GetFrontPageInput = z.infer<typeof GetFrontPageInputSchema>;
/**
* Get front page posts handler
*
* @param input - Input parameters (page, hitsPerPage)
* @returns Tool result with front page posts
*/
export declare function getFrontPageHandler(input: unknown): Promise<CallToolResult>;
/**
* Tool metadata for MCP registration
*/
export declare const getFrontPageTool: {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
page: {
type: string;
description: string;
default: number;
};
hitsPerPage: {
type: string;
description: string;
default: number;
minimum: number;
maximum: number;
};
};
};
};
//# sourceMappingURL=get-front-page.d.ts.map