generateGaussians
Generate true random numbers from Gaussian distributions using atmospheric noise, with customizable mean, standard deviation, and precision for statistical applications.
Instructions
Generate true random numbers from a Gaussian distribution
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes | Number of Gaussian numbers to generate (1-10,000) | |
| mean | Yes | Mean of the distribution | |
| standardDeviation | Yes | Standard deviation of the distribution | |
| significantDigits | Yes | Number of significant digits (2-20) |
Implementation Reference
- src/server.ts:358-375 (handler)The main MCP tool handler for 'generateGaussians'. Delegates to RandomOrgClient.generateGaussians and formats the API response into MCP content format.private async handleGenerateGaussians(args: any) { const result = await this.randomOrgClient.generateGaussians(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:149-179 (registration)Tool registration in the ListToolsRequestSchema handler, including name, description, and input schema.{ name: 'generateGaussians', description: 'Generate true random numbers from a Gaussian distribution', inputSchema: { type: 'object', properties: { n: { type: 'number', description: 'Number of Gaussian numbers to generate (1-10,000)', minimum: 1, maximum: 10000, }, mean: { type: 'number', description: 'Mean of the distribution', }, standardDeviation: { type: 'number', description: 'Standard deviation of the distribution', minimum: 0, }, significantDigits: { type: 'number', description: 'Number of significant digits (2-20)', minimum: 2, maximum: 20, }, }, required: ['n', 'mean', 'standardDeviation', 'significantDigits'], }, },
- src/randomOrgClient.ts:98-101 (helper)Helper method in RandomOrgClient that validates parameters and makes the actual API request to Random.org for generating Gaussians.async generateGaussians(params: GaussianParams): Promise<GaussianResult> { this.validateGaussianParams(params); return this.makeRequest<GaussianResult>('generateGaussians', params); }
- src/types.ts:136-141 (schema)TypeScript interface defining the input parameters for generateGaussians.export interface GaussianParams { n: number; mean: number; standardDeviation: number; significantDigits: number; }
- src/randomOrgClient.ts:168-175 (helper)Parameter validation helper for GaussianParams.private validateGaussianParams(params: GaussianParams): void { if (params.n < 1 || params.n > 10000) { throw new Error('n must be between 1 and 10,000'); } if (params.significantDigits < 2 || params.significantDigits > 20) { throw new Error('significantDigits must be between 2 and 20'); } }