Skip to main content
Glama
JerBouma

Finance Toolkit

by JerBouma

fixed_income

Read-onlyIdempotent

Calculate bond duration, yield-to-maturity, present value, par yield, forward rates, and derivative pricing directly from bond parameters such as face value, coupon rate, and maturity.

Instructions

Bond and derivative valuation calculations (bond duration, present value, yield-to-maturity, derivative pricing, par yield, forward rate, breakeven inflation rate, key rate duration, yield curve spread, Z-spread, bond-equivalent yield, Taylor-series price change estimate). No tickers or countries needed — provide bond/derivative parameters (e.g. face_value, coupon_rate, maturity, spot_rates) directly as arguments.

Available indicators: get_derivative_price, get_duration, get_present_value, get_yield_to_maturity, get_par_yield, get_forward_rate, get_breakeven_inflation_rate, get_key_rate_duration, get_yield_curve_spread, get_z_spread, get_bond_equivalent_yield, get_taylor_price_change.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
guessNoValue for guess. Leave unset to use the default of the indicator you selected. Defaults are 0.01 for get_z_spread; 0.05 for get_yield_to_maturity.
modelNoValue for model.black
tenorNoValue for tenor.
end_dateNoEnd of the date range in YYYY-MM-DD format.2026-08-19
maturityNoValue for maturity.
notionalNoValue for notional.
countriesNoComma-separated country names, e.g. 'United States,Germany,Japan'.
frequencyNoValue for frequency.
indicatorYesName of the specific metric to calculate, e.g. 'get_asset_turnover_ratio'. Required — omitting it returns the list of available indicators.
par_valueNoValue for par_value.
quarterlyNoReturn quarterly data instead of annual when True.
toleranceNoValue for tolerance.
bond_priceNoClean price of the bond per 100 face value.
real_ratesNoValue for real_rates.
spot_ratesNoValue for spot_rates.
start_dateNoStart of the date range in YYYY-MM-DD format.2021-08-20
volatilityNoValue for volatility.
coupon_rateNoAnnual coupon rate as a decimal, e.g. 0.05 for 5 %. Leave unset to use the default of the indicator you selected. Defaults are 0.05 for get_key_rate_duration, get_yield_to_maturity, get_z_spread; None for get_duration, get_present_value, get_taylor_price_change.
is_receiverNoValue for is_receiver.
strike_rateNoOption strike price.
far_maturityNoValue for far_maturity.
forward_rateNoValue for forward_rate.
show_columnsNoComma-separated names to filter the output. For historical data use the key names visible in any response record (e.g. 'Close,Volume,Return'). For financial statements use the 'metric' field values from the response (e.g. 'Revenue,Net Income,EBITDA'). Call the tool once without this parameter to see all available names, then repeat with show_columns to reduce response size and token usage.
yield_changeNoValue for yield_change. Leave unset to use the default of the indicator you selected. Defaults are 0.0001 for get_key_rate_duration; 0.01 for get_taylor_price_change.
duration_typeNoValue for duration_type.modified
long_maturityNoValue for long_maturity.
near_maturityNoValue for near_maturity.
nominal_ratesNoValue for nominal_rates.
discount_yieldNoValue for discount_yield.
include_payoffNoValue for include_payoff.
max_iterationsNoValue for max_iterations.
risk_free_rateNoValue for risk_free_rate.
short_maturityNoValue for short_maturity.
show_input_infoNoValue for show_input_info.
volatility_typeNoValue for volatility_type.
days_to_maturityNoValue for days_to_maturity.
key_rate_maturityNoValue for key_rate_maturity.
payment_frequencyNoValue for payment_frequency.
years_to_maturityNoYears remaining until the bond matures.
yield_to_maturityNoValue for yield_to_maturity.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safe calculation nature is established. The description adds that parameters are passed directly and enumerates indicators, but it does not describe return behavior, response format, or edge cases beyond what annotations and schema already imply.

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 front-loaded with the core purpose, then clarifies the input style, then enumerates the indicators. It is reasonably concise given the breadth of the tool, though the indicator list partially duplicates the enum in the schema.

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?

Given the high complexity of 40 parameters and 12 indicators, the description could do more to map indicators to their relevant parameters. It provides the indicator names and general input guidance, but stops short of helping an agent determine which parameters to supply for each specific calculation; output-schema presence helps but does not fully compensate.

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?

Parameter descriptions in the schema are extensive, so the description doesn't need to repeat all 40 parameters. It does add helpful examples like coupon_rate, maturity, and spot_rates, though it also mentions face_value which does not appear in the schema, causing slight confusion.

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 clearly states the tool performs bond and derivative valuation calculations with a specific list of supported indicators, such as duration, yield-to-maturity, and Z-spread. It also distinguishes this tool from market-data siblings by noting that no tickers or countries are needed and that parameters are provided directly.

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

Usage Guidelines3/5

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

The description gives useful context: it is for calculations using direct bond/derivative parameters rather than ticker-based lookups, and it lists available indicators. However, it does not explicitly say when to prefer this tool over sibling tools like valuation, rates, or options, nor does it give exclusions or alternatives.

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/JerBouma/FinanceToolkit'

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