EU Fund Portal
Server Details
The official Model Context Protocol (MCP) server for EU Fund Portal — connecting AI agents directly to the most comprehensive structured feed of European grants, tenders, and public capital allocation.
Access 60,000+ live European funding opportunities across 31 countries, covering centrally managed EU programmes (Horizon Europe, EIC Accelerator, European Defence Fund, LIFE, Digital Europe) alongside national funding bodies across 32 jurisdictions.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The three tools have distinct purposes: search_grants discovers open opportunities, get_grant_details retrieves full details for a specific grant/tender by ID, and get_contract_awards lists past award winners. The only minor overlap is that get_grant_details mentions 'award amounts,' which could superficially resemble get_contract_awards, but the primary actions and resources are clearly different.
All tool names use snake_case and follow a predictable verb_noun structure (get_contract_awards, get_grant_details, search_grants). The verbs vary appropriately by action (get vs search), which is natural and not confusing.
Three tools cover the core workflows of discovery, detail inspection, and past awards. While minimal, each tool earns its place; it is slightly under what a full portal might offer (e.g., no dedicated award search), but not problematically thin.
The set covers search, details, and recent awards, but lacks a way to search or filter past contract awards beyond startup vs commercial tenders (e.g., by country, keyword, or date range). This is a notable gap that could limit agent workflows when investigating award history.
Available Tools
3 toolsget_contract_awardsAInspect
Fetch recent European public procurement and grant award winners: winner name and national ID, buyer, awarded value in EUR (original amount and currency are kept), award and publication dates, and a source link. Supports filtering by startup grants vs commercial tenders.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of awards to retrieve (default: 10, max: 50) | |
| country | No | Two-letter ISO country code of the buyer (contracting authority or funder) | |
| winner_type | No | Filter award winners: "startup" (early-stage tech startups & SME innovation grants e.g. EIC Accelerator, CDTI, Bpifrance), "commercial" (TED public procurement contract awards won by established suppliers/utilities), or "both" (default) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it partially meets it: it states the EUR value semantics (original amount and currency retained) and that a source link is returned. It says nothing about ordering beyond 'recent', pagination beyond the schema's limit, rate limits, or whether any fetch requires authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the what-it-returns content is front-loaded and the filtering capability is placed last as a secondary detail. The field enumeration is dense but each item is meaningful, so little would be gained by trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's enumeration of return fields (winner name/ID, buyer, value, dates, source link) is genuinely necessary and is provided. For a 3-parameter, all-optional read tool this is nearly complete; only ordering/pagination behavior and the meaning of 'recent' are left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so limit, country, and winner_type are all already documented in the schema, including the enum examples. The description only reaffirms the startup-vs-commercial distinction and adds the EUR/original-currency note, which is output semantics rather than parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Fetch recent European public procurement and grant award winners') and enumerates the returned fields, so the agent knows exactly what it retrieves. It does not explicitly distinguish itself from the grant-oriented siblings (get_grant_details, search_grants), and because winner_type='startup' pulls in grants, the boundary with those siblings is blurred rather than clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the trailing 'Supports filtering by startup grants vs commercial tenders', which implies the filter but gives no when-to-use guidance, no exclusions, and no reference to the sibling tools the agent should pick instead. Adequate as a hint, not as routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_grant_detailsAInspect
Retrieve comprehensive intelligence for a specific European grant or tender by ID, including eligibility checklists, award amounts, deadline countdown, and official application links.
| Name | Required | Description | Default |
|---|---|---|---|
| grant_id | Yes | The unique opportunity ID e.g. "eu-tender-HORIZON-CL6-2021-BIODIV-02-01" or national grant ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It communicates that this is a read-style retrieval operation and previews the returned data categories, which is useful. However, it does not mention failure behavior, authorization requirements, or any operational constraints such as rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that starts with the core action, then packs the most important output facets into a compact list. There is no filler or repetition, and every clause adds useful information for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description is largely complete: it names the input, explains the purpose, and lists what the response will contain. The main gap is the lack of explicit guidance on how this tool relates to its siblings, but the description still provides enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds the context that the ID refers to a European grant or tender, which slightly clarifies the parameter's domain, but it does not meaningfully expand on the schema's example-based explanation of grant_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve') and resource ('specific European grant or tender by ID'), and it lists concrete output contents: eligibility checklists, award amounts, deadline countdown, and application links. This naturally distinguishes it from search_grants, which would be used for discovery rather than detail lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly signals that this tool is for retrieving details once a specific grant_id is known, which gives the agent clear context for when to invoke it. It does not explicitly state when not to use it or name alternatives such as search_grants, but the by-ID requirement implies the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_grantsBInspect
Search open European funding opportunities, Horizon Europe calls, national grants, and public tenders across 31 countries. Query by keyword, country, category, or tech vertical.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default: 10, max: 50) | |
| query | No | Search keywords e.g. "artificial intelligence", "clean hydrogen", "defense", "quantum", "robotics" | |
| country | No | Two-letter ISO country code e.g. "DE", "FR", "ES", "NL", "EE", or "ALL" | |
| category | No | Funding category (Direct Grant, Public Tender, or EU-backed Equity) | |
| vertical | No | Technology vertical focus | |
| winner_type | No | Filter award winners by recipient type: "startup" (early-stage innovation grants & SMEs), "commercial" (TED public procurement contract awards), "both" (all award winners), or "all" (both open calls and awards) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only search but says nothing about result ordering, pagination beyond the limit param, coverage freshness, or what a returned item contains. The winner_type field hints that the tool mixes open calls with awards, but this behavioral nuance is never explained in prose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the breadth of coverage front-loaded before the queryable facets. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter search tool with no annotations and no output schema, the description covers scope and query surface but leaves gaps: no guidance on which sibling to use for details or awards, and no statement about what results look like or how many are typically returned. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters, including enums and examples. The description restates the queryable facets (keyword, country, category, tech vertical) without adding syntax, defaults, or combination rules beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Search) and a well-scoped resource (open European funding opportunities, Horizon Europe calls, national grants, public tenders across 31 countries). It is clear enough to distinguish the discovery function from get_grant_details and get_contract_awards, though it never explicitly names those siblings as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of the sibling tools. An agent can infer this is the exploratory search entry point, but the description never states that get_grant_details should be used for follow-up detail or get_contract_awards for historical awards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
get_contract_awards1 field changed- added
Input schema / properties / winner_typeAdded value: +{ + "description": "Filter award winners: \"startup\" (early-stage tech startups & SME innovation grants e.g. EIC Accelerator, CDTI, Bpifrance), \"commercial\" (TED public procurement contract awards won by established suppliers/utilities), or \"both\" (default)", + "enum": [ + "startup", + "commercial", + "both" + ], + "type": "string" +}
- Changed
search_grants1 field changed- added
Input schema / properties / winner_typeAdded value: +{ + "description": "Filter award winners by recipient type: \"startup\" (early-stage innovation grants & SMEs), \"commercial\" (TED public procurement contract awards), \"both\" (all award winners), or \"all\" (both open calls and awards)", + "enum": [ + "startup", + "commercial", + "both", + "all" + ], + "type": "string" +}
1 tool update
- Changed
get_contract_awards2 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Two-letter ISO country code of winning company or buyer"New value: +"Two-letter ISO country code of the buyer (contracting authority or funder)" - changed
Input schema / properties / limit / descriptionPrevious value: -"Number of signals to retrieve (default: 10, max: 50)"New value: +"Number of awards to retrieve (default: 10, max: 50)"
3 tool updates
- First observed
get_contract_awards - First observed
get_grant_details - First observed
search_grants
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1624 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs1114 npmMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.