generateStrings
Generate true random strings using specified characters, length, and quantity for cryptographic security or unpredictable data needs.
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-393 (handler)MCP tool handler for 'generateStrings' that calls RandomOrgClient.generateStrings and returns formatted JSON response as text 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)Tool registration descriptor for 'generateStrings' returned by listTools, 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/server.ts:183-209 (schema)Input JSON schema for the generateStrings tool used in MCP validation.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 (helper)RandomOrgClient helper that validates params and makes JSON-RPC request to Random.org 'generateStrings' API endpoint.async generateStrings(params: StringParams): Promise<StringResult> { this.validateStringParams(params); return this.makeRequest<StringResult>('generateStrings', params); }
- src/randomOrgClient.ts:177-187 (helper)Validation helper for StringParams ensuring constraints match the API and MCP schema.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'); } }