search_awards

Pack: nsf-awards · Endpoint: https://gateway.pipeworx.io/nsf-awards/mcp

Search NSF awards. Filter by keyword (matches title/abstract), PI name, awardee institution, NSF program, date range, US state, or country. Returns title, PI, awardee, amount, dates, program. Use get_award for full abstract + outcomes report.

Parameters

NameTypeRequiredDescription
keywordstringnoSearch term (title + abstract)
pi_namestringnoPI full or last name
awardeestringnoAwardee institution name
programstringnoNSF program name (e.g., “Algorithms in the Field”)
statestringnoAwardee US state code (e.g., “CA”)
countrystringnoAwardee country code (e.g., “US”)
date_startstringnoAward start date >= MM/DD/YYYY
date_endstringnoAward start date <= MM/DD/YYYY
limitnumbernoResults per page (1-25, default 25 — NSF max)
offsetnumbernoPagination offset (default 1)

Example call

Arguments

{
  "keyword": "machine learning",
  "program": "Algorithms in the Field",
  "state": "CA",
  "limit": 10
}

curl

curl -X POST https://gateway.pipeworx.io/nsf-awards/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_awards","arguments":{"keyword":"machine learning","program":"Algorithms in the Field","state":"CA","limit":10}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('search_awards', {
  "keyword": "machine learning",
  "program": "Algorithms in the Field",
  "state": "CA",
  "limit": 10
});

More examples

{
  "pi_name": "Smith",
  "awardee": "MIT",
  "date_start": "01/01/2022",
  "date_end": "12/31/2023",
  "limit": 25
}

Response shape

Always returns: returned, note, awards

FieldTypeDescription
returnednumberNumber of awards returned in this page
notestringPagination note about NSF API limits
awardsarray
Full JSON Schema
{
  "type": "object",
  "properties": {
    "returned": {
      "type": "number",
      "description": "Number of awards returned in this page"
    },
    "note": {
      "type": "string",
      "description": "Pagination note about NSF API limits"
    },
    "awards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "award_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "NSF award ID"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Award title"
          },
          "pi": {
            "type": [
              "string",
              "null"
            ],
            "description": "Principal Investigator name"
          },
          "awardee": {
            "type": [
              "string",
              "null"
            ],
            "description": "Awardee institution name"
          },
          "awardee_city": {
            "type": [
              "string",
              "null"
            ],
            "description": "Awardee city"
          },
          "awardee_state": {
            "type": [
              "string",
              "null"
            ],
            "description": "Awardee US state code"
          },
          "awardee_country": {
            "type": [
              "string",
              "null"
            ],
            "description": "Awardee country code"
          },
          "funds_obligated": {
            "type": [
              "number",
              "null"
            ],
            "description": "Funds obligated amount"
          },
          "estimated_total": {
            "type": [
              "number",
              "null"
            ],
            "description": "Estimated total award amount"
          },
          "start_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Award start date"
          },
          "expiration_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Award expiration date"
          },
          "award_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Award date"
          },
          "agency": {
            "type": [
              "string",
              "null"
            ],
            "description": "Funding agency"
          },
          "program": {
            "type": [
              "string",
              "null"
            ],
            "description": "NSF program name"
          },
          "cfda_number": {
            "type": [
              "string",
              "null"
            ],
            "description": "CFDA program number"
          },
          "transaction_type": {
            "type": [
              "string",
              "null"
            ],
            "description": "Transaction type"
          },
          "nsf_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL to NSF award search page"
          }
        },
        "required": [
          "award_id",
          "title",
          "pi",
          "awardee",
          "awardee_city",
          "awardee_state",
          "awardee_country",
          "funds_obligated",
          "estimated_total",
          "start_date",
          "expiration_date",
          "award_date",
          "agency",
          "program",
          "cfda_number",
          "transaction_type",
          "nsf_url"
        ]
      }
    }
  },
  "required": [
    "returned",
    "note",
    "awards"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "nsf-awards": {
      "url": "https://gateway.pipeworx.io/nsf-awards/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build June 27, 2026