GenTender — госзакупки России
Server Details
Russian public procurement: search tenders, documents, RPP registry, bid assembly (44-FZ, 223-FZ)
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct resource: search vs. detail (search_tenders/get_tender), classification helpers (find_okpd_codes vs find_manufacturers), document retrieval, and bid start. The main overlap is between get_tender (which mentions links to documents) and tender_documents (which provides actual files), a minor boundary that descriptions largely resolve.
Five of six tools follow a clean verb_noun pattern (find_manufacturers, find_okpd_codes, get_tender, search_tenders, start_bid), all snake_case. tender_documents breaks the convention as a noun-only name, a small but noticeable deviation.
Six tools is well-scoped for a tender-discovery service: search, detail, documents, two classification helpers, and a bid-start action. Each tool earns its place with no redundancy or filler.
The surface covers the core discovery workflow — find relevant tenders, inspect details, fetch documents, resolve OKPD2 codes and compliant manufacturers, and launch a bid. Minor gaps exist (no saved-tender tracking or customer/joint-purchase views), but agents can work around them.
Available Tools
6 toolsfind_manufacturersПроизводители в реестре РППARead-onlyIdempotentInspect
Российские производители с номерами реестровых записей по коду ОКПД2 — нужны при национальном режиме (ПП РФ № 1875).
| Name | Required | Description | Default |
|---|---|---|---|
| okpd2 | Yes | Код ОКПД2 товара | |
| product | No | Название товара для уточнения |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds domain context (registry-record numbers tied to a specific regulation) but says nothing about result shape, pagination, or coverage limits of the registry.
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 that front-loads the resource and the lookup key, then appends the regulation context. No filler, nothing repeated.
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 simple two-parameter lookup with full schema coverage and annotations covering the safety profile, the description supplies what matters: what is returned (manufacturers with registry numbers) and why. It is slightly thin on what a result entry contains, but no output schema exists to carry that.
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% with only two parameters, so the schema fully documents okpd2 and product. The description mentions OKPD2 as the lookup basis but adds no format, validation, or matching semantics (e.g., exact vs prefix) beyond what the schema states.
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 resource (Russian manufacturers) and the lookup key (registry record numbers by OKPD2 code), which is far more than restating the title. It is clear enough to distinguish from generic search tools, though it never explicitly frames the action as 'find/list' nor contrasts itself with find_okpd_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?
It supplies a concrete use case — needed when applying the national regime under PP RF No. 1875 — which tells the agent when this tool is relevant. There are no explicit exclusions or named alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_okpd_codesКоды ОКПД2 по товаруBRead-onlyIdempotentInspect
Подсказывает коды ОКПД2, под которыми товар числится в реестре российской промышленной продукции.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | Название товара, от 3 букв |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds one useful behavioral fact — the data comes from the registry of Russian industrial products — but says nothing about result granularity, matching strictness, or empty-result behavior.
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 with no wasted words, front-loaded on what the tool returns. It is appropriately sized, though it could afford one more sentence of routing guidance without becoming bloated.
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 lookup with full annotation coverage this is nearly sufficient, but with no output schema the description should at least sketch the return shape (a list of codes? code plus description?), which it only gestures at in words.
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 100% with a single well-described 'product' parameter (name, min 3 characters), so the schema carries the load. The description adds no format, language, or normalization guidance for the query string.
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 ('Подсказывает') plus the resource ('коды ОКПД2') and the data scope ('в реестре российской промышленной продукции'), so an agent knows exactly what it returns. It does not name a sibling or contrast itself with them, but the resource is distinct from the tender/document tools.
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 explicit when-to-use or when-not guidance, and no alternative tool is mentioned despite five siblings in the tender domain. The use case is only implicitly derivable from the resource it returns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tenderКарточка закупкиARead-onlyIdempotentInspect
Подробности закупки по номеру ЕИС или площадки: предмет, заказчик, регион, начальная цена, срок и статус, ссылки на карточку, документы и сборку заявки.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Номер закупки |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds real context by enumerating the fields returned in the card, which is valuable given no output schema exists. It does not contradict the annotations.
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?
One sentence, front-loaded with the resource and identifier before the field list. The enumerated fields earn their place by substituting for an output schema. No filler.
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 read tool with full annotation coverage, the description is nearly sufficient: it explains what the call returns, compensating for the absent output schema. Only the routing to search_tenders when a number is unknown is missing.
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 100%, so the single 'number' parameter is already documented, and the baseline is 3. The description adds a modest clarification that the number may be an EIS or platform number, slightly beyond the generic schema label, but does not specify format or validation.
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?
States a specific verb+resource (retrieve procurement details by EIS/platform number) and enumerates the returned fields (subject, customer, region, price, deadline, status, links, documents). This distinguishes it from search_tenders and tender_documents without naming them. It stops short of an explicit sibling comparison, so 5 is not warranted.
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?
Usage is implied by 'по номеру ЕИС или площадки' – the agent infers it applies when a tender identifier is already known. There is no explicit when-to-use/when-not or routing to search_tenders for cases where only a query is available. Adequate but under-specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tendersНайти госзакупкиARead-onlyIdempotentInspect
Поиск действующих госзакупок России по словам (товар, услуга, работа) или по номеру закупки. Фильтры: регион поставки, закон, код ОКПД2, начальная цена. Возвращает название, номер, регион, цену, срок и ссылку.
| Name | Required | Description | Default |
|---|---|---|---|
| law | No | Закон через запятую: 44, 223, zmo (малые закупки) | |
| limit | No | Сколько вернуть, 1–50 (по умолчанию 10) | |
| okpd2 | No | Код ОКПД2 или его начало: «08.12», «26.20.1» | |
| query | No | Слова («щебень гранитный», «уборка помещений») или номер закупки | |
| region | No | Регион поставки, как в каталоге: «Москва», «Краснодарский край» | |
| price_max | No | Начальная цена до, ₽ | |
| price_min | No | Начальная цена от, ₽ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the 'active procurements only' scope, which is useful, but says nothing about result volume beyond the schema's limit or pagination behavior.
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 tight sentences: purpose and query modes first, filters second, return values last. No filler, and the most important information is front-loaded. It could drop the return clause given the schema, but it is still compact.
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 7 parameters all schema-documented, no output schema, and annotations covering safety, the description's return-fields clause compensates for the missing output schema and makes the tool fully actionable. Nothing an agent needs to call it correctly is missing.
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 every parameter including its format examples is already documented in the schema. The description names the same filters (регион, закон, ОКПД2, цена) without adding syntax or edge-case meaning, so the baseline of 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 (действующих госзакупок России), plus the two query modes (по словам / по номеру), so an agent knows exactly what it does. It does not explicitly distinguish itself from get_tender, the likely single-record sibling, so it stops short of a 5.
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?
Usage is implied by the two search modes and the listed filter set, which tells an agent when the tool is applicable. However, there is no when-not guidance and no named alternative (e.g., that get_tender follows this for details), leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_bidСобрать заявку в GenTenderARead-onlyIdempotentInspect
Ссылка, по которой человек соберёт заявку на закупку в GenTender: сервис прочитает техническое задание, заполнит формы заказчика и отдаст комплект в Word. Ничего не оплачивает и не подаёт.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Номер закупки |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: what the service does with the document, that the deliverable is a Word package, and explicit negative scope ('does not pay and does not submit'), which is exactly the kind of boundary an agent needs. It does not describe the returned link's lifetime or reuse behavior.
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, front-loaded with the primary artifact (the link), followed by a compact capability statement and a short exclusion clause. Every clause carries information; no padding.
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, no-output-schema tool, the description covers the outcome (a link), the process, and the limits (no payment, no submission). Nothing essential to invoking it correctly appears to be missing, though auth or timing expectations are unstated.
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?
There is a single parameter ('number', purchase number) with 100% schema description coverage, so the schema carries the meaning. The description never mentions the parameter or its format, adding nothing 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 concrete outcome: it returns a link where the user assembles a purchase bid in GenTender, and outlines the service's pipeline (reads the technical spec, fills the customer's forms, delivers a Word package). This is clearly distinguishable from the read-only siblings (get_tender, search_tenders, tender_documents), though it never explicitly contrasts itself with them.
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?
Use is implied — call this when a bid needs to be assembled — but there is no explicit when-to-use statement, no prerequisites, and no mention of an alternative tool. The context is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tender_documentsДокументы закупкиARead-onlyIdempotentInspect
Файлы закупки (извещение, техническое задание, проект контракта, разъяснения) со ссылками на скачивание с gentender.ru — ссылки приходят, когда коннектор подключён со входом (бесплатно). Отмечает недействующие редакции.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Номер закупки |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely new behavioral context: an authentication prerequisite (authenticated connector required, free), and that superseded/non-active document revisions are flagged. These are traits the annotations do not carry, though nothing is said about rate limits or result size.
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 dense sentence front-loads the resource and its contents, then the access condition, then the revision-flagging behavior. No filler, though the parenthetical enumeration makes it slightly heavy.
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 read tool with no output schema, the description covers what is returned (file types with download links), the access prerequisite, and a behavioral caveat about obsolete revisions. Nothing critical is missing, though the response format is only loosely sketched.
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% and there is only one parameter (number, 'Номер закупки'), so the schema does the work. The description adds no format or sourcing guidance for the number (e.g., where to get it), which is the baseline 3 case.
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?
States a specific verb+resource: retrieves procurement files (notice, technical spec, draft contract, clarifications) with download links from gentender.ru. An agent can distinguish this from get_tender (metadata) and search_tenders (discovery). It does not explicitly name siblings, so it stays at 4 rather than 5.
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?
Implies when it is usable by stating links only arrive when the connector is connected with login (free) — a real prerequisite. But it never says when to prefer this over get_tender or how it relates to the sibling tools, leaving usage largely to inference.
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.
6 tool updates
- First observed
find_manufacturers - First observed
find_okpd_codes - First observed
get_tender - First observed
search_tenders - First observed
start_bid - First observed
tender_documents
Related MCP Connectors
Search and analytics for Russian public procurement (44-FZ/223-FZ): tenders, contracts, market data
Russian property auctions: bankruptcy, state, seized, bank and leasing lots. Read-only, in Russian.
Public procurement register, 75 countries: suppliers, buyers, contracts, single-bid awards
Public tenders and contract awards from EU TED and UK Find a Tender, with buyer, value and deadline.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables searching and retrieving Russian tenders (закупки) through the Kontur.Zakupki API. Supports filtering by date, text, laws, procedures, statuses, and more.-
- AlicenseAqualityBmaintenanceMCP server for Russian government procurement data that enables AI assistants to search tenders, get detailed cards, and analyze customer/supplier history.6114 PyPI2MIT
- AlicenseNot gradedqualityDmaintenanceFind, analyze, and score Polish public tenders (BZP): parsed requirements, deadlines, certificates, and bid-fit scoring against your company profile.5 npmMIT
- AlicenseAqualityAmaintenanceMCP server for verifying Russian counterparties (legal entities and individual entrepreneurs) via public Federal Tax Service data: EGRUL/EGRIP, bankruptcy registry (EFRSB), Transparent Business, bailiff service (FSSP), and arbitration courts (KAD).8122 PyPI15MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.