Skip to main content
Glama
velvetway

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

by velvetway

minreestr-mcp

CI License: MIT Python

MCP (Model Context Protocol) server for searching the Russian software catalog каталогпо.рф. It allows Claude Code and any MCP client to search for domestic alternatives to foreign software, view manufacturers, and find software for import substitution — directly from the chat.

English version below.

What it is

The catalog contains 26,000+ products from Russian developers: OS, DBMS, SIEM, antivirus, cryptographic information protection tools (SKZI), EDR, backup systems, and much more. Descriptions often contain information about FSTEC/FSB certificates, compatibility with Astra Linux / RED OS, and compliance with 152-FZ / 187-FZ.

The MCP server provides three tools:

Tool

Purpose

search_russian_software

Full-text search by name and description

list_russian_manufacturers

List of manufacturers with product counts

get_featured_russian_software

Top products from the catalog homepage

Related MCP server: onec-meta-mcp

Installation

pip install minreestr-mcp

Or from source:

git clone https://github.com/velvetway/minreestr-mcp
cd minreestr-mcp
pip install -e .

Usage with Claude Code

Add to ~/.claude/settings.json (or .mcp.json in the project root):

{
  "mcpServers": {
    "minreestr": {
      "command": "minreestr-mcp"
    }
  }
}

After restarting Claude Code, the three tools will become available. Example queries:

  • "Find a Russian antivirus for Linux"

  • "What domestic SIEM systems have an FSTEC certificate?"

  • "Show 10 top software manufacturers from the Ministry of Digital Development registry"

  • "Is there a replacement for Veeam among Russian software?"

Usage with Claude Desktop

In ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "minreestr": {
      "command": "minreestr-mcp"
    }
  }
}

Response example

Query: 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 и «Ред ОС»...

Source API

The server uses the unofficial public API of каталогпо.рф, discovered by reverse-engineering the site's JS bundle:

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

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

  • GET /images/main-product.json

Warning: The API is undocumented. The site owner may change it without warning. In such a case, an issue will be opened and a new version will be released.

Data belongs to каталогпо.рф and their sources (Ministry of Digital Development registry, vendors). The MCP server is just a wrapper over public HTTP; it does not store or modify data.

Development

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 for BDU FSTEC (86,000+ Russian vulnerabilities). Use it for vulnerability searching, and this one for software / import substitution searching.

  • velvetway/bdu-fstec-mirror — public mirror of BDU FSTEC, which bdu-fstec-mcp works with.

License

MIT. See 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 FSTEC/FSB certification, discovering vendors in the Ministry of Digital Development 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 BDU FSTEC (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 BDU 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
    4
    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
    45 npm
    2
    -