Skip to main content
Glama
velvetway

Каталог российского ПО (каталогпо.рф)

by velvetway

minreestr-mcp

CI License: MIT Python

用于搜索俄罗斯软件目录 каталогпо.рф 的 MCP (Model Context Protocol) 服务器。它允许 Claude Code 和任何 MCP 客户端直接在对话中搜索国外软件的国产替代品、查看制造商以及查找用于进口替代的软件。

下方提供英文版本。

简介

该目录包含俄罗斯开发者的 26,000 多款产品:操作系统、数据库管理系统 (DBMS)、SIEM、杀毒软件、加密信息保护系统 (SKZI)、EDR、备份系统等。产品描述通常包含有关 FSTEC/FSB 认证、与 Astra Linux / RED OS 的兼容性以及是否符合 152-FZ / 187-FZ 法规的信息。

该 MCP 服务器提供三个工具:

工具

用途

search_russian_software

按名称和描述进行全文搜索

list_russian_manufacturers

获取制造商列表及产品数量

get_featured_russian_software

获取目录首页的精选产品

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 的俄罗斯杀毒软件”

  • “有哪些带有 FSTEC 认证的国产 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

该服务器使用通过对网站 JS 包进行逆向工程发现的 каталогпо.рф 非官方公共 API:

  • GET /api/products/search?query=X&limit=N

  • GET /api/manufacturers?page=N&limit=N

  • GET /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 — 用于 FSTEC BDU(86,000+ 个俄罗斯漏洞)的 MCP。使用它来查找漏洞,使用此项目来查找软件/进口替代品。

  • velvetway/bdu-fstec-mirror — bdu-fstec-mcp 所使用的 FSTEC BDU 公共镜像。

许可证

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 search

  • list_russian_manufacturers(page=1, limit=20) — paginated list of vendors

  • get_featured_russian_software() — homepage highlights

Installation

pip install minreestr-mcp

Claude 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.

  • velvetway/bdu-fstec-mcp — MCP server for БДУ ФСТЭК (Russian vulnerability database, 86k+ records). Use this for vulnerability lookups; use minreestr-mcp for vendor/product search.

  • velvetway/bdu-fstec-mirror — public mirror of the БДУ data consumed by that MCP.

License

MIT.

Available Tools

3 tools
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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-indexed)
limitNoManufacturers per page (1–100)

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query in Russian or English (e.g. 'linux', 'антивирус', 'SIEM', 'резервное копирование')
limitNoMax number of results (1–100)

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 3 tool updatesv0.1.0
    • First observedget_featured_russian_software
    • First observedlist_russian_manufacturers
    • First observedsearch_russian_software

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP-сервер, дающий Claude (и любому MCP-клиенту) доступ к БДУ ФСТЭК — российской базе данных угроз безопасности информации.
    4
    5
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP 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.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for RAG-based search over 1C Enterprise configuration documentation, enabling natural language queries to find objects like справочники, документы, and отчеты.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP 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.
    10
    30 npm
    3
    -