Overview
Treasury Yields sources daily constant-maturity market yields from the Federal Reserve (FRED), the same rates used to construct the Treasury yield curve. Nominal yields span 1-month to 30-year maturities and TIPS real yields span 5-year to 30-year. Historical month-end snapshots go back to January 2010. Paid plans also get the standard curve spreads (10yr-2yr, 10yr-3mo, 30yr-5yr, 5yr-2yr), inversion flags, the curve's shape, and breakeven inflation at each TIPS maturity (the nominal yield minus the real yield, the market's implied inflation rate).
Live Test Treasury Yields Skill Skill →
The tool
Once your client is connected to the VerveKit server, this appears in its tool list as TreasuryYieldsSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.
{
"name": "TreasuryYieldsSkill",
"arguments": {}
}Connecting
One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.
{
"mcpServers": {
"vervekit": {
"url": "https://api.vervekit.com/v1/mcp"
}
}
}https://api.vervekit.com/v1/mcpPer-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.
Arguments
These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.
| Argument | Type | Description |
|---|---|---|
dateOptionalPremium | string | Optional month in YYYY-MM format, back to 2010-01; returns that month's closing curve. Omit for the latest daily curve. |
typeOptional | string | Optional filter for a single point. Legacy security types: bills, notes, bonds, tips, frn. Or a maturity: 1mo, 3mo, 6mo, 1yr, 2yr, 3yr, 5yr, 7yr, 10yr, 20yr, 30yr |
What the model gets back
The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.
{
"status": "ok",
"error": null,
"data": {
"date": "2026-10-23",
"yields": {
"1mo": 4.11,
"3mo": 4.22,
"6mo": 4.3,
"1yr": 4.44,
"2yr": 4.69,
"3yr": 4.75,
"5yr": 4.82,
"7yr": 4.89,
"10yr": 5,
"20yr": 5.37,
"30yr": 5.33
},
"realYields": {
"5yr": 2.34,
"7yr": 2.49,
"10yr": 2.66,
"20yr": 2.94,
"30yr": 3.08
},
"bills": 4.22,
"notes": 5,
"bonds": 5.33,
"tips": 2.66,
"frn": 4.22,
"changes": {
"bills": {
"change1d": 0,
"direction": "unchanged"
},
"notes": {
"change1d": 0.04,
"direction": "up"
},
"bonds": {
"change1d": 0.04,
"direction": "up"
},
"tips": {
"change1d": 0.02,
"direction": "up"
},
"frn": {
"change1d": 0,
"direction": "unchanged"
},
"1mo": {
"change1d": 0,
"direction": "unchanged"
},
"3mo": {
"change1d": 0,
"direction": "unchanged"
},
"6mo": {
"change1d": 0.01,
"direction": "up"
},
"1yr": {
"change1d": 0.03,
"direction": "up"
},
"2yr": {
"change1d": 0.04,
"direction": "up"
},
"3yr": {
"change1d": 0.03,
"direction": "up"
},
"5yr": {
"change1d": 0.04,
"direction": "up"
},
"7yr": {
"change1d": 0.03,
"direction": "up"
},
"10yr": {
"change1d": 0.04,
"direction": "up"
},
"20yr": {
"change1d": 0.05,
"direction": "up"
},
"30yr": {
"change1d": 0.04,
"direction": "up"
}
},
"spread10yr2yr": 0.31,
"spread10yr3mo": 0.78,
"spread30yr5yr": 0.51,
"spread5yr2yr": 0.13,
"inverted10yr2yr": false,
"inverted10yr3mo": false,
"curveShape": "normal",
"breakevenInflation": {
"5yr": 2.48,
"7yr": 2.4,
"10yr": 2.34,
"20yr": 2.43,
"30yr": 2.25
}
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
date | string | 2026-10-23 | The date of the treasury yields data in YYYY-MM-DD format |
yields | object | {…} | Nominal constant-maturity market yields (percent) keyed by maturity: 1mo, 3mo, 6mo, 1yr, 2yr, 3yr, 5yr, 7yr, 10yr, 20yr, 30yr |
yields.1mo | number | 4.11 | |
yields.3mo | number | 4.22 | |
yields.6mo | number | 4.3 | |
yields.1yr | number | 4.44 | |
yields.2yr | number | 4.69 | |
yields.3yr | number | 4.75 | |
yields.5yr | number | 4.82 | |
yields.7yr | number | 4.89 | |
yields.10yr | number | 5 | |
yields.20yr | number | 5.37 | |
yields.30yr | number | 5.33 | |
realYieldsPremium | object | {…} | TIPS real (inflation-indexed) constant-maturity yields (percent) keyed by maturity: 5yr, 7yr, 10yr, 20yr, 30yr |
realYields.5yrPremium | number | 2.34 | |
realYields.7yrPremium | number | 2.49 | |
realYields.10yrPremium | number | 2.66 | |
realYields.20yrPremium | number | 2.94 | |
realYields.30yrPremium | number | 3.08 | |
bills | number | 4.22 | Benchmark short-term yield (3-month) as percentage |
notes | number | 5 | Benchmark note yield (10-year) as percentage |
bonds | number | 5.33 | Benchmark long bond yield (30-year) as percentage |
tipsPremium | number | 2.66 | Benchmark TIPS real yield (10-year) as percentage |
frnPremium | number | 4.22 | Floating Rate Note reference yield (3-month bill) as percentage |
changesPremium | object | {…} | Day-over-day change statistics, keyed by legacy type and by maturity |
changes.billsPremium | object | {…} | Change data for the 3-month benchmark including change1d and direction |
changes.bills.change1dPremium | number | 0 | One-day percentage point change for the 3-month benchmark |
changes.bills.directionPremium | string | unchanged | Direction of change: up, down, or unchanged |
changes.notesPremium | object | {…} | Change data for the 10-year benchmark including change1d and direction |
changes.notes.change1dPremium | number | 0.04 | One-day percentage point change for the 10-year benchmark |
changes.notes.directionPremium | string | up | Direction of change: up, down, or unchanged |
changes.bondsPremium | object | {…} | Change data for the 30-year benchmark including change1d and direction |
changes.bonds.change1dPremium | number | 0.04 | One-day percentage point change for the 30-year benchmark |
changes.bonds.directionPremium | string | up | Direction of change: up, down, or unchanged |
changes.tipsPremium | object | {…} | Change data for the 10-year TIPS benchmark including change1d and direction |
changes.tips.change1dPremium | number | 0.02 | One-day percentage point change for the 10-year TIPS benchmark |
changes.tips.directionPremium | string | up | Direction of change: up, down, or unchanged |
changes.frnPremium | object | {…} | Change data for the FRN reference (3-month) including change1d and direction |
changes.frn.change1dPremium | number | 0 | One-day percentage point change for the FRN reference |
changes.frn.directionPremium | string | unchanged | Direction of change: up, down, or unchanged |
changes.1moPremium | object | {…} | |
changes.1mo.change1dPremium | number | 0 | One-day percentage point change for the requested type, when available |
changes.1mo.directionPremium | string | unchanged | |
changes.3moPremium | object | {…} | |
changes.3mo.change1dPremium | number | 0 | One-day percentage point change for the requested type, when available |
changes.3mo.directionPremium | string | unchanged | |
changes.6moPremium | object | {…} | |
changes.6mo.change1dPremium | number | 0.01 | One-day percentage point change for the requested type, when available |
changes.6mo.directionPremium | string | up | |
changes.1yrPremium | object | {…} | |
changes.1yr.change1dPremium | number | 0.03 | One-day percentage point change for the requested type, when available |
changes.1yr.directionPremium | string | up | |
changes.2yrPremium | object | {…} | |
changes.2yr.change1dPremium | number | 0.04 | One-day percentage point change for the requested type, when available |
changes.2yr.directionPremium | string | up | |
changes.3yrPremium | object | {…} | |
changes.3yr.change1dPremium | number | 0.03 | One-day percentage point change for the requested type, when available |
changes.3yr.directionPremium | string | up | |
changes.5yrPremium | object | {…} | |
changes.5yr.change1dPremium | number | 0.04 | One-day percentage point change for the requested type, when available |
changes.5yr.directionPremium | string | up | |
changes.7yrPremium | object | {…} | |
changes.7yr.change1dPremium | number | 0.03 | One-day percentage point change for the requested type, when available |
changes.7yr.directionPremium | string | up | |
changes.10yrPremium | object | {…} | |
changes.10yr.change1dPremium | number | 0.04 | One-day percentage point change for the requested type, when available |
changes.10yr.directionPremium | string | up | |
changes.20yrPremium | object | {…} | |
changes.20yr.change1dPremium | number | 0.05 | One-day percentage point change for the requested type, when available |
changes.20yr.directionPremium | string | up | |
changes.30yrPremium | object | {…} | |
changes.30yr.change1dPremium | number | 0.04 | One-day percentage point change for the requested type, when available |
changes.30yr.directionPremium | string | up | |
spread10yr2yrPremium | number | 0.31 | 10-year minus 2-year yield, in percentage points; negative means that part of the curve is inverted; returned with the full curve, not with type |
spread10yr3moPremium | number | 0.78 | 10-year minus 3-month yield, in percentage points (the Fed's preferred recession indicator); returned with the full curve, not with type |
spread30yr5yrPremium | number | 0.51 | 30-year minus 5-year yield, in percentage points; returned with the full curve, not with type |
spread5yr2yrPremium | number | 0.13 | 5-year minus 2-year yield, in percentage points; returned with the full curve, not with type |
inverted10yr2yrPremium | boolean | false | True when the 10-year yield is below the 2-year; returned with the full curve, not with type |
inverted10yr3moPremium | boolean | false | True when the 10-year yield is below the 3-month; returned with the full curve, not with type |
curveShapePremium | string | normal | normal, flat (10yr-3mo spread within 0.25 points) or inverted (10yr below 3mo); returned with the full curve, not with type |
Failure modes
Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.
| Status | What it means |
|---|---|
400 / 422 | The arguments did not validate. The message names the offending one. |
401 | The OAuth session is invalid or expired — reconnect the server. |
403 | Blocked by a key restriction or an IP allow-list. Never a bad identity. |
404 | This skill is not part of VerveKit. Check the catalog. |
429 | Out of credits, or a brief rate limit. The message tells them apart. |
A call costs 2 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.
Use cases
- Yield Curve Analysis
- Build yield curves using Treasury rates across different maturities
- Fixed Income Research
- Analyze treasury securities for investment research and portfolio management
- Financial Modeling
- Use risk-free rates for DCF models and derivatives pricing
- Economic Indicators
- Track treasury yields as indicators of economic conditions and Fed policy
Other ways to use Treasury Yields Skill
Set up Treasury Yields Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.
Related
More in Finance: