generateStrings
Generate cryptographically secure random strings using specified character sets and length parameters for applications requiring true randomness.
Instructions
Generate true random strings
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes | Number of strings to generate (1-10,000) | |
| length | Yes | Length of each string (1-20) | |
| characters | Yes | Characters to use for generation | |
| replacement | No | Allow replacement within each string |
Implementation Reference
- src/server.ts:377-394 (handler)The primary MCP tool handler for 'generateStrings'. It calls the RandomOrgClient to generate strings and formats the response as MCP content.private async handleGenerateStrings(args: any) { const result = await this.randomOrgClient.generateStrings(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:180-210 (registration)Registration of the 'generateStrings' tool in the MCP server's listTools handler, including name, description, and input schema.{ name: 'generateStrings', description: 'Generate true random strings', inputSchema: { type: 'object', properties: { n: { type: 'number', description: 'Number of strings to generate (1-10,000)', minimum: 1, maximum: 10000, }, length: { type: 'number', description: 'Length of each string (1-20)', minimum: 1, maximum: 20, }, characters: { type: 'string', description: 'Characters to use for generation', }, replacement: { type: 'boolean', description: 'Allow replacement within each string', default: true, }, }, required: ['n', 'length', 'characters'], }, },
- src/randomOrgClient.ts:103-106 (handler)RandomOrgClient method implementing the generateStrings API call via JSON-RPC, including validation.async generateStrings(params: StringParams): Promise<StringResult> { this.validateStringParams(params); return this.makeRequest<StringResult>('generateStrings', params); }
- src/randomOrgClient.ts:177-187 (helper)Helper function validating input parameters for generateStrings against random.org constraints.private validateStringParams(params: StringParams): 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 > 20) { throw new Error('length must be between 1 and 20'); } if (!params.characters || params.characters.length === 0) { throw new Error('characters must be a non-empty string'); } }