generate_random_number
Generate a random number within a user-defined range using the MCP Rand server. Specify minimum and maximum values to produce inclusive results efficiently.
Instructions
Generate a random number within a specified range
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Maximum value (inclusive). Defaults to 100. | |
| min | No | Minimum value (inclusive). Defaults to 0. |
Implementation Reference
- The handler function that implements the generate_random_number tool logic, generating a random integer between min (default 0) and max (default 100).export const generateRandomNumberHandler = async ( request: CallToolRequest ): Promise<CallToolResult> => { const args = request.params.arguments as { min?: number; max?: number }; const min = args.min ?? 0; const max = args.max ?? 100; if (min > max) { throw new McpError( ErrorCode.InvalidParams, 'Min value cannot be greater than max value' ); } // Generate random number between min and max (inclusive) const randomNumber = Math.floor(Math.random() * (max - min + 1)) + min; return { content: [ { type: 'text', text: randomNumber.toString() } ] }; };
- Tool specification defining the name, description, and input schema (min and max numbers) for the generate_random_number tool.export const toolSpec = { name: 'generate_random_number', description: 'Generate a random number within a specified range', inputSchema: { type: 'object' as const, properties: { min: { type: 'number', description: 'Minimum value (inclusive). Defaults to 0.', }, max: { type: 'number', description: 'Maximum value (inclusive). Defaults to 100.', }, }, } };
- src/index.ts:20-20 (registration)Registers the generateRandomNumberHandler for the 'generate_random_number' tool in the MCP server registry.registry.register('tools/call', 'generate_random_number', generateRandomNumberHandler as Handler);