generateBlobs
Generate true random binary data in base64 or hex format for cryptographic applications, simulations, or testing purposes using Random.org's entropy source.
Instructions
Generate true random binary data
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes | Number of blobs to generate (1-100) | |
| size | Yes | Size of each blob in bytes (1-1,048,576) | |
| format | No | Output format | base64 |
Implementation Reference
- src/server.ts:415-432 (handler)MCP tool handler for 'generateBlobs': calls RandomOrgClient.generateBlobs and formats the response as MCP content with JSON stringified result.private async handleGenerateBlobs(args: any) { const result = await this.randomOrgClient.generateBlobs(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:227-254 (registration)Tool registration in ListToolsRequestSchema response, defining name, description, and input schema for generateBlobs.{ name: 'generateBlobs', description: 'Generate true random binary data', inputSchema: { type: 'object', properties: { n: { type: 'number', description: 'Number of blobs to generate (1-100)', minimum: 1, maximum: 100, }, size: { type: 'number', description: 'Size of each blob in bytes (1-1,048,576)', minimum: 1, maximum: 1048576, }, format: { type: 'string', description: 'Output format', enum: ['base64', 'hex'], default: 'base64', }, }, required: ['n', 'size'], }, },
- src/types.ts:154-158 (schema)Type definition for input parameters (BlobParams) used in generateBlobs.export interface BlobParams { n: number; size: number; format?: 'base64' | 'hex'; }
- src/types.ts:91-100 (schema)Type definition for output result (BlobResult) from generateBlobs API call.export interface BlobResult { random: { data: string[]; completionTime: string; }; bitsUsed: number; bitsLeft: number; requestsLeft: number; advisoryDelay: number; }
- src/randomOrgClient.ts:113-116 (helper)RandomOrgClient method that validates params and makes the API request for generateBlobs.async generateBlobs(params: BlobParams): Promise<BlobResult> { this.validateBlobParams(params); return this.makeRequest<BlobResult>('generateBlobs', params); }