Skip to main content
Glama
vosesoftware

ModelRisk MCP

Official
by vosesoftware

fit_and_rank_distributions

Fit multiple distribution families to data and rank them by information criteria to select the best-fitting distribution. Skips families unable to fit the data.

Instructions

ModelRisk: Fit several distribution families to a data range and rank them by goodness of fit. For each family it fits VoseFitObject and scores it with ModelRisk's information criteria — AIC, SIC (Schwarz/BIC) and HQIC — then ranks ascending (lower = better) by criterion. Families with no fit function, or that can't fit the data, are returned under skipped with a reason. Use this instead of guessing a single family for fit_distribution_to_data. Runs on a transient scratch sheet that is always deleted; the data is not modified.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sheetYesSheet holding the data.
familiesNoFamilies to try. Omit for a broad continuous default set.
workbookYesWorkbook file name, e.g. 'model.xlsx'.
criterionNoRanking criterion: 'SIC' (default), 'AIC', or 'HQIC'.SIC
data_rangeYesA1-style range of the data, e.g. 'A1:A200'.
uncertaintyNoFit with parameter uncertainty (second-order). Default False.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
skippedNoFamilies that could not be fitted, with a reason each.
criterionYesCriterion the ranking is sorted by (AIC / SIC / HQIC).
candidatesYesSuccessfully-fitted families, best first.
data_rangeYes
best_familyNoThe top-ranked family, or null if every fit failed.
sample_sizeYes
Behavior5/5

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

With no annotations provided, the description fully carries the burden of behavioral transparency. It clearly states that the tool 'Runs on a transient scratch sheet that is always deleted; the data is not modified', revealing non-destructive behavior and temporary scratch usage. It also mentions that families unable to fit are reported under 'skipped' with reasons.

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

Conciseness4/5

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

The description is relatively concise at around 100 words, covering key aspects in a logical flow: what it does, how it ranks, when to use, and side effects. While well-structured, it could potentially be trimmed slightly without losing information.

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

Completeness5/5

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

Given the complexity of fitting multiple distributions, ranking, handling skipped families, and the transient scratch sheet, the description addresses all these aspects adequately. An output schema exists, so return values are not needed in the description. The absence of any gaps makes it contextually complete.

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?

Schema coverage is 100% with each parameter having a description in the input schema. The tool description adds minimal extra meaning beyond the schema, such as explaining that omitting 'families' uses a broad default set and the default criterion is 'SIC'. This does not significantly surpass the baseline of 3.

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 states the tool fits several distribution families to a data range and ranks them by goodness of fit, specifying the exact verb-resource relationship. It distinguishes itself from the sibling tool 'fit_distribution_to_data' by saying 'Use this instead of guessing a single family', clearly differentiating its purpose.

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 description explicitly tells when to use this tool: 'Use this instead of guessing a single family for fit_distribution_to_data'. It also explains the ranking mechanism and that skipped families are returned with a reason. However, it does not explicitly state when not to use it or provide alternative tools for other scenarios.

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/vosesoftware/modelrisk-mcp'

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