fixed-income
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| price_from_yield_toolA | Value a fixed-coupon bond at a given yield to maturity. Returns clean and dirty price, accrued interest with the day counts behind it, and the consistency checks the valuation satisfies. Use this when the yield is known and the price is wanted. For the reverse, use yield_from_price_tool. |
| yield_from_price_toolA | Solve for the yield to maturity implied by a market price. Solved by bisection, which cannot converge on a value that satisfies the iteration without solving the pricing equation. The returned checks verify the ordering of coupon, current yield and yield to maturity, which alone rules out a large class of wrong answers. This is the usual starting point: market prices are observable, yields are derived. |
| bond_analytics_toolA | Macaulay duration, modified duration, DV01 and convexity. Supply either a price or a yield, not both.
|
| cashflow_schedule_toolA | Remaining payments, with discount factors when a yield is supplied. The first flow sits a fraction of a period away rather than a whole one. That exponent is what makes an ACT/ACT ICMA yield differ from a naive one, so it is reported explicitly as periods_from_settlement. |
| scenario_shock_toolA | Compare an exact repricing against first- and second-order estimates.
Supply either a price or a yield, not both. |
| check_consistency_toolA | Test a yield someone has already produced against the required bounds. Use this to audit a figure rather than compute one — for example when checking work, or when a yield appears in a document and its plausibility matters. A bond priced below par must yield more than its coupon and more than its current yield; above par, the ordering reverses. These bounds need no iteration and reject a whole class of wrong answers immediately. The correctly solved yield is returned too, so the size of any error is visible. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool serves a distinct function: check_consistency audits yields against bounds, price_from_yield prices from a yield, yield_from_price solves for yield from price, bond_analytics computes risk measures, cashflow_schedule lists cash flows, and scenario_shock compares exact repricing to Taylor estimates. No two tools overlap in purpose, and the descriptions make the boundaries clear.
All tool names use snake_case and end with '_tool', but the prefixes vary in structure: some are verb_noun (check_consistency), some are noun_prep_noun (price_from_yield, yield_from_price), and some are noun_noun (bond_analytics, cashflow_schedule, scenario_shock). This is still a consistent and readable style, but it lacks a uniform verb_noun pattern.
Six tools is a well-scoped set for a fixed-income analytics server. Each tool covers a core calculation (pricing, yield solving, consistency checking, analytics, cash flows, scenario analysis) without redundancy or unnecessary bloat.
The tool set covers the main lifecycle of bond analysis: pricing, yield extraction, risk metrics, cash flow scheduling, and scenario testing. It also includes a consistency checker for validation. No critical operation appears missing for the stated domain.