GnistAI GnistAI
Log in

NIH RePORTER

Search 2.9M+ NIH-funded research projects — $50B+/year across all scientific disciplines. Project details, investigators, funding amounts, abstracts, and linked publications.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 5 tools tools 5 5 type: api wrapper type type api wrapper api wrapper lifecycle: maintained lifecycle lifecycle maintained maintained Science

Data source: NIH RePORTER API

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/nih-reporter/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (5)

search_projects

Search NIH-funded research projects across all NIH institutes.

Covers 2.9M+ projects with $50B+/year in funding. Includes project details,
principal investigators, award amounts, and abstracts. Data from NIH RePORTER.

Args:
query: Search term for project titles, abstracts, and terms.
fiscal_years: Fiscal years to filter by.
org_names: Organization names to filter by.
pi_name: Principal investigator name to filter by.
activity_codes: NIH activity codes to filter by.
limit: Number of results (1–50, default 20).

Returns:
List of matching projects with title, PI, organization, funding amount, and abstract excerpt.
Use project_num with get_project or get_publications for more details.

ParameterTypeRequiredDescription
querystringrequiredSearch term for NIH-funded projects (e.g. "cancer immunotherapy", "CRISPR gene editing", "Alzheimer biomarkers").
fiscal_yearsanyoptionalFiscal years to filter by (e.g. [2023, 2024]). Omit for all years.
org_namesanyoptionalOrganization names to filter by (e.g. ["Harvard", "MIT"]).
pi_nameanyoptionalPrincipal investigator name to filter by.
activity_codesanyoptionalNIH activity codes (e.g. ["R01", "R21", "U01"]). R01=standard research, R21=exploratory, K=career development, U=cooperative agreement, P=program project.
limitintegeroptionalNumber of results (1–50, default 20). (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_projects",
    "arguments": {
      "query": "example"
    }
  }
}
get_project

Get detailed information about a specific NIH-funded project.

Returns the full project record including abstract, investigators, funding,
dates, and MeSH terms. Use the project_num from search_projects results.

Args:
project_num: NIH project number.

Returns:
Project details with abstract, investigators, organization, funding amount,
activity dates, and research terms. Returns found=false if project not found.

ParameterTypeRequiredDescription
project_numstringrequiredNIH project number (e.g. "R01CA227622", "5R01AI123456-03"). Found in search_projects results.
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_project",
    "arguments": {
      "project_num": "123456789"
    }
  }
}
get_publications

Get PubMed publications linked to an NIH-funded project.

Returns PubMed IDs (PMIDs) for papers that acknowledged NIH funding from the
specified project. Use PMIDs with PubMed for full paper details.

Args:
project_num: NIH core project number.
limit: Number of results (1–50, default 20).

Returns:
List of PubMed IDs linked to the project. Use with pubmed server for full paper details.

ParameterTypeRequiredDescription
project_numstringrequiredNIH core project number (e.g. "R01CA227622"). Found in search_projects results.
limitintegeroptionalNumber of results (1–50, default 20). (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_publications",
    "arguments": {
      "project_num": "123456789"
    }
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/nih-reporter/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_projects", "arguments": {"query": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/nih-reporter/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_projects",
    "arguments": {
      "query": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Science)

Resources