mcp-chainladder
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| compute_chain_ladderA | Run a full chain-ladder reserving calculation on a cumulative loss triangle. This is the workhorse tool — call it whenever the user asks "what's the IBNR?", "what does the chain ladder say?", or hands you a triangle and asks for projections. Args:
triangle: Cumulative loss triangle as a list of lists. Outer index
is the accident-year row (oldest first). Inner index is the
development period (0 = first age). Cells are numbers or null;
null means unobserved (typical lower-right corner of a real
triangle). All rows should be the same length — pad with
trailing nulls if needed.
selected_factors: Optional list of user-chosen age-to-age factors,
one per development-period transition (length = n_dev - 1).
When omitted, the volume-weighted factors derived from the
triangle are used as the selected set.
tail: Multiplicative tail factor applied beyond the last
development period. Default 1.0 (no tail).
excluded: List of Returns:
A dictionary containing:
- |
| project_triangleA | Fill the lower-right (unobserved) cells of a cumulative triangle using the supplied age-to-age factors. Args:
triangle: As in Returns a dict with:
- |
| mack_stochasticA | Mack (1993) stochastic chain-ladder error estimation. Returns distribution-free standard errors and coefficients of variation per accident row plus the totals — the canonical sensitivity check for a deterministic chain-ladder result. Use this when the user asks about uncertainty, reserve risk, or
confidence intervals. Pair it with Args:
triangle: As in Returns:
- |
| mack_diagnosticsA | Mack (1994) assumption diagnostics — three statistical tests plus standardised-residual outlier detection. Use when the user asks "does the chain ladder look OK?", "are there any outliers?", or "should I be worried about [calendar-year / inflation / dependence] effects?". Args:
triangle: As in Returns:
- Verdict guidance for translating p-values to plain English: p < 0.005 → "strong evidence"; p < 0.05 → "significant"; p < 0.10 → "borderline"; p ≥ 0.10 → "no evidence". |
| parse_csv_triangleA | Parse a CSV file from disk into a cumulative loss triangle. Reads the file, treats empty cells and the tokens "NA", "N/A", "NaN", "-" as unobserved, strips embedded commas (thousand separators), and drops any leading row whose first cell is non-numeric but whose remaining cells are mostly numeric (e.g. a "Dev 1, Dev 2, …" header). Auto-pads jagged rows to a rectangle with nulls. Use this when the user gives you a CSV file path and wants to run the chain ladder on it. Args:
path: Absolute or Returns:
- |
| to_incrementalA | Convert a cumulative triangle to incremental (per-period) values.
Unobserved cells stay unobserved. Args: cumulative: Cumulative triangle, possibly with unobserved cells. Returns dict with |
| to_cumulativeA | Convert an incremental triangle to cumulative (running sum per
row). Unobserved cells propagate as null. Inverse of
Args: incremental: Incremental triangle. Returns dict with |
| pro_license_statusA | Inspect the current Pro-tier license state. Returns whether Pro tools are unlocked, the registered owner, an expiry date if any, and a human-readable message that Claude can relay to the user. Free to call regardless of license state. Returns:
- |
| bornhuetter_fergusonA | Bornhuetter-Ferguson (1972) reserving method. Pro tier. Combines the chain-ladder development pattern with an externally- provided a-priori ultimate per accident year, giving a result that is far less sensitive to noisy late development than pure chain ladder. The canonical "second method" for benchmarking reserves — when chain-ladder and BF agree, you can publish with confidence; when they diverge, the divergence is the finding. Args:
triangle: Cumulative loss triangle, same shape as
Returns either:
- On success: |
| interpret_diagnosticsA | Run Mack assumption diagnostics + label each result with a plain- English verdict and a recommended action. Pro tier. Free-tier • verdict band ("strong evidence" / "significant" / "borderline" / "no evidence") for each test, using the standard p-value cutoffs • a one-paragraph summary written so Claude can read it back to the user without further interpretation • a specific recommended action for each finding ("try BF", "weight recent years only", "investigate cells X, Y, Z", …) • an overall verdict pulling the three tests + outlier scan together into a single sentence Use this when the user asks "is the chain ladder OK?", "should I publish this?", or "what does the model tell me about itself?". Args:
triangle: As in Returns either:
- On success: |
| sensitivity_analysisA | Drop each observable link ratio one at a time, rerun the chain ladder, and rank the link ratios by their impact on total IBNR. Pro tier. The fastest way to find the few observations that are actually
driving the projection. Use after Args:
triangle: As in Returns either:
- On success: |
| tail_extrapolationA | Fit parametric tail models to the late development factors and extrapolate forward. Pro tier. Fits two candidate models — exponential decay
( Use this when the triangle obviously hasn't reached ultimate by the last observed development period — i.e., the last selected factor is still meaningfully above 1. Args: selected_factors: The factor set you want to extrapolate from. n_extra: How many extra development periods to project. Default 6 (covers most P&C lines). Returns either:
- On success: |
| compare_methodsA | Run chain ladder + Bornhuetter-Ferguson on the same triangle and return a side-by-side comparison. Pro tier. The canonical "second opinion" — when both methods agree, the reserve is defensible; when they diverge, the divergence is the finding. Reports total deltas plus the single AY where the two methods disagree most. Args:
triangle: As in Returns either:
- On success: |
| sample_triangleA | Return the classic textbook 10×10 cumulative-paid triangle
(Friedland-style). Useful for demos, examples, and verifying the
server is working — feed it to Returns:
- |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/datalattice/mcp-chainladder'
If you have feedback or need assistance with the MCP directory API, please join our Discord server