Skip to main content
Glama
Thel-Consulting

Federal Funding Finder

Summarize SBIR/STTR awards by year and state

agency_sbir_summary
Read-onlyIdempotent

Aggregate SBIR/STTR award counts and dollar totals by fiscal year and state from NIH RePORTER or NSF Award Search.

Instructions

Read-only. Aggregates SBIR/STTR award counts and dollar totals by fiscal year (and by state when no state is given) from NIH RePORTER (activity codes R43, R44, R41, R42) or NSF Award Search (fundProgramName SBIR OR STTR). Finishes within about 7 seconds: pulls at most 2,000 NIH records or 600 NSF awards and marks the result partial, with a note, when the upstream total is larger.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stateNo
agencyYes
keywordNo
fiscal_year_toNoDefaults to the current fiscal year
fiscal_year_fromNoDefaults to five years before the current fiscal year

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so 'Read-only' earns nothing. What the description adds is genuinely useful and not in the annotations: an expected latency (~7 seconds), hard result caps (2,000 NIH records or 600 NSF awards), and the disclosure that wider queries return a partial-marked result with an accompanying note.

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?

Two dense sentences, front-loaded with the aggregation purpose, then the source filters, then the performance and truncation caveats. No filler sentences and no restatement of the title.

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 no output schema, the description does the work of describing the return shape (counts, dollar totals, partial flag plus note) and the cost/limits. Only gaps are the undocumented keyword parameter and the precise semantics of omitting state versus supplying 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?

Schema coverage is 40% and only fiscal_year_from/to carry descriptions (their defaults). The description compensates partially by explaining what the state parameter does to grouping and how agency maps to each upstream source's filter syntax, but keyword is undocumented in both schema and description, and the state-as-grouping phrasing is slightly ambiguous.

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 (aggregates) plus the resource (SBIR/STTR awards) and the aggregation axes (counts and dollar totals by fiscal year, and by state). It also names the two upstream sources with their exact filter mechanics (NIH activity codes R43/R44/R41/R42; NSF fundProgramName SBIR OR STTR), which cleanly separates it from the search_nih_awards / search_nsf_awards siblings.

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 rather than stated: 'aggregates ... counts and dollar totals' suggests the summary role versus the raw-search siblings, but no sibling is named and there is no explicit when-to-use / when-not-to-use rule. The state-grouping behavior is described, but that is a behavior note, not routing guidance.

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