Skip to main content
Glama

NIH funding growth rate

funding_growth
Read-onlyIdempotent

Use this tool when the user asks about the RATE of change rather than the level — 'is this university's NIH funding growing', 'what's the CAGR since 2015', 'who grew fastest'. Returns year-over-year growth plus a window CAGR for one institution (entity_id, the canonical institution identifier) or all NIH. Both yoy_growth_pct and cagr_pct are PERCENTS (2.5905 means 2.5905%/yr, not 259%); the old fractional cagr key is gone. NULL awards are excluded, never padded to $0. meta echoes entity_id + organization so looped calls stay attributable. Bounds: fiscal years 1985-2100 with fiscal_year_start <= fiscal_year_end; entity_id is matched exactly with no length cap. Not paginated.

Input Schema

NameRequiredDescriptionDefault
entity_idNo
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
Behavior5/5

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

Annotations already declare the safe read-only, idempotent, non-destructive profile, and the description goes well beyond them: percent-vs-fraction semantics, removal of the old `cagr` key, NULL awards excluded rather than zero-padded, meta echo for looped calls, and no pagination.

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-loads the when-to-use condition and then packs scope, semantics, and bounds into tight clauses with no filler. It is long and dense, but each sentence carries distinct operational 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 structure need not be documented, yet the description still clarifies the units of yoy_growth_pct and cagr_pct. Combined with entity scoping, date bounds, NULL handling, and pagination status, an agent has everything needed to call it correctly.

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 0%, so the description must carry the burden and largely does: entity_id is defined as the canonical institution identifier matched exactly with no length cap, and fiscal years are bounded 1985-2100 with fiscal_year_start <= fiscal_year_end. It adds real meaning beyond the bare integer/string schema.

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+resource: growth RATE of NIH funding for an institution or all NIH. Explicitly distinguishes rate-of-change from level-of-funding, which is exactly the axis separating it from the funding_trend sibling.

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 concrete triggering questions ('is this university's NIH funding growing', 'what's the CAGR since 2015', 'who grew fastest') and the rate-vs-level condition. It implies the alternative (a level/trend tool) but never names funding_trend or another sibling explicitly.

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