Каталог российского ПО (каталогпо.рф)
minreestr-mcp
MCP (Model Context Protocol) сервер для поиска по каталогу российского ПО каталогпо.рф. Позволяет Claude Code и любому MCP-клиенту искать отечественные аналоги зарубежного софта, смотреть производителей, находить ПО для импортозамещения — прямо из диалога.
English version below.
Что это
Каталог содержит 26 000+ продуктов российских разработчиков: ОС, СУБД, SIEM, антивирусы, СКЗИ, EDR, системы резервного копирования и многое другое. Описания часто содержат информацию о сертификатах ФСТЭК/ФСБ, совместимости с Astra Linux / РЕД ОС, соответствии 152-ФЗ / 187-ФЗ.
MCP-сервер даёт три инструмента:
Tool | Назначение |
| Полнотекстовый поиск по названию и описанию |
| Список производителей с количеством продуктов |
| Топ-продукты с главной каталога |
Related MCP server: onec-meta-mcp
Установка
pip install minreestr-mcpИли из исходников:
git clone https://github.com/velvetway/minreestr-mcp
cd minreestr-mcp
pip install -e .Использование с Claude Code
Добавьте в ~/.claude/settings.json (или .mcp.json в корне проекта):
{
"mcpServers": {
"minreestr": {
"command": "minreestr-mcp"
}
}
}После перезапуска Claude Code три инструмента станут доступны. Примеры запросов:
«Найди российский антивирус для Linux»
«Какие есть отечественные SIEM-системы с сертификатом ФСТЭК?»
«Покажи 10 топовых производителей ПО из реестра Минцифры»
«Есть ли замена Veeam среди российского ПО?»
Использование с Claude Desktop
В ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"minreestr": {
"command": "minreestr-mcp"
}
}
}Пример ответа
Запрос: search_russian_software("antivirus linux", limit=2)
Found 2 product(s) for 'antivirus linux':
• [10856] Антивирус «VR Protect» для Linux
https://каталогпо.рф/product/10856
«VR Protect» — российское антивирусное решение, разработанное специально для
операционных систем семейства Linux... включая сертификацию ФСТЭК. Продукт
совместим с отечественными платформами, такими как Astra Linux и «Ред ОС»...API источника
Сервер использует неофициальный публичный API каталогпо.рф, обнаруженный реверс-инжинирингом JS-бандла сайта:
GET /api/products/search?query=X&limit=NGET /api/manufacturers?page=N&limit=NGET /images/main-product.json
Предупреждение: API не документирован. Владелец сайта может его изменить без предупреждения. В таком случае откроется issue и будет выпущена новая версия.
Данные принадлежат каталогпо.рф и их источникам (реестр Минцифры, вендоры). MCP-сервер — только обёртка над публичным HTTP, не хранит и не модифицирует данные.
Разработка
git clone https://github.com/velvetway/minreestr-mcp
cd minreestr-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest # тесты с моками через respx
ruff check . # линтерСвязанные проекты
velvetway/bdu-fstec-mcp — MCP для БДУ ФСТЭК (86 000+ российских уязвимостей). Используйте его для поиска уязвимостей, а этот — для поиска ПО / импортозамещения.
velvetway/bdu-fstec-mirror — публичное зеркало БДУ ФСТЭК, с которым работает bdu-fstec-mcp.
Лицензия
MIT. См. LICENSE.
English
MCP (Model Context Protocol) server for searching the Russian software catalog at каталогпо.рф from Claude Code / Claude Desktop / any MCP client.
Use case: cybersecurity / compliance teams in Russian organizations looking for domestic alternatives to foreign software (import substitution), verifying ФСТЭК/ФСБ certification, discovering vendors in the Минцифры registry.
Tools
search_russian_software(query, limit=10)— full-text searchlist_russian_manufacturers(page=1, limit=20)— paginated list of vendorsget_featured_russian_software()— homepage highlights
Installation
pip install minreestr-mcpClaude Code / Claude Desktop integration
{
"mcpServers": {
"minreestr": {
"command": "minreestr-mcp"
}
}
}Data source
Uses the unofficial public API of каталогпо.рф (discovered by reverse-engineering the site's JS bundle). No authentication required. Not affiliated with the site owners.
Related projects
velvetway/bdu-fstec-mcp — MCP server for БДУ ФСТЭК (Russian vulnerability database, 86k+ records). Use this for vulnerability lookups; use
minreestr-mcpfor vendor/product search.velvetway/bdu-fstec-mirror — public mirror of the БДУ data consumed by that MCP.
License
MIT.
Available Tools
3 toolsget_featured_russian_softwareA
Get the list of featured/highlighted Russian software products shown on the каталогпо.рф homepage. Good starting point when unsure what to search for.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It describes what the tool returns (featured/highlighted products from homepage) but doesn't mention important behavioral aspects like whether results are cached, how frequently they update, authentication requirements, rate limits, or error conditions. The description adds basic context but leaves significant behavioral gaps.
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 perfectly concise with two sentences that each serve distinct purposes: the first states what the tool does, the second provides usage guidance. There's zero wasted language, and the information is front-loaded with the core functionality stated immediately.
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 zero-parameter tool with no annotations and no output schema, the description provides adequate basic context about what's retrieved and when to use it. However, it doesn't describe the return format, data structure, or what 'featured/highlighted' means operationally. Given the simplicity of the tool, the description is minimally complete but lacks depth about the output.
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 tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and it adds value by explaining what content is retrieved (featured/highlighted Russian software from specific homepage) rather than repeating schema information.
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 verb 'Get' and resource 'list of featured/highlighted Russian software products' with specific location context 'shown on the каталогпо.рф homepage'. It distinguishes from sibling tools by focusing on featured homepage content rather than listing manufacturers or general searching, though it doesn't explicitly name the siblings for comparison.
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 provides clear usage context: 'Good starting point when unsure what to search for.' This gives practical guidance about when this tool is appropriate versus when to use search tools. However, it doesn't explicitly mention when NOT to use it or name specific alternative tools like 'search_russian_software'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_russian_manufacturersA
List Russian software manufacturers paginated, with product counts and 3 preview products each. Useful to discover vendors for a category, or see who is most active in the registry.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed) | |
| limit | No | Manufacturers per page (1–100) |
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 mentions pagination and specific return data (product counts, 3 preview products), which is helpful. However, it doesn't disclose important behavioral aspects like rate limits, authentication requirements, error conditions, or what happens when no manufacturers match.
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 perfectly concise - two sentences that each earn their place. The first sentence states the core functionality with key details, and the second sentence provides usage context. No wasted words or redundant information.
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 read-only listing tool with 2 well-documented parameters and no output schema, the description provides adequate context about what the tool returns. However, without annotations and with no output schema, it could benefit from more detail about the response structure, error handling, or performance characteristics.
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 has 100% description coverage, so parameters are well-documented in the structured schema. The description doesn't add any parameter-specific information beyond what's already in the schema (page and limit parameters with their constraints). This meets the baseline for high schema coverage.
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 verb 'List' and resource 'Russian software manufacturers' with specific details about what's included (product counts, 3 preview products each). It distinguishes from sibling tools by focusing on manufacturers rather than software products, though it doesn't explicitly name the siblings for comparison.
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 provides clear context about when to use this tool ('useful to discover vendors for a category, or see who is most active in the registry'), which helps differentiate it from the sibling tools that focus on software rather than manufacturers. However, it doesn't explicitly state when NOT to use it or name the alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_russian_softwareA
Full-text search over the Russian software catalog (каталогпо.рф). Returns products with id, name, description and URL. Description often mentions ФСТЭК/ФСБ certification, compatibility with Astra Linux / РЕД ОС, support for 152-ФЗ / 187-ФЗ. Use for import-substitution: find Russian alternatives to foreign software.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query in Russian or English (e.g. 'linux', 'антивирус', 'SIEM', 'резервное копирование') | |
| limit | No | Max number of results (1–100) |
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 effectively describes what the tool does (search and return products with specific fields), mentions key contextual details like certification and compatibility, and implies it's a read-only operation without destructive effects. It lacks explicit details on rate limits or error handling, but provides sufficient behavioral context for a tool with no 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?
The description is appropriately sized and front-loaded, with two sentences that efficiently convey the tool's purpose, output, and usage context without any wasted words. Each sentence adds clear value, making it highly 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 tool's moderate complexity (search with two parameters), no annotations, and no output schema, the description does a good job of covering key aspects like purpose, output fields, and usage context. It could improve by detailing the return format or error cases, but it provides enough information for effective use, especially with the well-documented input schema.
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 input schema has 100% description coverage, clearly documenting both parameters ('query' and 'limit') with details like language support and range constraints. The description does not add any additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for high schema coverage.
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 specific action ('Full-text search'), resource ('Russian software catalog'), and scope ('каталогпо.рф'), distinguishing it from sibling tools like 'get_featured_russian_software' and 'list_russian_manufacturers' by focusing on search functionality rather than listing featured items or manufacturers.
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 provides clear context for usage ('Use for import-substitution: find Russian alternatives to foreign software'), which helps guide when to use this tool. However, it does not explicitly state when not to use it or name specific alternatives among the sibling tools, keeping it from a perfect score.
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.
3 tool updates
v0.1.0- First observed
get_featured_russian_software - First observed
list_russian_manufacturers - First observed
search_russian_software
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose with no overlap: get_featured_russian_software retrieves highlighted homepage products, list_russian_manufacturers focuses on vendors with product counts, and search_russian_software performs full-text catalog searches. The descriptions explicitly differentiate their use cases, eliminating any ambiguity.
All tool names follow a consistent verb_noun pattern (get_featured_russian_software, list_russian_manufacturers, search_russian_software) with clear, descriptive verbs aligned to their actions. There are no deviations in naming conventions or styles.
With only 3 tools, the set feels thin for a registry/catalog server, potentially limiting functionality. While the tools cover key discovery tasks, more operations (e.g., detailed product lookups or filtering) could enhance completeness. The count is borderline but not severely mismatched.
The tools provide good coverage for discovery and search in a Russian software registry, including featured items, manufacturer listings, and full-text search. However, there are minor gaps, such as no direct tool for retrieving detailed information on a specific product by ID, which agents might need to work around using search results.
Maintenance
Related MCP Connectors
MCP server for Russian books search, details, and recommendation candidates.
Search and install 4,000+ security-scanned MCP servers from inside any MCP-aware AI client.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
2,000+ MCP servers read at source level. Know what one does before you connect. Free, no key.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP-сервер, дающий Claude (и любому MCP-клиенту) доступ к БДУ ФСТЭК — российской базе данных угроз безопасности информации.45MIT
- FlicenseNot gradedqualityBmaintenanceMCP server for searching and analyzing 1C enterprise metadata and BSL code using a SQLite backend. Enables querying configuration structure, code routines, and performing compliance checks via natural language.-
- AlicenseNot gradedqualityDmaintenanceMCP server for RAG-based search over 1C Enterprise configuration documentation, enabling natural language queries to find objects like справочники, документы, and отчеты.MIT
- AlicenseAqualityDmaintenanceMCP server for Russia's Chestnyi Znak product labelling system, allowing AI assistants to query marking codes, documents, warehouse balances, and participant data via natural language.1030 npm3-