NSF Awards

live GovernmentResearchScience

National Science Foundation award database — ~$10B/yr of funded research across physical sciences, engineering, CS, math, education. No auth.

2 tools
0ms auth
free tier 50 calls/day

Tools

search_awards

Filter NSF awards by keyword, PI, awardee, program, US state/country, date range.

Parameters
Name Type Description
keyword opt string Title + abstract search
pi_name opt string PI full or last name
awardee opt string Awardee institution
program opt string NSF program name
state opt string US state code
country opt string Country code
date_start opt string MM/DD/YYYY
date_end opt string MM/DD/YYYY
limit opt number 1-25 (NSF cap)
offset opt number Pagination offset
Try it
get_award required: award_id

Full record by award ID, including abstract and project outcomes report.

Parameters
Name Type Description
award_id req string NSF award ID
Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/nsf-awards/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/nsf-awards/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_awards","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_awards", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("national science foundation award database — ~$10b/yr of funded research across physical sciences, engineering, cs, math, education");