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
| 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); }