Skip to main content
Glama

NIH funding trend by year

funding_trend
Read-onlyIdempotent

Use this tool to get yearly NIH funding totals and grant counts. Returns a time series for the whole NIH, one Institute/Center, one activity code, or one institution. Use it when the user asks 'how much NIH funding was awarded in FY2020', 'how has NIH's budget changed over time', or 'plot R01 dollars by year'. total_funding spans ALL NIH mechanisms (funding_scope="all_mechanisms") and is therefore 1.5-1.7x larger than research-only ranking totals for the same slice, so the two are not comparable. Rows flag the partial current fiscal year. Bounds: fiscal years 1985-2100 and fiscal_year_start <= fiscal_year_end; ic, activity_code and institution are free-text filters with no length cap (matched as parameterized SQL, never interpolated). Not paginated: the whole requested year range is returned.

Input Schema

NameRequiredDescriptionDefault
icNo
institutionNo
activity_codeNo
fiscal_year_endNo
fiscal_year_startNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/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, closed-world), so the description's value is in the extra behavior it discloses: FY bounds 1985-2100, fiscal_year_start <= fiscal_year_end, no pagination, partial-current-year row flags, and the 1.5-1.7x magnitude gap versus ranking totals. What it omits is edge behavior for out-of-range or empty results, keeping it short of a 5.

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-loaded with purpose and triggers, then scope caveats, then constraints — a sensible order with no filler sentences. It is dense and runs long, particularly the SQL-injection aside, but each clause carries usable 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 explanation is unnecessary; the description instead supplies everything an agent needs to call this correctly — valid filter dimensions, year bounds, non-pagination, and the comparability caveat. Nothing material 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 description coverage is 0%, so the description must carry parameter meaning, and it does: ic, activity_code and institution are named as free-text filters, and the numeric bounds plus start<=end constraint on the fiscal year params are spelled out. It doesn't state the default behavior when all filters are omitted beyond the implicit 'whole NIH' scope.

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 and resource (yearly NIH funding totals and grant counts) plus the exact slice granularity (whole NIH, one IC, one activity code, one institution). An agent can distinguish this from funding_growth or topic_trend without opening either schema.

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

Usage Guidelines5/5

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

Provides concrete trigger questions ('how much NIH funding was awarded in FY2020', 'plot R01 dollars by year') that map directly onto the tool's slice parameters. It also warns that total_funding is not comparable to research-only ranking totals, which steers the agent away from misuse against ranking siblings.

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.

Resources