generateIntegerSequences
Generate sequences of true random integers within specified ranges and parameters for applications requiring verifiable randomness.
Instructions
Generate sequences of true random integers
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes | Number of sequences to generate (1-10,000) | |
| length | Yes | Length of each sequence (1-10,000) | |
| min | Yes | Minimum value (inclusive) | |
| max | Yes | Maximum value (inclusive) | |
| replacement | No | Allow replacement within each sequence | |
| base | No | Number base (2, 8, 10, or 16) |
Implementation Reference
- src/server.ts:320-337 (handler)MCP tool handler function that receives tool arguments, delegates to RandomOrgClient, formats the response as MCP content (JSON text), and returns it.private async handleGenerateIntegerSequences(args: any) { const result = await this.randomOrgClient.generateIntegerSequences(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:77-121 (registration)Tool registration in the ListTools handler, including name, description, and input schema matching the API requirements.{ name: 'generateIntegerSequences', description: 'Generate sequences of true random integers', inputSchema: { type: 'object', properties: { n: { type: 'number', description: 'Number of sequences to generate (1-10,000)', minimum: 1, maximum: 10000, }, length: { type: 'number', description: 'Length of each sequence (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 within each sequence', default: true, }, base: { type: 'number', description: 'Number base (2, 8, 10, or 16)', enum: [2, 8, 10, 16], default: 10, }, }, required: ['n', 'length', 'min', 'max'], }, },
- src/types.ts:121-128 (schema)TypeScript interface defining the input parameters for generateIntegerSequences, used for validation and typing.export interface IntegerSequenceParams { n: number; length: number; min: number; max: number; replacement?: boolean; base?: number; }
- src/randomOrgClient.ts:88-91 (helper)Helper method in RandomOrgClient that validates parameters and makes the JSON-RPC request to the Random.org API.async generateIntegerSequences(params: IntegerSequenceParams): Promise<IntegerSequenceResult> { this.validateIntegerSequenceParams(params); return this.makeRequest<IntegerSequenceResult>('generateIntegerSequences', params); }
- src/randomOrgClient.ts:141-157 (helper)Validation helper ensuring input parameters meet Random.org API constraints before making the request.private validateIntegerSequenceParams(params: IntegerSequenceParams): void { if (params.n < 1 || params.n > 10000) { throw new Error('n must be between 1 and 10,000'); } if (params.length < 1 || params.length > 10000) { throw new Error('length 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'); } }