Skip to main content
Glama

Irs Afr

Irs Afr

irs_afr
Read-onlyIdempotent

IRS Applicable Federal Rates (AFR) for a month, from the monthly IRS revenue ruling: short-term (up to 3 years), mid-term (over 3 to 9 years) and long-term (over 9 years) AFRs under section 1274(d), each at annual, semiannual, quarterly and monthly compounding, with the 110%, 120% and 130% variants (and 150%/175% for mid-term) where the ruling has them, plus the adjusted AFRs (section 1288(b)). Omit month for the newest published month (the IRS issues next month's rates mid-month). A month not yet issued returns status "not_yet_published" with the expected timing. Filter with term, compounding and percent to get a single rate. Use for family loans, installment sales, below-market loans and imputed interest. Returns the ruling number and data_as_of. Sourced from IRS, Applicable Federal Rates revenue ruling.

Input Schema

NameRequiredDescriptionDefault
termNoLimit to one term. Short is up to 3 years, mid over 3 to 9, long over 9.
monthNoMonth the rate applies to, "YYYY-MM" (e.g. "2026-11") or "November 2026". Default: newest published.
percentNoWhich multiple of the AFR: 100 is the AFR itself. 150 and 175 exist for mid-term only. Default: all.
compoundingNoLimit to one compounding period.

Output Schema

NameRequiredDescriptionDefault
unitNo
monthNo
rulingNo
sourceNo
statusNo
rate_7520No
data_as_ofNo
month_labelNo
adjusted_afrNo
applicable_federal_rateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations: it discloses the default behavior when month is omitted, the IRS mid-month publication timing, and the specific error state ('not_yet_published' with expected timing) for future months. It also names the provenance fields (ruling number, data_as_of). This is exactly the kind of failure-mode context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and scope, then defaults, then error behavior, then use cases — a sensible order with no filler. It is a single dense paragraph with long compound sentences, so scanning is slightly harder than it needs to be, but every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-optional-parameter lookup with an output schema and full annotation coverage, this covers everything an agent needs: what the values are, units/compounding, defaults, filtering strategy, the not-yet-published case, and the data source. Nothing material is left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter already has an enum or format hint in the schema, so the description's term-boundary restatement adds little. The one useful addition is the default for month, which the schema also states. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('IRS Applicable Federal Rates for a month, from the monthly IRS revenue ruling') and enumerates the exact scope: short/mid/long terms under section 1274(d), four compounding periods, percent variants, and adjusted AFRs. It is unmistakably distinct from siblings like irs_7520_rate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the use cases ('family loans, installment sales, below-market loans and imputed interest') and explains the filtering strategy ('Filter with term, compounding and percent to get a single rate'). It does not name or compare against the closest sibling irs_7520_rate, which is the one remaining gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.