EU Tender MCP
EU Tender MCP
Актуальная, структурированная аналитика европейских госзакупок для МСП — в виде MCP-сервера. Ищите возможности, анализируйте трансграничные риски и разбирайтесь в тендерах ЕС — прямо из Claude, Cursor или любого MCP-клиента.
Ценность здесь — в информации, которую LLM не может знать: актуальные тендерные возможности, пороги ЕС, коды CPV и модели трансграничных рисков. Он создан для консалтинговых, сервисных или поставляющих МСП, которые хотят участвовать в госзакупках за пределами своего государства-члена.
Почему это действительно полезно (а не очередная обёртка)
Что LLM выдумывает по памяти | Что на самом деле делает этот MCP |
«Каков порог ЕС для услуг?» | Возвращает реальную цифру (стандартные €143 тыс.) с категорией, к которой она применяется |
«Найди мне тендеры в Германии на ПО» | Возвращает структурированные записи тендеров с фильтрацией (страна/CPV/сумма/срок) |
«Рискованно ли подавать заявку на этот запрос предложений из-за рубежа?» | Запускает проверку на «красные флаги» (обеспечение, минимальный оборот, локальное присутствие, короткие сроки) + честную оценку соответствия для МСП |
«Какой код CPV у „клининговых услуг“?» | Возвращает раздел CPV с псевдонимами |
«Что означает этот тип извещения?» | Объясняет |
Каждый инструмент детерминирован, типизирован и честен в отношении источника данных — он никогда не выдумывает «живые» возможности, если не настроен ключ TED API.
Related MCP server: Tender MCP
Инструменты (7)
Инструмент | Что делает |
| Искать тендеры по запросу / стране / CPV / диапазону сумм / сроку |
| Активность по странам и секторам, типовые суммы, срочные дедлайны |
| Проверка на «красные флаги» + оценка соответствия для МСП от 0 до 100 (по id тендера или вставленному тексту запроса предложений) |
| Перевести описание в коды разделов CPV ЕС |
| Объяснить, что означает тип извещения (pin, cn-standard, results…) |
| Превышает ли сумма обязательные пороги публикации ЕС |
| Полная структурированная запись по одному тендеру |
Установка и запуск
python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/pytest tests/ -q # 38 tests, incl. a real MCP stdio integrationЗапуск сервера (stdio)
.venv/bin/eu-tender-mcp
# or
.venv/bin/python -m tendermcp.serverПодключение клиента
Claude Desktop — добавьте в конфиг MCP (claude_desktop_config.json):
mcpServers → см. configs/claude-desktop.json. Укажите PYTHONPATH на абсолютный путь к репозиторию.
Claude Code / Cursor / другие MCP-клиенты — используйте configs/mcp-config.json и установите пакет (pip install -e .), чтобы python3 -m tendermcp.server разрешался.
Модель данных
Провайдер по умолчанию: встроенный набор явно помеченных примеров тендеров (источник
bundled_sample), чтобы MCP работал из коробки, был готов к демонстрации и полностью тестировался без ключа.Живой TED (в дорожной карте): зарегистрируйте ключ TED API, задайте
TED_API_KEYи реализуйтеTEDLiveProvider._fetch()(вproviders.py, уже заглушка). До этого никакие «живые» данные не выдумываются — вместо них возвращается размеченный пример.
Структура проекта
eu-tender-mcp/
├── tendermcp/
│ ├── server.py ← FastMCP server wiring all tools
│ ├── knowledge.py ← CPV codes, notice types, EU thresholds, red-flag rules
│ ├── analyzer.py ← red-flag scan + SME fit scoring (offline, deterministic)
│ ├── providers.py ← provider interface + bundled/live providers
│ ├── models.py ← typed Tender / search-params models
│ ├── intel.py ← market-snapshot aggregations
│ └── sample_data.py ← labeled demo tenders
├── configs/ ← Claude Desktop / generic MCP client configs
├── tests/ ← 38 tests including real stdio integration
├── pyproject.toml
└── README.mdДорожная карта / честные заметки
Живая лента TED — самое крупное улучшение: нужен зарегистрированный ключ TED/OPEN API и URL фида аккаунта (специфичный для аккаунта), которые может предоставить только пользователь. Шов провайдера готов.
Больше правил «красных флагов» и нюансов юрисдикции запланировано; анализатор намеренно прозрачен (он выводит причины, а не ложную точность).
Не является юридической консультацией. Анализатор — вспомогательный инструмент; всегда сверяйтесь с полной тендерной документацией.
Лицензия MIT.
Available Tools
7 toolsanalyze_tenderA
Analyze a tender's cross-border risk and fit for an SME bidder.
Provide either 'tender_id' (looks it up from the active pool and pulls its value/deadline automatically) OR paste 'text' of an RFP to scan it directly. Uses 'estimated_value_eur' / 'deadline_days_left' as overrides when given. Returns a red-flag scan + an honest 0-100 fit score with reasons.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| tender_id | No | ||
| buyer_type | No | ||
| deadline_days_left | No | ||
| estimated_value_eur | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It explains that `tender_id` looks up the active pool and automatically pulls value/deadline, while `text` is scanned directly, and it describes the output as a red-flag scan plus a 0-100 fit score. It could mention error/empty-input behavior, but the disclosed behavior is above-average.
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 compact and well-structured: a one-sentence purpose, an input-mode explanation with clear either/or guidance, override semantics, and a statement of expected output. Each line adds useful guidance and no unnecessary filler is present.
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?
Given the light schema annotations and the absence of an output schema, the description covers the core invocation modes, how overrides behave, and what the tool returns. The main omissions are the purpose of `buyer_type` and behavior when neither `tender_id` nor `text` is supplied, but the overall description is still adequate for an agent to use the tool reasonably.
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 0%, so the description must compensate. It meaningfully explains the roles of `text`, `tender_id`, `estimated_value_eur`, and `deadline_days_left`, including the override behavior. The one gap is `buyer_type`, whose effect is not described anywhere, but most parameters gain useful semantic meaning beyond their names and types.
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 is specific: 'Analyze a tender's cross-border risk and fit for an SME bidder' clearly identifies the action, resource, and analytical outcome. It sets this tool apart from the sibling lookup and search tools, which focus on discovering or returning tender details rather than analyzing fit and risk.
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 explains how to invoke it — providing either a `tender_id` or RFP `text` — and that overrides are available. However, it does not explicitly state when to choose this tool over siblings like `tender_details` or `market_snapshot_tool`, so usage guidance is largely implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eu_thresholdC
Check whether a tender's value is above EU mandatory publication thresholds. 'category' in works/supplies/services/concessions.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | standard | |
| category | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It fails to state what the tool returns (e.g., boolean, threshold value, comparison result), whether it is read-only or has side effects, or what inputs are actually required to assess the tender's value. The mention of category values is the only behavioral hint, but it leaves the core behavior opaque.
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 two short, direct sentences with no filler. The purpose is front-loaded, and the category constraint is included efficiently. It earns a high score for being appropriately concise and well-structured.
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?
Given the lack of an output schema, annotations, and the cryptic 'kind' parameter, this description is incomplete. It does not explain the return value, the meaning of 'kind', or how the tender value is passed. An agent would have to guess how to invoke it correctly, especially since the required 'category' parameter is explained but the optional 'kind' is not.
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 0%, so the description must compensate. It explains that 'category' can be 'works/supplies/services/concessions', which adds meaning for that parameter. However, it does not explain the 'kind' parameter at all, nor does it specify how the tender's value is provided (there is no value parameter in the schema). The description only partially clarifies the inputs.
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 states a clear verb ('Check whether') and a specific resource ('a tender's value is above EU mandatory publication thresholds'), and even enumerates the valid category values. However, it does not explicitly differentiate from sibling tools such as market_snapshot_tool or analyze_tender, so it lacks explicit sibling distinction.
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?
No guidance is given on when to use this tool versus alternatives. The description simply states what it does, leaving it to the agent to infer the context. There is no mention of when not to use it, prerequisites, or why it should be chosen over other threshold-related or tender-analysis tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
look_up_cpvA
Translate a good/service description into EU CPV division codes.
Useful for cross-border bidders to classify a tender or pick the right alert keywords. Also returns all divisions if 'query' is empty.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It explicitly states the main transformation and discloses the empty-query behavior: 'Also returns all divisions if query is empty.' It does not describe output format or error cases, but for a simple lookup tool this is reasonably transparent.
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?
Three concise sentences: the core purpose, the user scenarios, and the edge-case behavior. No wasted words or redundant schemas. The most important information (input-to-output translation) is placed first.
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?
Given the simplicity (one required string parameter, no nested objects, no output schema), the description covers the essential context: what input to provide and what to do with an empty input. It does not specify return-value details, but for a code-lookup tool this is a minor gap, not a critical one.
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 coverage is 0%, so the description must clarify the only parameter 'query'. It does: query is a good/service description line, and an empty string triggers a special 'return all divisions' behavior. This adds meaningful semantics entirely absent from the schema.
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 opens with a specific verb and resource: 'Translate a good/service description into EU CPV division codes.' This clearly states the input, the transformation, and the output type. It also implicitly distinguishes itself from siblings like look_up_notice_type by focusing on CPV divisions rather than other classifications.
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 explains when it is useful: 'cross-border bidders to classify a tender or pick the right alert keywords.' This gives clear usage context. It does cite alternatives or say when not to use it, but there is no need, since the use case is well articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
look_up_notice_typeA
Explain what an EU tender notice type (e.g. 'cn-standard', 'pin', 'results') means and what it signals to a bidder.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
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 correctly implies a read-only explanatory operation and adds bidder-relevant context, but it does not specify the output form, whether it returns a standardized definition, or any limitations on accepted codes. This is acceptable for a simple lookup but not richly transparent.
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?
A single sentence, front-loaded with the core action and resource, with examples woven in naturally. Every part of the sentence earns its place, and there is no filler or repetition.
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 one-parameter, low-complexity explanatory tool, the description covers the essential semantics and gives useful examples. The absence of an output schema is mostly fine because the output is an explanation, but a note about the response format or accepted-code coverage would make it fully 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?
The schema provides only a single 'code' string with 0% description coverage, so the description must compensate. It does so by giving the semantic domain ('EU tender notice type') and three concrete accepted code examples, which is meaningful guidance beyond the bare schema. However, it stops short of describing the full accepted set or case-sensitivity.
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 states a specific verb ('explain') and a specific resource ('EU tender notice type'), with concrete examples ('cn-standard', 'pin', 'results') and a clear audience-focused purpose ('what it signals to a bidder'). This clearly distinguishes it from sibling tools like look_up_cpv, which covers a different code domain.
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 intended use is implied by the description and name — call this when the user needs the meaning of a notice type code — but there is no explicit when-to-use guidance, no mention of alternatives, and no statement of when not to use it. The context is clear enough for inference, but it does not meet the 'explicit' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_snapshot_toolA
Get a market overview of available tenders: activity by country and sector, typical contract values, and the most urgent deadlines.
Optionally filter by country (ISO) or CPV division.
| Name | Required | Description | Default |
|---|---|---|---|
| cpv | No | ||
| country | No | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It implies a read-only operation ('overview', 'snapshot') and indicates the output is a summary (typical values, most urgent deadlines), but it does not disclose potential limitations like data recency, pagination, or any side effects. It is somewhat transparent but incomplete.
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 two concise sentences that clearly state the purpose and available filters. No jargon, no redundancy, well-structured with a colon to introduce the overview content.
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?
With no annotations, the description must cover side effects, requirements, and limitations. It provides the core purpose and optional filters but omits any alternative tool guidance, performance expectations, or authorization needs. It is adequate for a simple read-only snapshot tool but lacks some contextual depth.
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?
The description partially explains the parameters: it mentions country (ISO) and CPV division for filteringaine but does not detail the max_results parameter or specific formats (e.g., how CPV division is entered). Since no schema descriptions are present and the description covers only two of three parameters, it is moderately informative but not exhaustive.
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 states a clear action ('Get a market overview') on a specific resource ('available tenders'), and specifies the content: activity by country and sector, typical contract values, and urgent deadlines. It distinguishes itself from siblings like search_tenders by focusing on aggregated 'overview' data rather than individual tender searches.
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 mentions optional filters (country ISO, CPV division) but does not explicitly state when to use this tool versus search_tenders or others. It implies a summary use case but does not give exclusion criteria or direct alternatives. There is no 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tendersB
Search EU public tenders.
Returns a list of tender records with id, title, buyer, country, CPV, deadline, and estimated value. Free text 'query' matches title/description. 'country' is an ISO code like 'DE'. 'cpv' is a CPV division (e.g. 48000000).
| Name | Required | Description | Default |
|---|---|---|---|
| cpv | No | ||
| limit | No | ||
| query | No | ||
| source | No | auto | |
| country | No | ||
| deadline_from | No | ||
| max_value_eur | No | ||
| min_value_eur | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It does disclose the return shape, free-text matching behavior, and ISO/CPV value formats, which is helpful. However, it omits default limit behavior, the meaning of source='auto', pagination, and how filters combine.
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 compact, front-loaded with the core purpose, and every sentence adds useful information. It avoids filler and is appropriately sized for a search tool.
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?
Without an output schema, listing the returned fields is a good compensation. However, with 8 optional parameters and no annotations, the description leaves meaningful gaps around source semantics, limit behavior, and filter interactions, making it 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 0%, so the description must compensate. It explains query, country, and cpv, but 5 of 8 parameters (limit, source, deadline_from, min_value_eur, max_value_eur) receive no semantic explanation. The property names are somewhat self-explanatory, but the description does not fully carry the burden.
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 clearly states the tool searches EU public tenders and lists the fields returned, which makes the basic purpose obvious. It does not explicitly contrast with sibling tools like tender_details, but the 'list of tender records' wording signals an aggregate search rather than a single-record 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?
There is no guidance on when to use this tool versus alternatives like tender_details, analyze_tender, or market_snapshot_tool. The parameter explanations imply how to filter, but the description never states selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tender_detailsB
Get the full structured record for one tender by id.
| Name | Required | Description | Default |
|---|---|---|---|
| tender_id | Yes |
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 states it returns 'full structured record', but does not disclose the record's fields, structure, pagination, or error behavior. While 'get' implies a read-only operation, this is not explicit, and no side effects or prerequisites are mentioned.
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, concise sentence of 9 words that front-loads the core action ('Get the full structured record') without extraneous content. It is appropriately brief and clear.
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 tool with no output schema and only one parameter, the description should describe what the 'full structured record' contains and any expectations on the output. It is vague, omits return format details, error handling, and does not clarify the scope of a tender record. An agent lacks confidence in what will be returned.
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 0% and the description adds no information about tender_id beyond the schema's type string. There is no guidance on format, constraints, examples, or what constitutes a valid tender ID, so the description offers zero value over the schema.
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 states the verb 'Get', the resource 'full structured record for one tender', and the method 'by id'. This clearly differentiates it from siblings like search_tenders (which searches broadly) and look_up_cpv (which looks up CPV codes).
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 implies its use for fetching a specific tender by ID, but provides no explicit guidance on when to choose it over alternatives. It does not mention conditions such as 'use when you have a tender_id' or exclusion cases, leaving the agent to infer the appropriate context.
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.
7 tool updates
v0.1.0- First observed
analyze_tender - First observed
eu_threshold - First observed
look_up_cpv - First observed
look_up_notice_type - First observed
market_snapshot_tool - First observed
search_tenders - First observed
tender_details
TDQS
Scored across 7 tools
Each tool has a distinct purpose: searching for tenders, getting market snapshots, analyzing bidder fit, looking up CPV codes, explaining notice types, checking thresholds, and fetching details. There is no overlap that would cause an agent to misselect between them. The analyze_tender tool's dual input modes are intuitively separate from the other tools.
Tool names mix patterns: most follow verb_noun (search_tenders, analyze_tender, look_up_cpv, look_up_notice_type), but market_snapshot_tool and eu_threshold use noun phrases, and tender_details is noun_noun. While readable, the inconsistent structure and the odd '_tool' suffix in market_snapshot_tool reduce predictability.
With 7 tools, the server is well-scoped and covers the core needs of EU tender discovery, analysis, and reference lookups without bloat or redundancy. Each tool clearly earns its place.
The tool surface covers search, detail retrieval, market overview, cross-border analysis, CPV translation, notice type explanation, and threshold checks—covering the main workflows. Minor gaps exist, such as no ability to fetch attached tender documents or filter tenders by date range in search, but these are edge cases that agents can often work around.
Maintenance
Related MCP Connectors
Search EU public tenders across TED and 8 national portals. Monitor, match, and analyse procurement.
EU tenders and grant calls, matched to your company and qualified, inside the AI you already use
Find, score and analyse German and EU public tenders; search docs; draft quotes.
Search public procurement notices from 17 sources across Germany, the EU and the UK. Read-only.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables search and analysis of European public procurement tenders, including EU above-threshold (TED) and below-threshold from 11 national sources, with hybrid search and filtering.MIT
- AlicenseAqualityBmaintenanceEnables AI agents to find, score, and monitor government contract opportunities across UK, EU, and US with AI-powered relevance scoring.252 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and retrieving detailed information on EU grant calls and tenders from the EU Funding & Tenders Portal, including deadlines, budgets, and topic details.24 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and analyzing government tenders, contract awards, and pre-tender pipelines from 21 official sources, with tools for tender search, award intelligence, and detailed notice retrieval.MIT