BrinkerAdvisor Rates
Server Details
Public CD, money-market and Treasury records with data dates, source links and illustrative ladders.
- Status
- Healthy
- Uptime
- 100.0% over 28 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
build_ladder, compare_rates, and fetch each have clearly distinct intents (ladder construction, side-by-side comparison, single-record lookup by ID). However, search and mention_rates both describe searching current public rate records, and mention_rates' only differentiator ('desktop composer resource picker') is vague, creating real overlap that could cause misselection.
Three tools follow a verb_noun pattern (build_ladder, compare_rates, mention_rates), but search and fetch are bare verbs, breaking the convention. It remains readable and no casing issues exist, but the pattern is mixed rather than predictable.
Five tools is well within a reasonable scope for a read-only rate-information service, and each covers a recognizable capability (discover, retrieve, compare, ladder, mention). The only concern is whether mention_rates earns its place alongside search.
For a read-only public rate domain, the surface covers discovery (search, mention_rates), detail retrieval (fetch), comparison (compare_rates), and ladder construction (build_ladder), which is solid lifecycle coverage. Write operations are appropriately absent, leaving only minor ambiguity around the redundant search/mention pairing.
Available Tools
5 toolsbuild_ladderBuild an illustrative fixed-income ladderAInspect
Build an educational equal-weight maturity ladder from current eligible public CD, money-market, Treasury, or municipal options for a requested rung count and term range. Every covered rung contains a canonical brinkeradvisor_url and an original source_name and source_url. Returns explicit uncovered rungs. This tool does not access accounts, trade, recommend a product, forecast rates or the economy, or provide suitability or tax advice.
| Name | Required | Description | Default |
|---|---|---|---|
| rung_count | Yes | ||
| instrument_types | Yes | ||
| maximum_term_months | Yes | ||
| minimum_term_months | Yes | ||
| hypothetical_amount_usd | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | Feed publication date; each covered rung has its own record date and age. |
| rungs | Yes | |
| limitations | Yes | |
| source_freshness | Yes | Feed age band, not the age of every covered rung. |
| illustrative_only | Yes | |
| equal_target_percentage | Yes | |
| hypothetical_amount_usd | Yes | |
| maturity_spacing_months | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are present but thin (readOnlyHint=false, openWorldHint=true, idempotent=false, destructive=false), so the description adds real value: it specifies that each covered rung carries a canonical brinkeradvisor_url plus original source_name/source_url, that uncovered rungs are returned explicitly, and that the tool never touches accounts or trades. It does not mention latency, rate limits, or data freshness for 'current' options. No contradiction with the annotations.
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?
Four sentences, front-loaded with the core action and scope, with the return-shape detail and disclaimers following. Little waste, though the URL/source sentence duplicates information the output schema already conveys.
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 five-parameter tool with an output schema, the description conveys the input semantics, the coverage guarantee of the result, and the ethical/scope boundaries. The remaining gaps are the unexplained optional hypothetical_amount_usd and absent units, which the schema enforces but does not explain.
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 0%, so the description must carry parameter meaning. It does cover rung count, term range, and the four instrument types in prose, which maps to four of five parameters, but it never mentions hypothetical_amount_usd (the only optional field) and gives no units or bounds (months, USD limits) beyond what the schema enforces.
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?
Specific verb (build) plus a precisely scoped resource (an educational, equal-weight maturity ladder from current eligible public CD/money-market/Treasury/municipal options). An agent can distinguish it from a rate-comparison or search tool. It stops short of naming any sibling or stating what it is not relative to compare_rates/fetch, so it lands at 4 rather than 5.
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 inputs ('for a requested rung count and term range') and by the negative scope disclaimers (no account access, no trading, no advice), which help route away from trading/advisory tools. However there is no explicit when-to-use trigger and no named alternative, so the agent must infer the conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_ratesRates explorerAInspect
Create a bounded side-by-side comparison for an explicit comparison or contrast of current CD, money-market, Treasury, or municipal options with instrument and maturity filters. Returns applied filters, current options, and comparability limitations without selecting a winner. Every option contains a canonical brinkeradvisor_url and an original source_name and source_url. A request merely to find or list several matching records is outside this tool's comparison intent. Economic or Federal Reserve forecasts, account actions, personalized advice, tax advice, and suitability are outside this tool's scope.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| instrument_types | No | ||
| maximum_term_months | No | ||
| minimum_term_months | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | Feed publication date; each option has its own record date and age. |
| options | Yes | |
| applied_filters | Yes | |
| source_freshness | Yes | Feed age band, not the age of every option. |
| comparison_limitations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false. The description adds real context beyond them: what is returned (applied filters, current options, comparability limitations), that no winner is selected, and that each option carries a canonical brinkeradvisor_url plus original source_name/source_url. It does not explain the side effects implied by the non-read-only, non-idempotent hints, which is the one remaining ambiguity.
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?
Purpose, output contents, and exclusions are front-loaded in a useful order, and the density is justified by the tool's breadth. It is longer than needed at the tail, where two separate sentences restate that things are outside the tool's scope, and the closing exclusion list is somewhat enumerative.
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?
An output schema exists, so return-value details are optional, yet the description still summarizes the payload (applied filters, options, comparability limitations, attribution URLs), which is helpful. Scope and exclusions are thorough. The only material gap is the undocumented limit parameter, given 0% schema coverage.
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 0%, so the description must carry parameter meaning, and it only partly does: 'instrument and maturity filters' loosely maps to instrument_types and the two term-months bounds. The limit parameter (1-20, default 10) is never mentioned, nor are units or inclusive/exclusive bounds for the term range.
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 gives a specific verb and resource: 'Create a bounded side-by-side comparison' of four named instrument classes with instrument and maturity filters. It explicitly excludes a use case ('a request merely to find or list several matching records is outside this tool's comparison intent'), which separates it from listing-style siblings like search. An agent can identify the tool's job without opening the schema.
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?
When-to-use is explicit ('an explicit comparison or contrast' request) and when-not is well covered (find/list requests, economic or Fed forecasts, account actions, personalized advice, tax advice, suitability). It never names the alternative sibling tools (search, mention_rates, build_ladder) that should handle the excluded cases, so routing is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch a BrinkerAdvisor rate recordAInspect
Retrieve complete yield, term, freshness, canonical link, and original-source provenance for one current public BrinkerAdvisor record when its exact stable record ID is already supplied. Requires one known ID and returns one record. The top-level url is the canonical BrinkerAdvisor link; metadata.source_url is the distinct original-source link.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | Absolute canonical BrinkerAdvisor record URL, distinct from the original provider source URL. |
| text | Yes | |
| title | Yes | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write/open-world/idempotency profile, so the bar is lower. The description adds real scope context — only 'current public' records, exactly one record — and clarifies the canonical vs. original-source link distinction. It says nothing about behavior when an ID is unknown or stale, or about error/rate-limit behavior, so it is adequate rather than rich.
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 action and resource, then the precondition, then the field-level clarification. Dense but each sentence adds something; the field enumeration is slightly list-like but serves the return-value semantics.
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?
An output schema exists, so return values need not be re-explained, yet the description still adds the canonical-vs-source URL semantics. Combined with the ID precondition and single-record guarantee, an agent has enough to call it correctly; only the failure path for unknown IDs is unaddressed.
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 0%, so the description must carry the parameter's meaning, and it does: the single id is a 'stable record ID' that must be 'exact' and already known. That tells the agent the input is a previously obtained identifier rather than a query string, though it gives no format or example value.
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 uses a specific verb ('Retrieve') and a specific resource ('one current public BrinkerAdvisor rate record'), and enumerates the returned dimensions (yield, term, freshness, canonical link, provenance). It doesn't name a sibling explicitly, but the 'when its exact stable record ID is already supplied' clause cleanly separates it from search, so an agent can distinguish it without opening the schema.
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?
It states the precondition for use ('when its exact stable record ID is already supplied', 'Requires one known ID') and the cardinality ('returns one record'), which implicitly tells the agent to use search first when no ID is known. No sibling is named as an alternative and there is no explicit exclusion, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mention_ratesFind public rate resourcesCRead-onlyIdempotentInspect
Search current public rate records for the desktop composer resource picker.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered. The description adds essentially nothing behavioral beyond that – no hint on result limits, ranking, pagination, or whether 'public' implies an unauthenticated lookup.
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?
One compact sentence with no filler. The tradeoff is that its brevity comes from under-specification rather than disciplined editing.
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?
An output schema exists, so return-value explanation is not required. However, with an undocumented query parameter and no routing guidance against four siblings, the definition is only minimally complete for an agent to select and invoke it correctly.
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 single required 'query' parameter has 0% schema description coverage and the description never explains what the query matches (rate names, geography, service type) or its format. A 300-character maxLength constraint is the only guidance, and that comes from the schema, not the text.
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 verb+resource ('Search current public rate records'), but the qualifier 'for the desktop composer resource picker' is obscure UI jargon that doesn't sharpen the meaning. Nothing distinguishes it from siblings like search or compare_rates.
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?
No statement of when to use this versus compare_rates, search, or fetch, despite three plausible overlapping siblings. The only scoping signal is 'public' and 'current', which is implied rather than explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchFind current BrinkerAdvisor rate recordsBInspect
Find or list one or more current public BrinkerAdvisor CD, money-market, Treasury, or municipal rate records by product, institution, term, or maturity when no exact stable record ID is supplied. Discovery of several matching records returns a list, not a side-by-side comparison. Returns stable IDs, titles, and absolute canonical BrinkerAdvisor URLs. Economic indicators or forecasts, unemployment, inflation, GDP, Federal Reserve or central-bank policy, news, general macroeconomic research, account access, transactions, personalized advice, tax advice, and suitability are outside this tool's scope.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description does not need to repeat safety behavior. It adds that discovery returns a list rather than a comparison and mentions stable IDs and URLs, but it does not cover rate limits, authentication, or pagination, leaving moderate gaps beyond what annotations already say.
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 long, dense block with a front-loaded core action followed by a scope exclusion list. It is appropriately sized for a search tool but the exclusion enumeration is heavy and some sentences could be folded without losing meaning.
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?
An output schema exists, so return-shape detail is not required, and the description helpfully notes it returns stable IDs, titles, and URLs. However, with one parameter at 0% schema coverage and no sibling differentiation, the definition is adequate but missing enough query semantics and routing guidance to be fully complete.
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 0% for the single query parameter, so the description must compensate. It describes what kinds of filters are possible (product, institution, term, maturity) and notes the 1-300 character limit indirectly, but does not explain syntax, free-text versus structured query, or field separators, leaving meaningful ambiguity.
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 broad verb (find/list) and resource (rate records) with some scoping detail, but the single-token name 'search' does not distinguish it from siblings like fetch or compare_rates. The description explains what it returns (stable IDs, titles, URLs), yet the core retrieval purpose is not crisply separated from other tools in the set.
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?
It implicitly signals use when no exact stable record ID is supplied, which is useful, but it does not explicitly name alternatives like compare_rates or fetch or state when not to use this tool. The exclusion list clarifies scope but does not guide tool selection among siblings.
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.
2 tool updates
- Changed
build_ladder2 fields changed- removed
Output schema / properties / rungs / items / properties / option / properties / term_months / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / rungs / items / properties / option / properties / term_months / typeAdded value: +[ + "number", + "null" +]
- Changed
compare_rates2 fields changed- removed
Output schema / properties / options / items / properties / term_months / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / options / items / properties / term_months / typeAdded value: +[ + "number", + "null" +]
2 tool updates
- Changed
compare_rates2 fields changed- added
Input schema / properties / instrument_types / defaultAdded value: +[ + "cd", + "money_market", + "treasury", + "municipal" +] - removed
Input schema / requiredRemoved value: -[ - "instrument_types" -]
- Added
mention_rates
4 tool updates
- Changed
build_ladder2 fields changed- changed
Output schema / properties / rungs / items / properties / option / properties / brinkeradvisor_url / descriptionPrevious value: -"Absolute canonical BrinkerAdvisor record URL. The final answer must display this URL as a clickable link."New value: +"Absolute canonical BrinkerAdvisor record URL, distinct from the original provider source URL." - changed
Output schema / properties / rungs / items / properties / option / properties / source_url / descriptionPrevious value: -"Absolute original provider or government source URL. The final answer must distinguish this provenance link from the BrinkerAdvisor record link."New value: +"Absolute original provider or government source URL documenting the record's provenance."
- Changed
compare_rates2 fields changed- changed
Output schema / properties / options / items / properties / brinkeradvisor_url / descriptionPrevious value: -"Absolute canonical BrinkerAdvisor record URL. The final answer must display this URL as a clickable link."New value: +"Absolute canonical BrinkerAdvisor record URL, distinct from the original provider source URL." - changed
Output schema / properties / options / items / properties / source_url / descriptionPrevious value: -"Absolute original provider or government source URL. The final answer must distinguish this provenance link from the BrinkerAdvisor record link."New value: +"Absolute original provider or government source URL documenting the record's provenance."
- Changed
fetch2 fields changed- changed
Output schema / properties / metadata / properties / source_url / descriptionPrevious value: -"Absolute original provider or government source URL. The final answer must distinguish this provenance link from the BrinkerAdvisor record link."New value: +"Absolute original provider or government source URL documenting the record's provenance." - changed
Output schema / properties / url / descriptionPrevious value: -"Absolute canonical BrinkerAdvisor record URL. The final answer must display this URL as a clickable link."New value: +"Absolute canonical BrinkerAdvisor record URL, distinct from the original provider source URL."
- Changed
search1 field changed- changed
Output schema / properties / results / items / properties / url / descriptionPrevious value: -"Absolute canonical BrinkerAdvisor record URL. The final answer must display this URL as a clickable link."New value: +"Absolute canonical BrinkerAdvisor record URL, distinct from the original provider source URL."
2 tool updates
- Changed
build_ladder5 fields changed- added
Output schema / properties / as_of / descriptionAdded value: +"Feed publication date; each covered rung has its own record date and age." - added
Output schema / properties / rungs / items / properties / option / properties / as_ofAdded value: +{ + "description": "Original record value date, which may precede the feed publication date.", + "type": "string" +} - added
Output schema / properties / rungs / items / properties / option / properties / data_age_hoursAdded value: +{ + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Age of this record, not the feed, when retrieved." +} - changed
Output schema / properties / rungs / items / properties / option / requiredPrevious value: -[ - "id", - "instrument_type", - "issuer_or_institution", - "product", - "term", - "term_months", - "published_yield", - "source_name", - "source_status", - "source_url", - "brinkeradvisor_url" -]New value: +[ + "id", + "instrument_type", + "issuer_or_institution", + "product", + "term", + "term_months", + "published_yield", + "as_of", + "data_age_hours", + "source_name", + "source_status", + "source_url", + "brinkeradvisor_url" +] - added
Output schema / properties / source_freshness / descriptionAdded value: +"Feed age band, not the age of every covered rung."
- Changed
compare_rates5 fields changed- added
Output schema / properties / as_of / descriptionAdded value: +"Feed publication date; each option has its own record date and age." - added
Output schema / properties / options / items / properties / as_ofAdded value: +{ + "description": "Original record value date, which may precede the feed publication date.", + "type": "string" +} - added
Output schema / properties / options / items / properties / data_age_hoursAdded value: +{ + "anyOf": [ + { + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Age of this record, not the feed, when retrieved." +} - changed
Output schema / properties / options / items / requiredPrevious value: -[ - "id", - "instrument_type", - "issuer_or_institution", - "product", - "term", - "term_months", - "published_yield", - "source_name", - "source_status", - "source_url", - "brinkeradvisor_url" -]New value: +[ + "id", + "instrument_type", + "issuer_or_institution", + "product", + "term", + "term_months", + "published_yield", + "as_of", + "data_age_hours", + "source_name", + "source_status", + "source_url", + "brinkeradvisor_url" +] - added
Output schema / properties / source_freshness / descriptionAdded value: +"Feed age band, not the age of every option."
4 tool updates
- First observed
build_ladder - First observed
compare_rates - First observed
fetch - First observed
search
Related MCP Connectors
Live US savings, CD, mortgage & HELOC rates with source + timestamp on every figure.
Source-backed treasury data, settlement costs. Free instrument records and history.
Sixteen read-only US rate, savings-gap, Fed, card and CD tools with sources and freshness.
US macro & Treasury data — FRED series, yield curve, auctions, and a macro dashboard.
Related MCP Servers
- AlicenseAqualityAmaintenanceHistorical Polymarket order book depth — full L2 bid/ask ladders at 1-second resolution on resolved markets, plus prices, spread and liquidity. Polymarket archives no order book history, so this serves depth captured live.812 npmMIT

SwitchWize MCPofficial
AlicenseBqualityAmaintenanceRead-only MCP bridge for public U.S. savings, money-market, CD and checking comparisons, savings-gap estimates, financial indexes and credit-card research. No account or API key required. Forwards hosted tools, prompts and resources; responses retain source dates and freshness labels. Data may be stale or unavailable. No private account access or money movement.1628 npm1MIT- AlicenseAqualityBmaintenanceDaily source-attributed gold and macro readings from xaudaily.com — gold price, CPI, payrolls, Treasury yields, FOMC odds, central-bank gold buying. Every field carries its own source and as-of date. No API key.2CC BY-4.0
- AlicenseNot gradedqualityBmaintenance55 Concordance-tested financial models with published specs; responses cite assumptions and sources.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.