# NIH RePORTER MCP

> NIH RePORTER provides direct access to the NIH Research Portfolio database. Use this server to search for specific research projects by PI name or fiscal year, retrieve funding amounts, and find associated scientific publications using core project numbers. It's a single point of entry for mapping federal biomedical grants to published science.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** nih, grants, research-funding, biomedical-research, publications

## Description

You use `search_projects` to find NIH grants by specifying criteria like principal investigator names, organization IDs, fiscal years, or core project numbers. The tool pulls grant records and lets you filter results based on specific funding amounts or defined award ranges across multiple agencies; for instance, you can target projects funded specifically by NIAID. You search for research activity over time by querying the database using precise fiscal year inputs. Furthermore, if you're hunting down a particular scientific topic—say, 'Immune Regulation' or 'COVID-19'—you run targeted searches using those keywords to narrow your project results. When you need to track related articles, you use `search_publications` to list scientific papers associated with an NIH core project number or application ID.

The server provides a single entry point for mapping federal biomedical grants directly to published science. Your agent sends the necessary criteria—like specifying both a PI name and a required fiscal year—and the server executes the complex query against the NIH RePORTER database, returning structured JSON data containing all associated grant details. The output includes comprehensive records showing which organizations received funding, how much money was awarded, and exactly when that research was funded.

The process starts with `search_projects`, where you can pinpoint grants by organization name or project number to get a clear picture of the current funding landscape. If you're doing a historical review, querying by fiscal year lets your agent map out how much money flowed into certain fields over decades. You don’t have to guess; you just tell it what you need—whether that's an award range or a specific program like NIGMS—and the server filters the results immediately.

Once you have a core project number from those initial searches, `search_publications` steps in. This tool directly links the funding work to the scientific output. You run it using either the unique NIH core project number or the original application ID to list every associated published article. Your AI client processes this structured data, giving you clean lists of publications tied back to the grant's source funding. The entire system acts as a powerful cross-reference: you find the money through `search_projects`, and then you use that result to verify the science via `search_publications`. You get a clear chain of evidence showing who funded what, and which articles reported on it.

The server handles complex data querying across project discovery, funding analysis, and publication tracking. It’s built so your agent sends simple instructions—like 'Find all grants for Smith in 2018' or 'List papers for project XYZ-123'—and the system returns clean, actionable JSON results ready for you to analyze without wrestling with complex API calls. You get precise funding amounts and associated principal investigators every time. This is one of those tools that lets your agent pull together a complete picture: from the initial grant application, through the awarded funds, right up to the published scientific conclusion.

## Tools

### search_projects
Find NIH grants, listing associated PIs, organizations, and current funding amounts based on criteria you specify.

### search_publications
Search for scientific articles and publications that are linked back to a specific core project number or application ID.

## Prompt Examples

**Prompt:** 
```
Search for NIH projects led by 'Anthony Fauci' in fiscal year 2020.
```

**Response:** 
```
I've found several projects for Anthony Fauci in 2020. Notable entries include research on 'Infectious Diseases' and 'Immune Regulation' with Application IDs like 9876543. Would you like the funding details for these?
```

**Prompt:** 
```
Find all publications associated with core project number R01AI123456.
```

**Response:** 
```
Searching publications for R01AI123456... I found 12 publications. Titles include 'Novel Mechanisms of Viral Entry' and 'T-cell Response in Chronic Infection'. Would you like the PubMed IDs for these?
```

**Prompt:** 
```
List active NIH grants for 'Harvard University' with an award amount over $1,000,000.
```

**Response:** 
```
I've retrieved active grants for Harvard University exceeding $1M. There are 15 projects matching this criteria, including large-scale genomic studies and clinical trial infrastructures. Should I list the PIs for these projects?
```

## Capabilities

### Find Grants by Criteria
Use `search_projects` to find grant records based on PI names, organization names, fiscal years, or project numbers.

### Track Publications from Projects
Run `search_publications` to list scientific articles associated with a specific NIH core project number or application ID.

### Filter by Funding Details
Search for projects and filter the results by specific funding amounts, required agencies (like NIAID), or award ranges.

### Locate Historical Research
Query the database using fiscal years to map out research activity across time periods.

### Identify Specific Research Topics
Run targeted searches using keywords (e.g., 'COVID-19' or 'Immune Regulation') to narrow down project results.

## Use Cases

### Tracking a PI's full funding scope
A bioinformatician needs to see every grant associated with 'Dr. Jones.' Instead of checking three separate NIH portals, the agent runs `search_projects` filtered by Dr. Jones' name and organization. It gets a list of all applications and their funding details, providing an immediate overview of the lab’s scope.

### Validating project output
A researcher finds a promising grant ID (R01AI123456) but needs to know what was published. They run `search_publications` with that specific ID. The agent returns 12 article titles and PubMed IDs, confirming the research's real-world output.

### Analyzing funding spikes
A policy analyst wants to see how much federal money flowed into 'Immune Regulation' in the last five years. They use `search_projects` with text searches and date ranges, allowing them to aggregate total award amounts from multiple agencies for a trend analysis.

### Building grant history reports
A grant administrator needs to find all active grants at 'Harvard University' that exceeded $1 million in the current fiscal year. They use `search_projects` with both organizational matching and an award amount filter, getting a precise list for reporting.

## Benefits

- Track the money trail: Use `search_projects` to retrieve specific award amounts and filter grants by agency or dollar range, giving you a quantitative view of academic investment.
- Connect science to dollars: Run `search_publications` using an NIH core project number. You instantly see all linked scientific papers without leaving the workflow.
- Deep dive on PIs and Labs: Use `search_projects` to list grants by Principal Investigator or organization name, letting you map out a researcher's full funding history.
- Target specific research areas: Filter projects using keywords (e.g., COVID-19) combined with fiscal year ranges to focus only on relevant biomedical work.
- Save time building bibliometrics: By combining `search_projects` and filtering by dates, you quickly aggregate data for policy analysis or grant reporting.

## How It Works

The bottom line is: you use your agent to talk to the government database without needing an API key or writing complex query language yourself.

1. Tell your agent exactly what you need: specify the search parameters, like a PI's name and a fiscal year.
2. The system calls the appropriate tool (`search_projects` or `search_publications`), sending the criteria to the NIH RePORTER API endpoint.
3. You get back structured data listing relevant grants, funding amounts, and associated publication metadata.

## Frequently Asked Questions

**How do I use search_projects to find grants by PI name?**
You pass the Principal Investigator's full name as a parameter. The tool filters all available grant records, returning funding details and associated projects for that individual.

**Can I use search_publications with just a PubMed ID?**
No, `search_publications` primarily links publications to core project numbers or application IDs. While you can find the paper title using a PMID elsewhere, this tool needs the official NIH identifier.

**Does NIH RePORTER MCP Server cover all biomedical grants?**
No, it covers data from the NIH's own databases (RePORTER). It won't include funding from private foundations or non-U.S. government sources.

**How do I find funding amounts greater than $1M?**
You use `search_projects` and specify the minimum award amount in your criteria. The tool filters out all grants below that threshold, keeping your results focused on large-scale efforts.

**Does using `search_projects` require a private API key for basic searching?**
No, standard access doesn't need a dedicated private key. You simply connect your agent to the Vinkius endpoint. The underlying NIH RePORTER service handles public data authentication automatically for initial queries.

**What happens if `search_publications` returns zero results for an ID?**
Zero results mean that specific publication link isn't in the RePORTER index. The tool will return an empty list and clearly state no records were found. This usually indicates the data hasn't been formally linked to NIH yet.

**Are there rate limits when running many queries through `search_projects`?**
Yes, public API usage has inherent throttling limits. The MCP server manages standard request rates. For large-scale data science jobs, you must implement exponential backoff in your agent's execution logic.

**Can I use `search_projects` or `search_publications` to get the data into a structured format like CSV?**
The tools output standard JSON data. They don't export files directly, but your AI client can parse the resulting JSON structure instantly. You can then pipe that data straight into libraries like Pandas for spreadsheet use.

**How can I find all NIH grants awarded to a specific university?**
Use the `search_projects` tool and provide the university name in the `org_names` array. You can also refine the search by adding `fiscal_years` to see awards for a specific period.

**Can I see which publications resulted from a specific NIH project number?**
Yes! Use the `search_publications` tool and enter the project identifier in the `core_project_nums` field. The agent will return a list of associated PubMed records.

**Is it possible to filter research projects by funding amount?**
Absolutely. The `search_projects` tool includes an `award_amount_range` parameter where you can specify `min_amount` and `max_amount` to find projects within your budget criteria.