Skip to main content
Glama
velvetway

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

by velvetway

minreestr-mcp

CI License: MIT Python

ロシア製ソフトウェアカタログ каталогпо.рф を検索するためのMCP (Model Context Protocol) サーバーです。Claude Codeや任意のMCPクライアントから、海外製ソフトウェアの国産代替品の検索、メーカーの確認、輸入代替用ソフトウェアの検索を対話形式で行うことができます。

英語版は以下にあります。

概要

このカタログには、ロシアの開発者による26,000以上の製品(OS、DBMS、SIEM、アンチウイルス、暗号化ツール、EDR、バックアップシステムなど)が掲載されています。説明には、FSTEC/FSB認定、Astra Linux / RED OSとの互換性、152-FZ / 187-FZへの準拠に関する情報が含まれていることがよくあります。

MCPサーバーは3つのツールを提供します:

ツール

用途

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を再起動すると、3つのツールが利用可能になります。クエリの例:

  • 「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 — BDU FSTEC(86,000以上のロシアの脆弱性)用MCP。脆弱性検索にはこちらを、ソフトウェア/輸入代替検索には本プロジェクトを使用してください。

  • velvetway/bdu-fstec-mirror — bdu-fstec-mcpが動作するBDU FSTECの公開ミラー。

ライセンス

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
    -