CPI Inflation Calculator
Server Details
Inflation calculator with official BLS CPI 1913 to the latest month, raise vs inflation, SS COLA.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- theluckystrike/cpi-inflation-calculator-mcp
- GitHub Stars
- 0
- Server Listing
- CPI Inflation Calculator MCP
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool has a distinct purpose: adjusting an amount, computing a COLA, comparing a raise, retrieving an annual rate, and fetching the latest CPI. The closest pair is calculate_inflation vs get_inflation_rate, but descriptions make the amount-adjustment vs rate-lookup distinction clear. No two tools truly overlap.
All names follow a consistent snake_case verb_noun pattern (calculate_*, get_*, compare_*), with verbs that accurately reflect each action. The convention is predictable throughout.
Five tools is well-scoped for a focused CPI/inflation domain, and each tool earns its place by covering a distinct calculation. Nothing feels redundant or bloated.
The surface covers the core lifecycle: raw latest CPI, annual rates, arbitrary-period adjustments, COLA, and real-wage comparison. A minor gap exists around querying a specific historical monthly index or listing available CPI series, but the core workflows are fully covered.
Available Tools
5 toolscalculate_inflationInflation calculator (CPI, 1913 to latest month)ARead-onlyIdempotentInspect
Adjusts a dollar amount for inflation between any two periods from 1913 to the latest month the U.S. Bureau of Labor Statistics has published, using the official CPI-U (or CPI-W or core CPI). Checks the BLS Public Data API live for months newer than its bundled data (bundled through September 2026, fetched 2026-11-03), so it knows CPI figures newer than a model's training data. Handles the October 2025 gap: BLS published no October 2025 CPI because of the 2025 lapse in appropriations. Returns the adjusted amount, cumulative and average annual inflation, and the exact index values used.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Ending period, default "latest": "YYYY" for the annual average, "YYYY-MM" for one month, or "latest". | |
| from | Yes | Starting period, e.g. "1995" or "2020-01": "YYYY" for the annual average, "YYYY-MM" for one month, or "latest". | |
| amount | Yes | Dollar amount in the 'from' period. | |
| series | No | cpi_u (default, the headline CPI), cpi_w (wage earners, used for Social Security COLAs) or core (CPI-U less food and energy). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world behavior, and the description adds materially: it fetches live BLS Public Data API data for months newer than its bundled snapshot (bundled through September 2026, fetched 2026-11-03), which explains the openWorldHint in operational terms. It also discloses the October 2025 gap caused by the lapse in appropriations, a data-quality caveat an agent could not otherwise anticipate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core operation before the freshness and data-gap caveats. The parenthetical fetch date and bundle window are dense but earn their place as freshness evidence; minor trimming of duplicated series names would tighten it further.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description responsibly lists what comes back: the adjusted amount, cumulative and average annual inflation, and the exact index values used. Combined with the freshness and data-gap notes, an agent has everything needed to call this correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters including the series enum are already documented in the schema; the description only reiterates the series options (CPI-U/CPI-W/core) without adding format or defaulting detail. Per the baseline rule, 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: "Adjusts a dollar amount for inflation between any two periods." It also names the supported series and the 1913-to-latest range, so the operation is unambiguous. It stops short of naming a sibling such as get_inflation_rate or compare_raise_to_inflation to sharpen the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the verb: use this when you need a dollar amount converted across periods rather than a raw rate. There is no explicit when-to-use/when-not guidance and no pointer to the closely related siblings (get_inflation_rate, calculate_social_security_cola), leaving the agent to infer selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_social_security_colaSocial Security COLA from CPI-WARead-onlyIdempotentInspect
Computes the Social Security cost-of-living adjustment for a year with the statutory formula: average CPI-W for July-September of the prior year over the same quarter a year earlier, rounded to 0.1%. Uses official BLS CPI-W values (live check). Reproduces the 3.6% COLA for 2027 that SSA announced in October 2026, and shows the Q3 index values behind it. Covers 1976 onward.
| Name | Required | Description | Default |
|---|---|---|---|
| cola_year | Yes | Year the COLA is paid, e.g. 2027 (measured on Q3 2026 CPI-W). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and open-world, so the description correctly does not repeat safety claims. It adds genuinely new behavior: the arithmetic (prior-year Q3 CPI-W average over the year-earlier quarter, rounded to 0.1%), the data source with a live check against official BLS values, and that Q3 index values are returned alongside the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose and formula, then the data source and coverage in three tight sentences with no filler. The 2027 verification detail is a little dense but does real work by showing expected output shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully discloses what comes back (COLA percentage plus the underlying Q3 index values). Formula, data provenance, rounding precision, and historical range are all covered; only explicit alternative-tool routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is already documented as 'Year the COLA is paid, measured on Q3 of the prior year'. The description's 'covers 1976 onward' merely restates the schema minimum, adding no new syntax, format, or edge-case meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Computes the Social Security cost-of-living adjustment') and pins down the exact statutory method, so it is clearly not just a generic inflation calculation. It never names or routes against the siblings (get_latest_cpi, calculate_inflation), so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the year-based framing and the 'covers 1976 onward' range, and the 2027 example signals the intended input convention. There is no explicit when-to-use-this-vs-alternatives guidance, e.g. when an agent should pick this over calculate_inflation or get_latest_cpi.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_raise_to_inflationDid a pay raise beat inflation?ARead-onlyIdempotentInspect
Compares a pay change with CPI inflation over the same period using official BLS data through the latest published month (checked live). Returns the nominal raise, inflation, the real (inflation-adjusted) raise, the pay needed to keep pace, and the gain or shortfall. Works for salaries, hourly wages, rents or any recurring amount.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | When to measure, default "latest": "YYYY" for the annual average, "YYYY-MM" for one month, or "latest". | |
| from | Yes | When the old pay started, e.g. "2024-01": "YYYY" for the annual average, "YYYY-MM" for one month, or "latest". | |
| series | No | cpi_u (default, the headline CPI), cpi_w (wage earners, used for Social Security COLAs) or core (CPI-U less food and energy). | |
| new_pay | Yes | Pay after the change, same unit. | |
| old_pay | Yes | Pay before the change (annual salary or hourly rate). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), so the description adds the useful bits: live-checked BLS data through the latest published month, and the specific outputs returned (nominal raise, inflation, real raise, pace-keeping pay, gain/shortfall). It stops short of describing failure modes (e.g. what happens for future or invalid dates) or unit-mismatch behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the operation and source, then the return payload, then applicability. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, listing the five returned figures is the right compensation, and the data recency caveat is included. An agent has enough to call it correctly; only edge-case behavior (unit mismatch, out-of-range dates) is unaddressed, which is a minor gap for a read-only calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents every parameter including the series enum and date formats. The description adds only modest meaning beyond that: the period must be shared between old and new pay, and the amounts can be any recurring quantity, not just salary. That is a small but real addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and compound operation ("compares a pay change with CPI inflation over the same period") and even names the data source (official BLS data, latest published month). This is clearly distinct from siblings like get_inflation_rate or calculate_inflation, which supply inputs rather than doing the raise-vs-inflation comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence gives implied applicability ("salaries, hourly wages, rents or any recurring amount"), which tells an agent the input domain. However, it never says when to prefer this over calculate_inflation or get_inflation_rate, nor any prerequisite such as matching units or period ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inflation_rateAnnual inflation rate for a yearARead-onlyIdempotentInspect
Returns the official U.S. inflation rate for a calendar year from BLS CPI data: annual-average change (BLS annual averages, including the 2025 average published despite the missing October 2025 index), December-to-December change, and for the current year the latest 12-month rate. Years 1914 to the present for CPI-U and CPI-W, 1958 onward for core CPI.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Calendar year, e.g. 2025. | |
| series | No | cpi_u (default, the headline CPI), cpi_w (wage earners, used for Social Security COLAs) or core (CPI-U less food and energy). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, open-world behavior, so the description is not burdened with safety disclosure. It adds useful context beyond annotations: BLS CPI as the source, the specific rate measures returned, series-specific historical coverage, and the caveat about the missing October 2025 index.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the core purpose and then lists the returned measures and coverage. The parenthetical caveat about October 2025 earns its place, though the sentence is somewhat run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema coverage and annotations covering safety, the description supplies the important domain context: source, measures, year ranges, series differences, and a data-quality caveat. Exact response field names are not specified, but the returned components are described and no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description still adds meaning beyond the schema by clarifying that CPI-U and CPI-W cover 1914 onward while core CPI begins in 1958, and by explaining current-year behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns the official U.S. inflation rate for a calendar year from BLS CPI data, including annual-average, December-to-December, and current-year 12-month rates. It is clear what the tool does, but it does not explicitly distinguish itself from siblings such as get_latest_cpi or calculate_inflation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for calendar-year official inflation rates and notes current-year latest 12-month behavior, but it does not explicitly say when to use this tool versus get_latest_cpi, calculate_inflation, or compare_raise_to_inflation. Guidance is therefore implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_cpiLatest CPI release (live from BLS)ARead-onlyIdempotentInspect
Returns the most recent CPI index values published by the Bureau of Labor Statistics, checked live against the BLS Public Data API: the latest month, the 12-month inflation rate for headline CPI-U, CPI-W and core CPI (less food and energy), the not seasonally adjusted 1-month change, and the year-to-date change. Use it to answer 'what is inflation right now'. If the live check fails it says so and falls back to bundled BLS data (through September 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description goes beyond them with genuinely useful disclosure: the data is checked live against the BLS Public Data API, and on failure it reports that and falls back to bundled data current through September 2026. A caller therefore knows results can be stale or degraded and that the failure is surfaced rather than silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the resource and the returned figures, followed by the usage cue and the fallback caveat. The enumerated field list is long but each item is a distinct return value, so it earns its space; the parenthetical clarifications are slightly wordy but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return-value burden, and it does so by naming each figure the response contains. What is missing is any sense of the response's shape or ordering, and the fallback date bound ('through September 2026') leaves it to the agent to judge staleness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing to disambiguate and the baseline of 4 applies. The description does not waste words inventing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb and resource ('Returns the most recent CPI index values published by the BLS') followed by an explicit inventory of what comes back: latest month, 12-month rate for CPI-U/CPI-W/core, NSA 1-month change, YTD change. It implicitly separates itself from get_inflation_rate via the 'inflation right now' framing, but never names a sibling or states the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use rule: 'Use it to answer what is inflation right now.' That is a concrete selection cue rather than vague framing. It offers no when-not condition and does not name calculate_inflation or get_inflation_rate as alternatives for other shapes of question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
calculate_inflation - First observed
calculate_social_security_cola - First observed
compare_raise_to_inflation - First observed
get_inflation_rate - First observed
get_latest_cpi
Related MCP Connectors
Read-only Social Security COLA data, calculations, history, and official source links.
Show the value of money over time.
Prices people actually paid, from official open data: homes, rents, fuel, energy, food, medicines.
140+ calculators and data tools — finance, health, science, global comparisons and more.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides access to U.S. labor market data including employment statistics, Consumer Price Index inflation rates, and wage information. Users can query specific time series data or use shortcuts for common economic indicators like unemployment and industry-specific employment.3-
- AlicenseAqualityDmaintenanceEnables access to Bureau of Labor Statistics (BLS) economic data including Consumer Price Index, employment statistics, and other labor market indicators. Supports fetching data series, listing available datasets, and retrieving metadata through natural language queries.4MIT
- AlicenseAqualityCmaintenanceEnables users to query U.S. labor statistics, including employment, CPI, and wages, directly from the Bureau of Labor Statistics Public Data API. It provides tools to retrieve real-time economic time series data, browse popular series, and access survey metadata through natural language.681 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to query official Brazilian Central Bank economic data, including Selic, CDI, IPCA, IGP-M, INCC, exchange rates, and Focus projections, and to correct values for inflation or calculate returns by CDI/Selic percentages.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.