Skip to main content
Glama
StandarterDF

v-radion MCP search server

by StandarterDF

v-radion MCP search server

Удобный поисковик по каталогу магазина радиоэлектроники https://v-radion.ru в виде HTTP MCP-сервера (Model Context Protocol). Сайт сам по себе неудобный — статика, кривая кодировка, цены «не определена», нет нормального поиска. Сервер делает его пригодным для использования из MCP-клиента (opencode, Claude Desktop и др.): поиск по всему сайту, просмотр категорий с фильтрами и карточки товаров.

Возможности

  • Поиск и осмотр за один вызовfind_product ищет и сканирует до limit карточек, нормализует запросы (1k1 кОм), переводит EN→RU (LEDсветодиод), автоматически расширяет до тип+корпус.

  • Весь BOM за один вызовfind_bom принимает список позиций или таблицу KiCad целиком.

  • Просмотр категорий с фильтрамиbrowse_category отдаёт товары и, не делая лишних запросов, фильтрует/сортирует их по атрибутам, извлечённым из названия. Фильтр — абстрактный filter: dict (напр. {"package":"0805"}, {"chemistry":"NiCd","voltage":"1.2В"}, {"form_factor":"AA","with_leads":True}) плюс query и sort (name/voltage).

  • Структурированные атрибуты — каждый товар в категории несёт распарсенные chemistry, voltage, form_factor, package, capacity, with_leads.

  • Бережём сайт — каждый вызов делает не более одного HTTP-запроса, повторы кэшируются в памяти на 5 минут (scraper._CACHE_TTL). Сайт не краулится.

Related MCP server: altium-mcp

Требования

  • Python 3.11+

  • Доступ к сайту v-radion.ru (самоподписанный/просроченный TLS — проверка отключена намеренно)

Установка и запуск

Через виртуальное окружение (прямой вызов интерпретатора, без активации):

python -m venv venv
.\venv\Scripts\python.exe -m pip install -r requirements.txt
.\venv\Scripts\python.exe server.py

Сервер поднимается на http://127.0.0.1:8000/mcp (transport: streamable-http). Поменять адрес можно переменными окружения HOST и PORT.

Или просто двойным кликом по start_mcp.bat (он держит окно открытым).

Подключение MCP-клиента

Сервер работает по протоколу streamable-http на http://127.0.0.1:8000/mcp. Ниже — примеры добавления в популярные клиенты. Во всех случаях сначала запустите сервер (см. «Установка и запуск»), затем перезапустите клиент. Сервер не стартует сам — его держит .bat.

opencode — добавьте в opencode.json (пример уже лежит в корне проекта):

{
  "mcpServers": {
    "v-radion": {
      "type": "remote",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

Проверить подключение:

opencode mcp list

Claude Desktop — вставьте в mcpServers файла %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "v-radion": {
      "type": "http",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

Другой MCP-клиент — добавьте сервер типа streamable-http (или http / remote, в зависимости от клиента) с URL http://127.0.0.1:8000/mcp. Адрес можно изменить переменными окружения HOST и PORT при запуске сервера.

После подключения агенту станут доступны инструменты find_product, find_bom, list_categories, browse_category, get_product, get_catalog, site_info.

Инструменты

Инструмент

Назначение

find_product(query, limit=5)

поиск + осмотр карточек за один вызов; авто-расширение до тип+корпус

find_bom(items, limit_per=2)

весь BOM за один вызов (список или таблица KiCad)

list_categories()

список категорий (id → название), читает catalog.json офлайн

browse_category(identifier, page=0, limit=50, query="", sort="", filter=None)

товары категории + абстрактный filter: dict и sort по атрибутам из названия

get_catalog()

всё дерево категорий из catalog.json (офлайн-ориентация, без запросов)

get_product(url, query="")

карточка товара; при query — только совпавшие строки matches

site_info()

контакты, часы, примечание про цены (без запросов)

Переменные окружения

Переменная

По умолчанию

Назначение

HOST

127.0.0.1

адрес MCP-сервера

PORT

8000

порт MCP-сервера

RUN_INTEGRATION

(не задана)

если =1 — запускаются интеграционные тесты

Файлы

  • server.py — MCP-сервер (FastMCP, transport streamable-http).

  • scraper.py — on-demand HTTP-клиент/парсер сайта (смешанная кодировка, отключённая TLS-проверка, кэш, извлечение атрибутов из названий).

  • test_client.py — end-to-end тест через MCP-клиент.

  • Tests/ — автотесты (test_units.py, test_integration.py, TEST_GUIDE.md).

Ссылки

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    MCP server for searching Russia's official software catalog (каталогпо.рф) containing 26,000+ domestic products. Enables finding Russian alternatives to foreign software, checking FSTEC/FSB certifications, and discovering vendors for import substitution directly from Claude or any MCP client.
    3
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and retrieving detailed information on electronic components from TME, including pricing, stock, datasheets, and delivery estimates.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A read-only MCP server for electronics engineers to search DigiKey parts, get detailed product information, plan and validate BOMs, and export order lists, using the official DigiKey API.
    7
    Apache 2.0