Skip to main content
Glama

random_weighted_choice

Pick a random option from a list using weighted probabilities, leveraging secure randomness for fair and unbiased decisions.

Instructions

Select an option based on weighted probabilities

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
optionsYesArray of options
weightsYesArray of weights (same length as options)
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'weighted probabilities' without explaining key behaviors such as whether weights are normalized, how negative or zero weights are handled, what the return value is (selected option vs. index), or any error conditions. This is a significant gap for a random selection utility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of seven words, extremely concise and front-loaded with the key verb and subject. Every word earns its place, and there is no unnecessary detail or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool, the description plus schema covers the core concept, but it omits the return value (the selected option) and error behavior (e.g., empty arrays, mismatched lengths). Given no output schema and no annotations, the description is minimally adequate but not fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions for 'options' and 'weights' are basic (e.g., 'Array of weights (same length as options)'). The description's mention of 'weighted probabilities' adds some meaning by implying higher weights increase selection probability, but it does not clarify whether weights are relative or absolute, nor does it specify constraints. With 100% schema coverage, the baseline is 3, and the description adds only marginal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Select') and resource ('an option'), and explicitly mentions 'weighted probabilities', which clearly distinguishes this tool from unweighted sibling tools like random_choice and random_sample. This is a concise and unambiguous statement of core functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'weighted probabilities' clearly implies when to use this tool (when selection should be biased according to weights) and differentiates it from random_choice, which is uniform. However, it does not explicitly state exclusions or name alternative tools, so it falls short of the full 'when/when-not' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MikeyBeez/mcp-random'

If you have feedback or need assistance with the MCP directory API, please join our Discord server