GnistAI GnistAI
Log in

Getting Started with Research Funding

Unified research grant search across NIH Reporter, NSF Awards, and EU CORDIS — US and European government funding for scientific research.

All Tutorials   |   Overview   |   Playground   |   MCP   |   REST API   |   Home
Science

Data source: NIH Reporter, NSF Awards, CORDIS

Overview

Research Funding searches across 3 data sources (NIH Reporter, NSF Awards, CORDIS) in a single query. It deduplicates and normalizes results, saving you from building 3 separate integrations. This tutorial walks through all 4 tools with working code examples.

Prerequisites

  1. Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
  2. Choose your integration method: MCP protocol or REST API.

Connect via MCP

Add to your MCP client config (Claude Desktop, Cursor, etc.):

MCP Config
{
  "mcpServers": {
    "gnist-research-funding": {
      "url": "https://context.gnist.ai/mcp/research-funding/",
      "headers": {
        "Gnist-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Tools (4)

search_grants

Search for research grants across NIH Reporter, NSF Awards, and EU CORDIS. Queries all three funding agencies in parallel and returns combined results sorted by award amount (largest grants first). Each result includes the funding source, award amount, principal investigators, and institution. Examples: search_grants(query="machine learning") search_grants(query="cancer immunotherapy", source="nih", max_results=20) search_grants(query="renewable energy", source="cordis")

ParameterTypeRequiredDescription
querystringrequiredSearch query — keywords, topic, PI name, or institution.
max_resultsintegeroptionalMaximum number of results. (default: 10)
sourceanyoptionalFilter by source: nih, nsf, cordis. Omit to search all.
curl -X POST "https://context.gnist.ai/mcp/research-funding/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_grants", "arguments": {"query": "renewable energy"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/research-funding/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'query': 'renewable energy'},
            'name': 'search_grants'}},
)
print(resp.json())

get_grant

Look up a specific research grant by its ID. If the source is known, specify it to get faster results. Otherwise, all three sources are queried in parallel. Examples: get_grant(grant_id="5R01CA123456-05", source="nih") get_grant(grant_id="2548201", source="nsf") get_grant(grant_id="101057437", source="cordis")

ParameterTypeRequiredDescription
grant_idstringrequiredGrant ID (e.g. NIH project number, NSF award ID, or CORDIS reference).
sourceanyoptionalSource: nih, nsf, cordis. Specify to avoid searching all sources.
curl -X POST "https://context.gnist.ai/mcp/research-funding/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_grant", "arguments": {"grant_id": "NIH"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/research-funding/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'grant_id': 'NIH'}, 'name': 'get_grant'}},
)
print(resp.json())

list_funding_sources

List all registered research funding data sources and their status. Shows which funding agencies are available and whether they are enabled. Examples: list_funding_sources()

curl -X POST "https://context.gnist.ai/mcp/research-funding/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_funding_sources", "arguments": {}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/research-funding/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {}, 'name': 'list_funding_sources'}},
)
print(resp.json())

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)
curl -X POST "https://context.gnist.ai/mcp/research-funding/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "report_feedback", "arguments": {"feedback": "example"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/research-funding/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'feedback': 'example'}, 'name': 'report_feedback'}},
)
print(resp.json())

Common Patterns

Search then retrieve
Use search_grants to find items, then get_grant to get full details. This two-step pattern is common for exploring data before drilling down.
Pagination
Several tools support limit, offset, or page parameters. Start with small limits during development, then increase for production queries.

FAQ

What data does Research Funding provide?

Unified research grant search across NIH Reporter, NSF Awards, and EU CORDIS — US and European government funding for scientific research. It exposes 4 tools: search_grants, get_grant, list_funding_sources, report_feedback.

What do I need to get started?

A Gnist API key (free tier: 100 calls/day). Sign up at https://context.gnist.ai/signup.

What format does the Research Funding API return?

JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.

Which data sources does Research Funding aggregate?

NIH Reporter, NSF Awards, CORDIS. Results are deduplicated and normalized into a consistent format.

Next Steps

Related Tutorials