Skip to main content
Glama

Fair Value MCP Server

IFRS measurement, residual income and non-financial fair value

calculate_residual
Read-onlyIdempotent

IFRS/HKFRS measurement engine. Compute goodwill and purchase-price allocation, impairment (IAS 36), inventory net realisable value, held-for-sale, debt waterfalls, cap tables, sum-of-the-parts and SPAC redemption; residual income and justified price-to-book; and non-financial asset fair value: investment property (IAS 40 / HKAS 40), PP&E revaluation via depreciated replacement cost (IAS 16) and biological assets at fair value less costs to sell (IAS 41). Use this for accounting-basis measurement of assets and equity; for going-concern cash flow use calculate_dcf and for peer multiples use calculate_market_multiple. Methods: goodwill: purchase_price, fair_value_net_identifiable_assets; ppa: purchase_price, tangible_assets_fv, identified_intangibles_fv; impairment_fvlcd: carrying_value, fair_value_less_costs_to_dispose; impairment_viu: carrying_value, value_in_use; inventory_nrv: carrying_value, net_realisable_value; held_for_sale: carrying_value, fair_value_less_costs_to_sell; debt_waterfall/cap_table: enterprise_value, claims; sotp: segments, net_debt, holding_discount; spac_redemption: trust_cash, shares_outstanding, redemption_price; investment_property: noi, cap_rate; ppe_revaluation: replacement_cost, accumulated_depreciation; biological_asset: expected_price, quantity, costs_to_sell; residual_income: book_value, net_income, cost_equity; justified_pb: roe, cost_equity, growth_rate; relief_from_royalty: revenue, royalty_rate, discount_rate, periods; mpeem: cash_flows, contributory_charges, discount_rate; with_without: with_cash_flows, without_cash_flows, discount_rate; recoverable_amount: fair_value_less_costs_to_dispose, value_in_use; liability_fulfilment: fulfilment_costs, mark_up, discount_rate; inventory_residual: selling_price, costs_to_complete, profit_allowance; development_residual: gross_development_value, development_costs, developer_profit. Supply exactly one method with its declared inputs (no defaults). An unknown method, a missing input, or an extra field returns an error envelope (code INVALID_ARGUMENT) instead of raising.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noiNoNet operating income of the property (IAS 40).
roeNoReturn on equity (decimal).
claimsNoOrdered claims [{name, amount, priority}] for a waterfall.
methodYesFormula to apply; the tool description lists the exact inputs each value requires.
mark_upNoReasonable mark-up on fulfilment costs (decimal, IVS 220 Bottom-Up).
periodsNoNumber of periods n (>=1).
revenueNoBase-year revenue in reporting currency.
cap_rateNoCapitalisation rate as a decimal (0.06 = 6%).
net_debtNoTotal debt minus cash and equivalents.
quantityNoNumber of units (biological assets).
segmentsNoSegments [{name, value}] for a sum-of-the-parts.
book_valueNoBook value of equity in reporting currency.
cash_flowsNoProjected cash flows in reporting currency, indexed t=1..n.
net_incomeNoNet income in reporting currency.
trust_cashNoSPAC trust cash available for redemption.
cost_equityNoCost of equity as a decimal (0.12 = 12%).
growth_rateNoPeriodic growth rate as a decimal (0.03 = 3%).
royalty_rateNoRoyalty rate as a decimal (0.05 = 5% of revenue).
value_in_useNoValue in use in reporting currency.
costs_to_sellNoIncremental costs to sell / dispose (IAS 41).
discount_rateNoDiscount rate as a decimal (0.10 = 10%); pre-tax when method=viu_pre_tax.
selling_priceNoEstimated selling price of the finished inventory (IVS 230 top-down).
carrying_valueNoCarrying amount before the test.
expected_priceNoExpected market price per biological-asset unit (IAS 41).
purchase_priceNoConsideration transferred in reporting currency.
with_cash_flowsNoAfter-tax cash flows with the asset in use (IVS 210 with-and-without).
developer_profitNoRequired developer's profit/risk allowance (IVS 410).
enterprise_valueNoEnterprise value distributed across claims.
fulfilment_costsNoCosts required to fulfil the performance obligation per period (IVS 220 Bottom-Up).
holding_discountNoHolding-company discount as a decimal.
profit_allowanceNoEstimated profit allowance on the completion/disposal effort.
redemption_priceNoSPAC redemption price per share.
replacement_costNoDepreciated-replacement-cost gross value of PP&E (IAS 16).
costs_to_completeNoRemaining costs to complete work-in-process inventory (IVS 230).
development_costsNoAll known/anticipated costs to complete the development.
shares_outstandingNoShares outstanding.
tangible_assets_fvNoFair value of tangible assets.
without_cash_flowsNoAfter-tax cash flows absent the asset (IVS 210 with-and-without), aligned with with_cash_flows.
contributory_chargesNoContributory-asset charges (economic rent) per period, aligned with cash_flows (IVS 210 MPEEM).
net_realisable_valueNoEstimated NRV in reporting currency.
gross_development_valueNoAnticipated value of the completed development (IVS 410 residual method).
accumulated_depreciationNoAccumulated depreciation to deduct (IAS 16).
identified_intangibles_fvNoFair value of separately identified intangibles.
fair_value_less_costs_to_sellNoFV less costs to sell in reporting currency.
fair_value_less_costs_to_disposeNoFVLCD in reporting currency.
fair_value_net_identifiable_assetsNoFair value of net identifiable assets.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoError detail, present only when status='error'.
stepsNoOrdered computation steps, when the method reports them.
valueNoPrimary result: a number for scalar methods, an object for valuation methods.
methodNoMethod or tool name that produced the result.
statusYes'ok' on success, 'error' on failure.
tickerNoTicker the result pertains to, when applicable.
assumptionsNoInputs and assumptions used, echoed for traceability.
formula_refNoFormula or standards reference for the method.
data_timestampNoISO-8601 UTC timestamp of the underlying data, when fetched.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: no defaults are applied, and an unknown method, missing input, or extra field returns an error envelope with code INVALID_ARGUMENT rather than raising. It does not discuss magnitude/precision of results, but with annotations plus an output schema that gap is minor.

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?

Front-loaded correctly: purpose, then routing guidance, then the method-to-inputs table. The length is justified by 22 methods and 46 parameters, and every clause carries information, but the single run-on sentence with semicolon-delimited clauses is hard to scan and could be structured as a list.

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?

For a high-complexity dispatcher with an output schema already present, the description supplies the two things an agent actually needs: the method enum's input contract and the strict-failure behavior. Nothing required to invoke 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 per-field meanings are already documented and the baseline would be 3. The description exceeds that by mapping each of the 22 enum methods to its exact required input set (e.g. 'impairment_viu: carrying_value, value_in_use'), which is cross-parameter semantics the schema cannot express — essential given 46 optional-looking fields.

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?

Opens with a specific verb+resource ('IFRS/HKFRS measurement engine') and enumerates the exact measurement domains covered (goodwill/PPA, IAS 36 impairment, IAS 40 investment property, IAS 16 revaluation, IAS 41 biological assets, residual income, etc.). It explicitly names sibling tools it is not (calculate_dcf for going-concern cash flow, calculate_market_multiple for peer multiples), so an agent can route without opening schemas.

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?

'Use this for accounting-basis measurement of assets and equity; for going-concern cash flow use calculate_dcf and for peer multiples use calculate_market_multiple' gives an explicit when-to-use plus named alternatives and the condition that selects each. It also states the invocation contract ('supply exactly one method with its declared inputs'), removing ambiguity about how to call it.

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.