Skip to main content
Glama

Agent Einstein — Crypto & Market Intelligence

US Government Contract Awards

get_government_contracts
Read-onlyIdempotent

Recent notable US federal contract awards — useful for tracking which public companies are winning government money.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum rows to return (1-25).

Output Schema

NameRequiredDescriptionDefault
countNoAwards in this pass.
limitNoRow cap applied to every list in this payload.
staleNoTrue when the snapshot is past its refresh interval.
reasonNoWhy the payload is absent, when `available` is false.
shortsNoShort signals.
sourcesNoPer-source status — which award feeds answered.
topScoreNoIts score, 0-1.
availableNoFalse when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.
fetchedAtNoWhen the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries.
topSectorNoIts sector.
topTickerNoHighest-scoring ticker.
longSignalsNoScored buy-side signals.
shortSignalsNoScored sell-side signals; same fields as `longSignals`.
actionableLongsNoLong signals that cleared the scoring gate.
sectorAggregatesNoAwarded dollars by sector.
watchlistExpansionNoTickers the pass added to the watchlist.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / fetchedAt / description
      Previous value: -"When the underlying snapshot was refreshed (epoch ms, or ISO-8601 for the Bitcoin cycle feed). Age matters: these are cached reads, not live queries."New value: +"When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "actionableLongs": {
      +      "description": "Long signals that cleared the scoring gate."
      +    },
      +    "available": {
      +      "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.",
      +      "type": "boolean"
      +    },
      +    "count": {
      +      "description": "Awards in this pass."
      +    },
      +    "fetchedAt": {
      +      "description": "When the underlying snapshot was refreshed (epoch ms, or ISO-8601 for the Bitcoin cycle feed). Age matters: these are cached reads, not live queries."
      +    },
      +    "limit": {
      +      "description": "Row cap applied to every list in this payload.",
      +      "type": "number"
      +    },
      +    "longSignals": {
      +      "description": "Scored buy-side signals.",
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "awardedAt": {
      +            "description": "Award date."
      +          },
      +          "band": {
      +            "description": "Score band."
      +          },
      +          "direction": {
      +            "description": "long or short."
      +          },
      +          "fundamentalsConfluence": {
      +            "description": "Whether fundamentals agree with the award signal."
      +          },
      +          "hasFms": {
      +            "description": "True when a Foreign Military Sale is attached."
      +          },
      +          "headline": {
      +            "description": "One-line summary."
      +          },
      +          "primaryTicker": {
      +            "description": "Lead ticker."
      +          },
      +          "rationale": {
      +            "description": "Why it scored where it did."
      +          },
      +          "score": {
      +            "description": "Conviction score, 0-1."
      +          },
      +          "sector": {
      +            "description": "Sector."
      +          },
      +          "surpriseRatio": {
      +            "description": "Award size against the contractor’s run rate."
      +          },
      +          "tickers": {
      +            "description": "Every ticker on the award.",
      +            "items": {},
      +            "type": "array"
      +          },
      +          "totalUsd": {
      +            "description": "Awarded USD."
      +          }
      +        }
      +      },
      +      "type": "array"
      +    },
      +    "reason": {
      +      "description": "Why the payload is absent, when `available` is false.",
      +      "type": "string"
      +    },
      +    "sectorAggregates": {
      +      "description": "Awarded dollars by sector.",
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "awardCount": {
      +            "description": "Awards."
      +          },
      +          "sector": {
      +            "description": "Sector."
      +          },
      +          "topTickers": {
      +            "description": "Tickers carrying the sector.",
      +            "items": {},
      +            "type": "array"
      +          },
      +          "totalUsd": {
      +            "description": "Awarded USD."
      +          }
      +        }
      +      },
      +      "type": "array"
      +    },
      +    "shortSignals": {
      +      "description": "Scored sell-side signals; same fields as `longSignals`.",
      +      "items": {},
      +      "type": "array"
      +    },
      +    "shorts": {
      +      "description": "Short signals."
      +    },
      +    "sources": {
      +      "additionalProperties": true,
      +      "description": "Per-source status — which award feeds answered."
      +    },
      +    "stale": {
      +      "description": "True when the snapshot is past its refresh interval."
      +    },
      +    "topScore": {
      +      "description": "Its score, 0-1."
      +    },
      +    "topSector": {
      +      "description": "Its sector."
      +    },
      +    "topTicker": {
      +      "description": "Highest-scoring ticker."
      +    },
      +    "watchlistExpansion": {
      +      "description": "Tickers the pass added to the watchlist.",
      +      "items": {},
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Added

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world semantics, so the safety profile is covered. The description adds scoping context ('recent notable'), but leaves undefined what makes an award 'notable' or how results are ordered.

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?

A single efficient sentence that front-loads the resource and its scope before the use case. No wasted words, though it is brief enough to leave some behavioral questions open.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and the single parameter is fully covered. Annotations carry the safety profile, so the description is nearly complete, only missing a note on what 'notable' and ordering mean.

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 coverage is 100% and the single limit parameter is fully documented in the schema, so the description need not compensate. It adds no additional meaning beyond the schema, which is the baseline expectation at full coverage.

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?

The description states a specific verb and resource ('US federal contract awards') with a clear qualifier ('recent notable'), and clarifies the practical use case of tracking public companies winning government money. It is distinguishable from financial siblings, though it doesn't explicitly contrast with the nearest sibling, get_congress_trades.

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?

Usage is implied through 'useful for tracking which public companies are winning government money,' giving a clear context, but there is no explicit when-to-use/when-not guidance or named alternatives among the many sibling tools.

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.