gradeNot graded
page: Every page
search_proceduresAnswer
Search EU and national funding procedures for one country. Filter by free text, status and programme. Returns the fields needed to answer without a second call, plus the page URL of each result. A null budget means the source published no usable figure — it does NOT mean zero.
View tool JSON
{
"name": "search_procedures",
"kind": "answer",
"impl": "imperative",
"description": "Search EU and national funding procedures for one country. Filter by free text, status and programme. Returns the fields needed to answer without a second call, plus the page URL of each result. A null budget means the source published no usable figure — it does NOT mean zero.",
"inputSchema": {
"type": "object",
"properties": {
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 code. Omit to use the country the visitor is currently viewing."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Free text matched against the title, programme and eligible-applicants text."
},
"status": {
"type": "string",
"enum": [
"open",
"closing_soon",
"upcoming",
"closed"
],
"description": "Status as of the last sync."
},
"program": {
"type": "string",
"maxLength": 200,
"description": "Operational programme name (exact match)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
}
},
"additionalProperties": false
},
"page": "/?period=7&activityPeriod=90"
}get_procedureAnswer
Read a single procedure with its analysed documents. Accepts the raw procedure id (e.g. BG05SFPR001-2.005) or the URL slug. Document `summary` is a generated summary, not the document itself — send the user to `source_url` for the real guidelines.
View tool JSON
{
"name": "get_procedure",
"kind": "answer",
"impl": "imperative",
"description": "Read a single procedure with its analysed documents. Accepts the raw procedure id (e.g. BG05SFPR001-2.005) or the URL slug. Document `summary` is a generated summary, not the document itself — send the user to `source_url` for the real guidelines.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Procedure id or the URL slug."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 code. Omit to use the country the visitor is currently viewing."
}
},
"required": [
"id"
],
"additionalProperties": false
},
"page": "/?period=7&activityPeriod=90"
}list_countriesAnswer
List the 27 EU member states with their coverage status, currency, source counts and last successful sync. Call this before assuming a country has usable data.
View tool JSON
{
"name": "list_countries",
"kind": "answer",
"impl": "imperative",
"description": "List the 27 EU member states with their coverage status, currency, source counts and last successful sync. Call this before assuming a country has usable data.",
"inputSchema": {
"type": "object",
"properties": {
"enabledOnly": {
"type": "boolean",
"default": false,
"description": "Return only countries that passed QA and are switched on."
}
},
"additionalProperties": false
},
"page": "/?period=7&activityPeriod=90"
}list_sourcesAnswer
The official national and EU portals a country's procedures are compiled from, with their health and last check.
View tool JSON
{
"name": "list_sources",
"kind": "answer",
"impl": "imperative",
"description": "The official national and EU portals a country's procedures are compiled from, with their health and last check.",
"inputSchema": {
"type": "object",
"properties": {
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 code. Omit to use the country the visitor is currently viewing."
}
},
"additionalProperties": false
},
"page": "/?period=7&activityPeriod=90"
}platform_statisticsAction
The latest published daily snapshot: procedure counts, document and budget coverage per country. Budget totals cover only procedures with a validated procedure-level figure — never treat a missing budget as zero.
View tool JSON
{
"name": "platform_statistics",
"kind": "act",
"impl": "imperative",
"description": "The latest published daily snapshot: procedure counts, document and budget coverage per country. Budget totals cover only procedures with a validated procedure-level figure — never treat a missing budget as zero.",
"inputSchema": {
"type": "object",
"properties": {
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 code. Omit to use the country the visitor is currently viewing."
}
},
"additionalProperties": false
},
"page": "/?period=7&activityPeriod=90"
}open_procedureAction
Navigate this tab to a procedure's page so the visitor can see it. Use search_procedures first to get the id. This changes what the visitor is looking at; it does not modify any data.
View tool JSON
{
"name": "open_procedure",
"kind": "act",
"impl": "imperative",
"description": "Navigate this tab to a procedure's page so the visitor can see it. Use search_procedures first to get the id. This changes what the visitor is looking at; it does not modify any data.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Procedure id or URL slug."
}
},
"required": [
"id"
],
"additionalProperties": false
},
"page": "/?period=7&activityPeriod=90"
}navigate_siteAction
Navigate this tab to one of the site's sections, optionally pre-filling the procedures search. Use it to show the visitor where an answer came from instead of only describing it.
View tool JSON
{
"name": "navigate_site",
"kind": "act",
"impl": "imperative",
"description": "Navigate this tab to one of the site's sections, optionally pre-filling the procedures search. Use it to show the visitor where an answer came from instead of only describing it.",
"inputSchema": {
"type": "object",
"properties": {
"section": {
"type": "string",
"enum": [
"overview",
"procedures",
"calendar",
"saved",
"sources",
"about",
"how-ai-works",
"changelog",
"api-docs"
],
"description": "Which section to open."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Only for `procedures` — pre-fills the search box."
},
"status": {
"type": "string",
"enum": [
"open",
"closing_soon",
"upcoming",
"closed"
],
"description": "Only for `procedures` — pre-selects the status filter."
}
},
"required": [
"section"
],
"additionalProperties": false
},
"page": "/?period=7&activityPeriod=90"
}