Skip to main content
Glama

usaspending-mcp-server

Get IDV Child Awards

usaspending_get_idv_awards
Read-onlyIdempotent

List child contracts and task/delivery orders placed under an IDV (Indefinite Delivery Vehicle) award. Each row includes the generated_unique_award_id to chain into usaspending_get_award for full detail. The award_id must be the generated_unique_award_id of the parent IDV — obtainable from usaspending_search_awards (generated_internal_id field) or from usaspending_get_award. IDV category awards returned by usaspending_get_award have child orders accessible via this tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based)
sortNoField to sort child awards by (e.g., obligated_amount, period_of_performance_start_date)obligated_amount
typeNoType of child awards to list: child_awards = task/delivery orders, child_idvs = sub-IDVs, grandchild_awards = orders under sub-IDVschild_awards
limitNoMaximum results per page (1–100)
orderNoSort directiondesc
award_idYesParent IDV generated_unique_award_id (e.g., CONT_IDV_NNK14MA74C_8000) — use generated_internal_id from usaspending_search_awards or generated_unique_award_id from usaspending_get_award

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe per-page limit that was applied, when truncated.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of child awards returned on this page, when truncated.
noticeNoHow to continue when truncated, or a recovery hint when results are empty — the award may have no children of the requested type. Absent otherwise.
resultsNoChild awards placed under this IDV
award_idNoParent IDV award ID queried
truncatedNoTrue when the upstream reports more child awards beyond this page. Absent on a full page the upstream marks as last — has_next_page still says whether to request another.
current_pageNoCurrent page returned
has_next_pageNoWhether more pages of child awards may remain — set on a full page even when the upstream flag reports none.
page_metadataNoPagination metadata (no total count available from this endpoint)
parent_award_idNoParent IDV award ID whose children were listed

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedOutput schema / properties / cap / description
      Previous value: -"The per-page limit that was applied."New value: +"The per-page limit that was applied, when truncated."
    • changedOutput schema / properties / notice / description
      Previous value: -"Recovery hint when results are empty — the award may have no children of the requested type. Absent when results are present."New value: +"How to continue when truncated, or a recovery hint when results are empty — the award may have no children of the requested type. Absent otherwise."
    • changedOutput schema / properties / shown / description
      Previous value: -"Number of child awards returned on this page."New value: +"Number of child awards returned on this page, when truncated."
    • changedOutput schema / properties / truncated / description
      Previous value: -"True when this page was full and more child awards may remain beyond it."New value: +"True when the upstream reports more child awards beyond this page. Absent on a full page the upstream marks as last — has_next_page still says whether to request another."
  2. Changed6 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "award_id",
      +      "results",
      +      "page_metadata",
      +      "parent_award_id",
      +      "current_page",
      +      "has_next_page"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / error
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when the call failed. Absent on success.",
      +  "properties": {
      +    "code": {
      +      "description": "JSON-RPC error code for this failure.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "data": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "reason": {
      +          "description": "Machine-readable failure mode. Declared by this tool: `api_unavailable`: USAspending.gov API is unreachable or returns an error. `api_timeout`: USAspending.gov did not respond before the request deadline elapsed. Other values are possible when a failure originates below the handler.",
      +          "examples": [
      +            "api_unavailable",
      +            "api_timeout"
      +          ],
      +          "type": "string"
      +        },
      +        "recovery": {
      +          "additionalProperties": {},
      +          "description": "Actionable next step for the caller.",
      +          "properties": {
      +            "hint": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "hint"
      +          ],
      +          "type": "object"
      +        },
      +        "retryable": {
      +          "description": "Whether retrying may succeed.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "message": {
      +      "description": "Human-readable description of what went wrong.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "message"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "award_id",
      -  "results",
      -  "page_metadata",
      -  "parent_award_id",
      -  "current_page",
      -  "has_next_page"
      -]
  3. Changed3 schema fields changed
    • changedOutput schema / properties / has_next_page / description
      Previous value: -"Whether there are more pages of child awards"New value: +"Whether more pages of child awards may remain — set on a full page even when the upstream flag reports none."
    • changedOutput schema / properties / page_metadata / properties / has_next / description
      Previous value: -"Whether there are more pages of results"New value: +"Whether more child awards may remain — true on a full page even when the upstream flag reports none (this endpoint returns no total). A short or empty page marks the end."
    • changedOutput schema / properties / truncated / description
      Previous value: -"True when more child awards remain beyond this page."New value: +"True when this page was full and more child awards may remain beyond it."
  4. Changed3 schema fields changed
    • addedOutput schema / properties / cap
      Added value: +{
      +  "description": "The per-page limit that was applied.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / shown
      Added value: +{
      +  "description": "Number of child awards returned on this page.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / truncated
      Added value: +{
      +  "description": "True when more child awards remain beyond this page.",
      +  "type": "boolean"
      +}
  5. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and closed-world behavior, so safety is covered. The description adds genuinely useful workflow context — the chaining relationship to usaspending_get_award and the requirement that award_id be the parent IDV's generated_unique_award_id — which goes beyond 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.

Conciseness5/5

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

Three sentences, each earning its place: purpose first, then the chaining/return-value guidance, then the parameter sourcing. No filler and front-loaded with the core purpose.

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?

The output schema exists and the annotations cover safety, so the description's burden is workflow context, which it fully addresses: how to source the required ID and where results lead. Nothing an agent needs to invoke this correctly is missing.

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 coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by specifying that award_id must be the generated_unique_award_id of the parent IDV, its example format, and both source tools — useful disambiguation the schema alone does not convey.

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?

States a specific verb ('List') and resource ('child contracts and task/delivery orders placed under an IDV'), and even clarifies the semantic hierarchy (parent IDV vs children). This is clearly distinguishable from siblings like usaspending_get_award, which returns full detail rather than children.

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 strong context: explains where to obtain the award_id (usaspending_search_awards or usaspending_get_award) and where each returned row chains to (usaspending_get_award). It also notes that IDV category awards from get_award have children accessible here. It stops short of explicitly stating when NOT to use this tool.

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.