EU public tenders for AI agents: open tenders, award history, competitors and bid intelligence.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Free during beta. Who won past public contracts, at what price, against how many bidders, and by which procedure (open call, prior consultation, direct award). Filter by buyer, winner, CPV sector and region. For Portugal covers every public contract (Portal BASE), incl. small direct awards. Returns summary stats, top winners and recent awards.
Part of the contracting authority's name
Max results, default 10, max 25
ISO date, e.g. 2024-01-01
Place name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal.
Part of the winning company's name
ISO 3166-1 alpha-2 country codes where the work is performed, e.g. ["PT","ES"]
CPV code prefixes; '45' = construction, '72' = IT services, '3021' = computers
Free during beta. Who won past public contracts, at what price, against how many bidders, and by which procedure (open call, prior consultation, direct award). Filter by buyer, winner, CPV sector and region. For Portugal covers every public contract (Portal BASE), incl. small direct awards. Returns summary stats, top winners and recent awards.
| Argument | Type | Description |
|---|---|---|
| buyer | string | Part of the contracting authority's name |
| limit | integer | Max results, default 10, max 25 |
| since | string | ISO date, e.g. 2024-01-01 |
| region | string | Place name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal. |
| winner | string | Part of the winning company's name |
| countries | array | ISO 3166-1 alpha-2 country codes where the work is performed, e.g. ["PT","ES"] |
| cpv_prefixes | array | CPV code prefixes; '45' = construction, '72' = IT services, '3021' = computers |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"buyer": {
"type": "string",
"maxLength": 200,
"description": "Part of the contracting authority's name"
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Max results, default 10, max 25"
},
"since": {
"type": "string",
"description": "ISO date, e.g. 2024-01-01"
},
"region": {
"type": "string",
"maxLength": 100,
"description": "Place name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal."
},
"winner": {
"type": "string",
"maxLength": 200,
"description": "Part of the winning company's name"
},
"countries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"description": "ISO 3166-1 alpha-2 country codes where the work is performed, e.g. [\"PT\",\"ES\"]"
},
"cpv_prefixes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 8,
"minLength": 2
},
"description": "CPV code prefixes; '45' = construction, '72' = IT services, '3021' = computers"
}
}
}Free during beta. Should I bid, and at what price? For an open tender (tender_id from search_tenders/match_company, or a pasted tender link) or a buyer+sector, analyses comparable past contracts: typical number of bidders, share of single-bid contests, how far below the estimate winners bid, a price range for this tender, incumbents, the companies that most often bid (with win rates), how often the buyer awards without an open call, and recent awards. Compares with the same buyer and sector, else the same kind of work nearby (district). States its sample size. Does not read the tender documents.
| Argument | Type | Description |
|---|---|---|
| cpv | string | CPV code or prefix of the sector (if no tender_id) |
| buyer | string | Buyer name or tax id (if no tender_id) |
| country | string | ISO alpha-2 country, e.g. PT |
| tender_id | string | Id of an open tender, e.g. '673746-2026', or a link to it (awardia.app/t/…, TED or Portal BASE page) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cpv": {
"type": "string",
"maxLength": 8,
"description": "CPV code or prefix of the sector (if no tender_id)"
},
"buyer": {
"type": "string",
"maxLength": 200,
"description": "Buyer name or tax id (if no tender_id)"
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "ISO alpha-2 country, e.g. PT"
},
"tender_id": {
"type": "string",
"maxLength": 400,
"description": "Id of an open tender, e.g. '673746-2026', or a link to it (awardia.app/t/…, TED or Portal BASE page)"
}
}
}Free during beta. What a company wins in public procurement: contracts won, value, buyers, sectors, countries, typical discount below estimate, competition level, procedures and regions, recent wins with base price, % below it and award criteria; for Portugal also every contest it entered, its win rate, its most frequent rivals (who beat whom) and its recent losses. Search by name or tax id (NIF). These are public records: report facts, not conclusions about wrongdoing.
| Argument | Type | Description |
|---|---|---|
| since | string | ISO date, e.g. 2025-01-01 |
| company* | string | Company name (part is fine) or tax id, e.g. 'B46012696' |
| countries | array | ISO 3166-1 alpha-2 country codes where the work is performed, e.g. ["PT","ES"] |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"company"
],
"properties": {
"since": {
"type": "string",
"description": "ISO date, e.g. 2025-01-01"
},
"company": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "Company name (part is fine) or tax id, e.g. 'B46012696'"
},
"countries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"description": "ISO 3166-1 alpha-2 country codes where the work is performed, e.g. [\"PT\",\"ES\"]"
}
}
}Free during beta. Public contracts whose term ends soon, so the buyer will likely re-tender: a sales pipeline before tenders are published. Returns buyer, incumbent supplier(s), value, start and expected end date.
| Argument | Type | Description |
|---|---|---|
| buyer | string | Part of the buyer's name |
| limit | integer | Max results, default 10, max 50 |
| region | string | Place name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal. |
| countries | array | ISO 3166-1 alpha-2 country codes where the work is performed, e.g. ["PT","ES"] |
| min_value | number | Minimum awarded value |
| cpv_prefixes | array | CPV code prefixes; '45' = construction, '72' = IT services, '3021' = computers |
| months_ahead | integer | Look-ahead window, default 12 months |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"buyer": {
"type": "string",
"maxLength": 200,
"description": "Part of the buyer's name"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Max results, default 10, max 50"
},
"region": {
"type": "string",
"maxLength": 100,
"description": "Place name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal."
},
"countries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"description": "ISO 3166-1 alpha-2 country codes where the work is performed, e.g. [\"PT\",\"ES\"]"
},
"min_value": {
"type": "number",
"description": "Minimum awarded value"
},
"cpv_prefixes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 8,
"minLength": 2
},
"description": "CPV code prefixes; '45' = construction, '72' = IT services, '3021' = computers"
},
"months_ahead": {
"type": "integer",
"maximum": 36,
"minimum": 1,
"description": "Look-ahead window, default 12 months"
}
}
}FREE. What data Awardia holds: sources, countries, date range, number of open tenders and award notices. Useful to check before searching a country or period.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Free during beta. Describe a company in plain words (what it sells, where). Returns the open public tenders it could bid on, best match first, each with 'competition' signals from the buyer's past contracts (median bidders, single-bid share, % below estimate).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results, default 10, max 25 |
| countries | array | ISO 3166-1 alpha-2 country codes where the work is performed, e.g. ["PT","ES"] |
| company_description* | string | e.g. 'We install solar panels and EV chargers for municipalities'. English matches tenders in every EU language; adding key terms in the target country's language improves recall. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"company_description"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Max results, default 10, max 25"
},
"countries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"description": "ISO 3166-1 alpha-2 country codes where the work is performed, e.g. [\"PT\",\"ES\"]"
},
"company_description": {
"type": "string",
"maxLength": 2000,
"minLength": 10,
"description": "e.g. 'We install solar panels and EV chargers for municipalities'. English matches tenders in every EU language; adding key terms in the target country's language improves recall."
}
}
}Free during beta. Find OPEN public tenders (deadline still in the future) by keywords, country, region, CPV sector and value. EU-wide from TED; for Portugal also every national call for tender of any value (Diário da República). Returns title, buyer, country, region, CPV codes, estimated value, submission deadline, official link and tender documents link, plus 'competition': how contested this buyer's past contracts in the same kind of work were (median bidders, single-bid share, median % below the estimate, sample size). Use bid_intelligence for a price range and rivals. If nothing matches exactly, it widens (the place's whole district, then without keywords, then without the place) and says so in 'widened_to' and 'note'.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results, default 10, max 25 |
| region | string | Place name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal. |
| keywords | string | What you are looking for. English works across all countries (matched via the EU CPV vocabulary); adding the same words in the target country's language (e.g. 'school renovation escola requalificação') also matches tender titles and descriptions. |
| countries | array | ISO 3166-1 alpha-2 country codes where the work is performed, e.g. ["PT","ES"] |
| max_value | number | Maximum estimated value |
| min_value |
| number |
| Minimum estimated value |
| cpv_prefixes | array | CPV code prefixes; '45' = construction, '72' = IT services, '3021' = computers |
| deadline_after | string | ISO date; default now |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Max results, default 10, max 25"
},
"region": {
"type": "string",
"maxLength": 100,
"description": "Place name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal."
},
"keywords": {
"type": "string",
"maxLength": 300,
"description": "What you are looking for. English works across all countries (matched via the EU CPV vocabulary); adding the same words in the target country's language (e.g. 'school renovation escola requalificação') also matches tender titles and descriptions."
},
"countries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"description": "ISO 3166-1 alpha-2 country codes where the work is performed, e.g. [\"PT\",\"ES\"]"
},
"max_value": {
"type": "number",
"description": "Maximum estimated value"
},
"min_value": {
"type": "number",
"description": "Minimum estimated value"
},
"cpv_prefixes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 8,
"minLength": 2
},
"description": "CPV code prefixes; '45' = construction, '72' = IT services, '3021' = computers"
},
"deadline_after": {
"type": "string",
"description": "ISO date; default now"
}
}
}