Skip to main content
Glama

get_federal_account_object_classes

Read-only

Get the object class breakdown of obligations for a federal account.

IMPORTANT: the returned obligations are CUMULATIVE across all reported
fiscal years (FY2017 onward, the DATA Act window), not a single year.
They are NOT comparable to get_federal_account_fy_snapshot(), which is
single-year (verified live: account 021-0725 summed to $3.38B here vs
$0.42B obligated in its FY2024 snapshot). The upstream endpoint has no
year control: a fiscal_year body parameter is accepted but ignored, so
none is exposed here.

Note: this endpoint requires POST (not GET like the other federal account
sub-endpoints). Live audit caught this; the body is empty.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "account_code": "<account_code>"
    },
    "name": "get_federal_account_object_classes"
  }
}

Input Schema

NameRequiredDescriptionDefault
account_codeYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations: discloses that obligations are cumulative across FY2017+, supplies a live-verified numeric example contrasting $3.38B vs $0.42B, warns that fiscal_year is silently ignored upstream, and flags the POST-vs-GET transport requirement with an empty body. These are exactly the facts an agent needs to interpret results correctly.

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-loads the purpose, then the critical cumulative caveat, then the transport quirk — a sensible priority order. The parenthetical verification numbers are dense but useful; the block is slightly long for a one-parameter tool, though nearly every sentence carries non-obvious 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?

An output schema exists so return shape need not be described. Given one required parameter, the key risks (misreading cumulative dollars, expecting year filtering, using GET) are all addressed, leaving nothing essential unstated for a correct call.

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

Parameters4/5

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

Schema description coverage is 0% for the single account_code parameter, so the description must compensate — and it partially does by embedding the example format '021-0725'. It still doesn't formally define the account code syntax or source, so the meaning is inferred rather than specified.

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

Purpose4/5

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

States a specific verb+resource+scope: object class breakdown of obligations for a federal account. It also explicitly distinguishes itself from get_federal_account_fy_snapshot by declaring the contrast in aggregation level, so an agent won't confuse the two despite similar names.

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?

Gives an explicit when-not-to-use (not comparable to the FY snapshot tool) and a reason, plus notes the POST-only quirk and the absent fiscal_year control. It does not discuss when this tool should be chosen over the sibling get_agency_object_classes, which is the one remaining routing ambiguity.

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.