Skip to main content
Glama

Usa Spending By Category

usa_spending_by_category
Read-onlyIdempotent

Analyze federal spending by industry, product/service, recipient, or agency. Returns spending totals per category. Use for market research and identifying government contracting opportunities.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results (1-100, default 10)
agencyNoOptional awarding agency name filter
categoryYesCategory to group by: naics, psc, recipient, awarding_agency, awarding_subagency
end_dateYesEnd date in YYYY-MM-DD format
keywordsNoOptional keywords to filter spending
start_dateYesStart date in YYYY-MM-DD format

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultsYesSpending breakdown by category
categoryYesCategory grouping used (naics, psc, recipient, awarding_agency, awarding_subagency)
total_countYesTotal number of categories in results

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "category": {
      +      "description": "Category grouping used (naics, psc, recipient, awarding_agency, awarding_subagency)",
      +      "type": "string"
      +    },
      +    "results": {
      +      "description": "Spending breakdown by category",
      +      "items": {
      +        "properties": {
      +          "amount": {
      +            "description": "Total spending for this category",
      +            "type": "number"
      +          },
      +          "code": {
      +            "description": "Category code if applicable",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "Category identifier if applicable",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "description": "Category name",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "amount",
      +          "code",
      +          "id"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total_count": {
      +      "description": "Total number of categories in results",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "category",
      +    "total_count",
      +    "results"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "category": "naics",
      +    "end_date": "2024-12-31",
      +    "start_date": "2024-01-01"
      +  },
      +  {
      +    "agency": "General Services Administration",
      +    "category": "recipient",
      +    "end_date": "2024-12-31",
      +    "keywords": [
      +      "software"
      +    ],
      +    "limit": 50,
      +    "start_date": "2023-01-01"
      +  }
      +]
  3. First observed

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, etc., so the description's statement of returning spending totals adds minimal behavioral context beyond what the annotations provide. No contradictions.

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?

The description is two sentences, front-loaded with the action and resource, and every word adds value. No wasted text.

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?

Given the presence of an output schema (mentioned in context) and clear parameter descriptions, the description is complete enough for an agent to understand the tool's function and when to invoke it.

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?

The input schema has 100% coverage with descriptions for all parameters. The description adds no additional meaning beyond summarizing the categories available, so it meets the baseline without exceeding.

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?

The description clearly states the tool's purpose: analyze federal spending by specific categories (industry, product/service, recipient, agency) and return spending totals. It distinguishes from siblings like usa_spending_by_agency by focusing on categories and grouping.

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

Usage Guidelines3/5

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

The description mentions using the tool for market research and identifying government contracting opportunities, providing usage context. However, it does not specify when not to use it or mention alternatives among sibling tools, leaving the agent to infer when this tool is preferred.

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.

TDQS

A3.8/5.0
Disambiguation2/5

ask_pipeworx, ask_pipeworx_beta, and ask_pipeworx_grounded are essentially the same router with different output modes, and ask_pipeworx_beta is currently identical to ask_pipeworx. There is also meaningful overlap between entity_profile, compare_entities, recent_changes, validate_claim, and the USAspending profile/search tools.

Naming Consistency3/5

All names are lower_snake_case with useful prefixes like ask_, polymarket_, and usa_, which helps grouping. However, the underlying convention is mixed: some are verb+object, some are noun phrases, and some are bare verbs, so there is no uniform verb_noun pattern.

Tool Count2/5

38 tools is well beyond the heavy range, and most of them are unrelated to USAspending: Polymarket betting, npm dependency checks, AI visibility, memory storage, and meta-tools. The actual USAspending-specific surface is only about seven tools, making the server feel bloated and unfocused.

Completeness3/5

The federal-contract cluster covers award search, recipient/incumbent profiles, expiring awards, and spending by agency/category/trend, which handles the main contracting questions. Missing award-detail retrieval, grants/assistance coverage, and open-solicitation lookup, which usa_expiring_awards explicitly punts to external samgov/govcon tools.