Skip to main content
Glama

NIH mechanism class distribution

activity_code_distribution
Read-onlyIdempotent

Use this tool when the user asks what KINDS of awards NIH (or one Institute) makes — 'how much goes to R01s vs training grants', 'what share of NCI's portfolio is centers', 'break NIH down by mechanism'. Returns counts and recorded totals per mechanism class (research / career / training / center / contract / intramural / ...) from ranking_core.classify. Scope is whole-NIH or one Institute; per-institution portfolios are served by the institution-profile surface instead. Bounds: fiscal years 1985-2100 with fiscal_year_start <= fiscal_year_end; ic is a free-text filter with no length cap. Not paginated.

Input Schema

NameRequiredDescriptionDefault
icNo
fiscal_year_endNo
fiscal_year_startNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world). The description adds real behavior: no pagination, fiscal-year bounds 1985-2100 with start<=end, and that ic is free-text with no length cap. It doesn't state response shape, but an output schema exists so that burden is lower.

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 the trigger phrase and examples, then scope, then bounds. Slightly dense with quoted user examples and a trailing bounds list, but every sentence carries information an agent needs.

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?

Covers trigger, scope, alternative routing, temporal bounds, and pagination behavior; the output schema handles return values. The main gap is not specifying valid ic values, which matters given 0% schema coverage and free-text input.

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 description coverage is 0%, but the description compensates partially: it explains fiscal_year_start/end constraints and notes ic is a free-text Institute filter with no length cap. It does not, however, explain what values ic accepts (e.g., IC abbreviation vs. full name) or the null-default semantics, leaving real ambiguity for a 0%-coverage 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?

Specific verb+resource: returns counts and totals per NIH mechanism class from ranking_core.classify. The title and description together make the scope (whole-NIH or one Institute) unmistakable, and it names the sibling surface (institution-profile) that handles the other scope.

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?

Opens with explicit 'Use this tool when...' plus three concrete user phrasings, then names an alternative surface and the condition that selects it ('per-institution portfolios are served by the institution-profile surface instead'). Both when-to-use and when-not are present.

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