generateIntegers
Generate true random integers within a specified range for applications requiring genuine randomness. Specify quantity, minimum, maximum, and format options.
Instructions
Generate true random integers within a specified range
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes | Number of integers to generate (1-10,000) | |
| min | Yes | Minimum value (inclusive) | |
| max | Yes | Maximum value (inclusive) | |
| replacement | No | Allow replacement (duplicates) | |
| base | No | Number base (2, 8, 10, or 16) |
Implementation Reference
- src/server.ts:301-318 (handler)MCP tool handler for generateIntegers: calls RandomOrgClient.generateIntegers and formats response as MCP content block.private async handleGenerateIntegers(args: any) { const result = await this.randomOrgClient.generateIntegers(args); return { content: [ { type: 'text', text: JSON.stringify({ data: result.random.data, completionTime: result.random.completionTime, bitsUsed: result.bitsUsed, bitsLeft: result.bitsLeft, requestsLeft: result.requestsLeft, advisoryDelay: result.advisoryDelay, }, null, 2), }, ], }; }
- src/server.ts:41-75 (schema)Input schema (JSON Schema) for the generateIntegers tool, defining parameters n, min, max, replacement, base.inputSchema: { type: 'object', properties: { n: { type: 'number', description: 'Number of integers to generate (1-10,000)', minimum: 1, maximum: 10000, }, min: { type: 'number', description: 'Minimum value (inclusive)', minimum: -1000000000, maximum: 1000000000, }, max: { type: 'number', description: 'Maximum value (inclusive)', minimum: -1000000000, maximum: 1000000000, }, replacement: { type: 'boolean', description: 'Allow replacement (duplicates)', default: true, }, base: { type: 'number', description: 'Number base (2, 8, 10, or 16)', enum: [2, 8, 10, 16], default: 10, }, }, required: ['n', 'min', 'max'], },
- src/server.ts:38-76 (registration)Registration of the generateIntegers tool in the MCP server's tools list, including name, description, and input schema.{ name: 'generateIntegers', description: 'Generate true random integers within a specified range', inputSchema: { type: 'object', properties: { n: { type: 'number', description: 'Number of integers to generate (1-10,000)', minimum: 1, maximum: 10000, }, min: { type: 'number', description: 'Minimum value (inclusive)', minimum: -1000000000, maximum: 1000000000, }, max: { type: 'number', description: 'Maximum value (inclusive)', minimum: -1000000000, maximum: 1000000000, }, replacement: { type: 'boolean', description: 'Allow replacement (duplicates)', default: true, }, base: { type: 'number', description: 'Number base (2, 8, 10, or 16)', enum: [2, 8, 10, 16], default: 10, }, }, required: ['n', 'min', 'max'], }, },
- src/randomOrgClient.ts:83-86 (helper)RandomOrgClient method that validates params and makes the JSON-RPC request to Random.org API for generateIntegers.async generateIntegers(params: IntegerParams): Promise<IntegerResult> { this.validateIntegerParams(params); return this.makeRequest<IntegerResult>('generateIntegers', params); }
- src/randomOrgClient.ts:123-139 (helper)Validation helper for IntegerParams used in generateIntegers.private validateIntegerParams(params: IntegerParams): void { if (params.n < 1 || params.n > 10000) { throw new Error('n must be between 1 and 10,000'); } if (params.min < -1000000000 || params.min > 1000000000) { throw new Error('min must be between -1,000,000,000 and 1,000,000,000'); } if (params.max < -1000000000 || params.max > 1000000000) { throw new Error('max must be between -1,000,000,000 and 1,000,000,000'); } if (params.min >= params.max) { throw new Error('min must be less than max'); } if (params.base && ![2, 8, 10, 16].includes(params.base)) { throw new Error('base must be 2, 8, 10, or 16'); } }