Skip to main content
Glama

valuation-api

This connector has been deprecated

Superseded by valuation-api on valuation.finance-tools.io (fresh connector with focused 12-tool set and current TDQS eval)

calculate_irr_sensitivity

Read-onlyIdempotent

Compute an IRR sensitivity grid across a range of exit multiples and hold periods for a single lump-sum investment. WHEN TO USE: to stress-test how the annualised return varies with exit multiple and holding period before committing to an investment. Complements calculate_irr. WHEN NOT TO USE: when you need one precise IRR for a known exit value (use calculate_irr), or a full valuation (use calculate_dcf). BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive. NOTE ON GRID GEOMETRY: the byMultiple grid is computed at the SECOND hold period in hold_periods (default 5 years); the byHoldPeriod grid is computed at a 2.5x exit multiple. RETURNS: JSON object { byMultiple: { "2.0x": 14.9, ... } with IRR values as percentage numbers rounded to 1dp, byHoldPeriod: { "5y": 18.4, ... } }. PARAMETERS: initial_investment (number > 0), exit_multiples (optional array of numbers to test, default [1.5, 2.0, 2.5, 3.0, 3.5]), hold_periods (optional array of positive integers (years) to test, default [3, 5, 7, 10]).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hold_periodsNoHold periods in whole years to test, e.g. [3, 5, 7, 10]. Defaults to [3, 5, 7, 10].
exit_multiplesNoExit multiples to test, e.g. [2.0, 2.5, 3.0, 4.0, 5.0]. Defaults to [1.5, 2.0, 2.5, 3.0, 3.5].
initial_investmentYesAmount invested up front, in currency units, e.g. 100000. Must be positive.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover readOnly, idempotent, and non-destructive, but the description adds specifics: 'pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive.' It also discloses grid geometry ('byMultiple grid is computed at the SECOND hold period...'), which is not inferable from annotations or schema. This adds valuable behavioral context without contradicting annotations.

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?

Despite being lengthy, the description is well-structured with clear section labels (WHEN TO USE, WHEN NOT TO USE, BEHAVIOUR, NOTE ON GRID GEOMETRY, RETURNS, PARAMETERS) that allow quick scanning. Every section adds critical information for correct invocation. The purpose is front-loaded, and there is no filler language.

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 tool's complexity (two-dimensional grid with defaults and anchor points) and no output schema, the description fully explains return structure ('RETURNS: JSON object { byMultiple: ... }') and parameters. It also covers usage context, safety (via annotations + description), and differentiates from siblings. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so params are documented. The description adds context: 'single lump-sum investment' clarifies the investment model, and the note on grid geometry explains how hold_periods and exit_multiples affect the output (which grid uses which anchor). This enriches parameter semantics beyond the schema's basic descriptions, though the defaults are already stated in both.

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 opens with a specific verb and object: 'Compute an IRR sensitivity grid across a range of exit multiples and hold periods for a single lump-sum investment.' This precisely states what the tool does and distinguishes it from siblings like calculate_irr (single IRR) and calculate_dcf (valuation). The purpose is unambiguous and the resource is clearly identified.

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

Usage Guidelines5/5

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

Explicit WHEN TO USE and WHEN NOT TO USE sections are provided. It states the use case ('to stress-test how the annualised return varies...') and names alternatives: 'use calculate_irr' for a precise IRR and 'use calculate_dcf' for full valuation. This gives an agent clear routing guidance with no ambiguity.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources