NIH RePORTER grant intelligence for AI agents. Search NIH grants, publications, organization funding profiles, researcher career data, and funding trends.
Server has well-structured tool definitions with complete input and output schemas. All 4 tools have clear verb-noun naming (search_, get_, find_, organization_) and descriptions (100-150 chars). Input parameters are typed with descriptions. Output schemas are documented with field-level detail. However, descriptions lack actionable context (when to use vs similar tools, prerequisites), parameter descriptions are minimal (10-30 chars), and error handling guidance is absent. No tool annotations (readOnlyHint, idempotentHint) despite all being read-only. Missing validation rules in parameter descriptions (e.g., fiscal_year range, limit bounds).
Find publications linked to a specific NIH grant
Get detailed information for a specific grant by project number
Get aggregate funding totals for an institution across all NIH grants
Search NIH grants by query, organization, PI, or fiscal year
Parameter descriptions lack validation constraints. 'fiscal_year' has no range (e.g., 2000-2025); 'limit' has no bounds (e.g., 1-100); 'query' has no length or format guidance. LLMs will pass invalid values without constraints.
Tool descriptions lack actionable context. No explanation of WHEN to use each tool vs alternatives (e.g., when to call search_grants vs organization_funding_profile). No prerequisites or dependencies documented.
No tool annotations despite all tools being read-only. Missing readOnlyHint annotation on all 4 tools. This prevents agents from understanding which tools are safe to call without side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Error handling guidance absent. No documentation of what errors can occur (e.g., invalid project_number format, API rate limits, no results found) or how agents should recover. Responses lack recovery hints.
Output schema includes verbose fields (e.g., 'query' echo, 'source' constant). These waste tokens and dilute signal. Strip non-essential metadata and return only fields agents need for downstream reasoning.