GnistAI GnistAI
Log in

Getting Started with CORDIS (EU Research Projects)

EU-funded research projects and grants — search Horizon Europe, Horizon 2020, and earlier framework programmes covering 1M+ projects with funding details, participants, and results.

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

Data source: CORDIS (cordis.europa.eu)

Overview

CORDIS (EU Research Projects) wraps CORDIS (cordis.europa.eu), handling authentication, pagination, and rate limits for you. This tutorial covers all 5 tools with working code examples you can copy and run.

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-cordis": {
      "url": "https://context.gnist.ai/mcp/cordis/",
      "headers": {
        "Gnist-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Tools (5)

search_projects

Search EU-funded research projects by keyword. Searches over 1 million projects funded by the European Union through Horizon Europe, Horizon 2020, FP7, and earlier framework programmes. Returns project details including title, acronym, funding, dates, and coordinating country. Args: query: Search term to match against project titles and descriptions. programme: Optional filter for EU framework programme. country: Optional filter for coordinating country. limit: Number of results to return (1-50, default 20). Returns: List of matching projects with reference, title, funding, and link.

ParameterTypeRequiredDescription
querystringrequiredSearch term for EU research projects (e.g. "quantum computing", "climate adaptation", "cancer biomarkers", "smart cities").
programmeanyoptionalFilter by EU framework programme: "horizon-europe", "horizon-2020", "fp7", "fp6", "fp5". Omit for all.
countryanyoptionalFilter by coordinating country (e.g. "Germany", "France", "Norway").
limitintegeroptionalNumber of results to return (1-50, default 20). (default: 20)
curl -X POST "https://context.gnist.ai/mcp/cordis/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_projects", "arguments": {"query": "quantum computing"}}}'
import httpx

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

get_project

Get an EU research project by its grant reference number. Returns detailed information about a specific EU-funded research project including title, abstract, funding amounts, participants, programme, dates, and a link to the CORDIS page. Args: reference: Grant agreement reference number. Returns: Project details including title, acronym, funding, and CORDIS URL.

ParameterTypeRequiredDescription
referencestringrequiredEU project grant reference number (e.g. "101057437", "964363").
curl -X POST "https://context.gnist.ai/mcp/cordis/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_project", "arguments": {"reference": "101057437"}}}'
import httpx

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

search_by_programme

List projects from a specific EU framework programme. Browse the latest projects funded under Horizon Europe, Horizon 2020, FP7, or earlier framework programmes. Returns the most recently started projects by default. Args: programme: EU framework programme identifier. limit: Number of results to return (1-50, default 20). Returns: List of projects from the specified programme.

ParameterTypeRequiredDescription
programmestringrequiredEU framework programme: "horizon-europe", "horizon-2020", "fp7", "fp6", "fp5".
limitintegeroptionalNumber of results to return (1-50, default 20). (default: 20)
curl -X POST "https://context.gnist.ai/mcp/cordis/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_by_programme", "arguments": {"programme": "example"}}}'
import httpx

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

get_recent_projects

Get the most recently started EU research projects. Returns the latest EU-funded research projects across all framework programmes, sorted by start date. Useful for monitoring new EU research initiatives and funding trends. Args: limit: Number of results to return (1-50, default 20). Returns: List of recent projects with reference, title, funding, and link.

ParameterTypeRequiredDescription
limitintegeroptionalNumber of results to return (1-50, default 20). (default: 20)
curl -X POST "https://context.gnist.ai/mcp/cordis/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_recent_projects", "arguments": {"limit": 20}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/cordis/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'limit': 20}, 'name': 'get_recent_projects'}},
)
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/cordis/" \
  -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/cordis/",
    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_projects to find items, then get_project 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 CORDIS (EU Research Projects) provide?

EU-funded research projects and grants — search Horizon Europe, Horizon 2020, and earlier framework programmes covering 1M+ projects with funding details, participants, and results. It exposes 5 tools: search_projects, get_project, search_by_programme, get_recent_projects, 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 CORDIS (EU Research Projects) API return?

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

Next Steps

Related Tutorials