Data source: NSF Award API
https://context.gnist.ai/mcp/nsf-awards/
AuthenticationAll requests require a Gnist-API-Key header (or api_key query parameter).
Free tier: 100 calls/day. Get your API key.
Tools (4)
search_awardsSearch NSF research awards and grants by keyword.
Covers all NSF-funded research across science, engineering, and education.
Includes award details, principal investigators, institutions, and funding amounts.
Returns:
List of matching awards with title, PI, institution, funding amount, and abstract excerpt.
Use award id with get_award for full details.
| Parameter | Type | Required | Description |
|---|---|---|---|
keyword | string | required | Search term for NSF awards (e.g. "machine learning", "climate change", "quantum computing"). |
awardee_name | any | optional | Institution name to filter by (e.g. "MIT", "Stanford University"). |
start_date_start | any | optional | Filter awards starting after this date (MM/DD/YYYY format). |
start_date_end | any | optional | Filter awards starting before this date (MM/DD/YYYY format). |
limit | integer | optional | Number of results (1–25, default 25). (default: 25) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_awards",
"arguments": {
"keyword": "example"
}
}
}get_awardGet detailed information about a specific NSF award.
Returns the full award record including abstract, PI, institution, funding,
and program information. Use the id from search_awards results.
Returns:
Award details with abstract, PI, institution, funding amount, dates,
and program info. Returns found=false if award not found.
| Parameter | Type | Required | Description |
|---|---|---|---|
award_id | string | required | NSF award ID (e.g. "2548201"). Found in search_awards results. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_award",
"arguments": {
"award_id": "example"
}
}
}search_by_piSearch NSF awards by principal investigator name.
Find all NSF grants awarded to a specific researcher. Optionally filter
by keyword to narrow to a research area.
Returns:
List of awards for the specified PI with title, institution, funding, and dates.
| Parameter | Type | Required | Description |
|---|---|---|---|
pi_last_name | string | required | Principal investigator's last name. |
pi_first_name | any | optional | Principal investigator's first name (optional, narrows results). |
keyword | any | optional | Optional keyword to further filter results. |
limit | integer | optional | Number of results (1–25, default 25). (default: 25) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_by_pi",
"arguments": {
"pi_last_name": "example"
}
}
}report_feedbackReport 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'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "report_feedback",
"arguments": {
"feedback": "example"
}
}
}Quick Start
curl -X POST "https://context.gnist.ai/mcp/nsf-awards/" \
-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_awards", "arguments": {"keyword": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/nsf-awards/",
headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_awards",
"arguments": {
"keyword": "example"
}
}
},
)
print(resp.json())