UNPKG

random-tables-mcp

Version:

An MCP (Model Context Protocol) server for managing and rolling on random-table assets used in tabletop RPGs. Create, update, and roll on random tables with support for nested tables, weighted entries, and range-based results.

56 lines (55 loc) 1.58 kB
import { z } from 'zod'; import { RollTemplateService } from '../../../../ports/index.js'; import { BaseTool } from './tool.js'; /** * Input type for the list templates tool. */ type ListTemplatesInput = Record<string, never>; /** * Output type for the list templates tool. */ type ListTemplatesOutput = { templates: Array<{ id: string; name: string; description: string; }>; }; /** * Tool for listing roll templates. */ export declare class ListTemplateTool extends BaseTool<ListTemplatesInput, ListTemplatesOutput> { private readonly templateService; /** * Creates a new ListTemplateTool instance. * @param templateService The template service to use. */ constructor(templateService: RollTemplateService); /** * Gets the name of the tool. * @returns The tool name. */ protected getToolName(): string; /** * Gets the description of the tool. * @returns The tool description. */ protected getToolDescription(): string; /** * Gets the input schema for the tool. * @returns The input schema. */ protected getInputSchema(): z.ZodType<ListTemplatesInput>; /** * Gets the output schema for the tool. * @returns The output schema. */ protected getOutputSchema(): z.ZodType<ListTemplatesOutput>; /** * Implements the tool execution logic. * @param args The validated tool arguments. * @returns The tool result. */ protected executeImpl(_args: ListTemplatesInput): Promise<ListTemplatesOutput>; } export {};