MCP-сервер для Честного Знака — проверка маркировки товаров через ИИ

MCP serverDev tools

MCP server for Chestniy ZNAK (Честный ЗНАК) API — product marking verification. No auth needed for

Unavailable. This server has no hosted endpoint yet, so ahel can't serve it.

Connect ahel once, and every AI you use reads what you have installed.

From the project's README

As published by theyahia/chestnyznak-mcp in README.md.

Если вы искали, как проверить код маркировки Честного Знака не заходя в личный кабинет, подключить True API ЦРПТ к нейросети или узнать статус товара прямо в чате — это оно. 5 инструментов: публичные проверки кодов работают сразу, без регистрации и токена; данные True API — по токену. Присылаете код DataMatrix — получаете статус, владельца и историю вместо вкладки с формой.

Часть серии WWmcp (46 серверов) by @theYahia.

Установка

Claude Desktop

{
  "mcpServers": {
    "chestnyznak": {
      "command": "npx",
      "args": ["-y", "@theyahia/chestnyznak-mcp"]
    }
  }
}

Claude Desktop (с авторизацией)

{
  "mcpServers": {
    "chestnyznak": {
      "command": "npx",
      "args": ["-y", "@theyahia/chestnyznak-mcp"],
      "env": {
        "CHESTNYZNAK_TOKEN": "ваш-токен"
      }
    }
  }
}

Claude Code

claude mcp add chestnyznak -- npx -y @theyahia/chestnyznak-mcp

# С авторизацией
CHESTNYZNAK_TOKEN=ваш-токен claude mcp add chestnyznak -- npx -y @theyahia/chestnyznak-mcp

Streamable HTTP

npx @theyahia/chestnyznak-mcp --http --port=3000
# Endpoint: POST http://127.0.0.1:3000/mcp
# Health:   GET  http://127.0.0.1:3000/health

По умолчанию HTTP-сервер слушает только 127.0.0.1 и проверяет заголовок Host (защита от DNS-rebinding). Чтобы открыть наружу — --host=0.0.0.0 (на свой риск, аутентификации на /mcp нет).

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

ПеременнаяОбязательнаОписание
CHESTNYZNAK_TOKENНетТокен True API для инструментов search_products, get_cis_info. См. «Авторизация».
CHESTNYZNAK_BASE_URLНетOrigin авторизованного API (по умолчанию https://markirovka.crpt.ru). Допускаются только https хосты *.crpt.ru / *.crptech.ru.
CHESTNYZNAK_PUBLIC_BASE_URLНетБазовый URL публичного API (по умолчанию https://mobile.api.crpt.ru/mobile). Удобно для моков в тестах.

Инструменты (5)

Публичные (без авторизации)

ИнструментАргументыОписание
check_marking_codecode, codeType?Проверка подлинности по коду маркировки
get_product_infocode, codeType?Подробная информация: название, группа, производитель, владелец
check_batchcodes[], codeType?Пакетная проверка до 50 кодов (параллелизм ограничен)

codeTypedatamatrix (по умолчанию), qr или ean13.

Авторизованные (CHESTNYZNAK_TOKEN)

ИнструментАргументыОписание
search_productsquery (GTIN)Информация о товаре по GTIN из True API
get_cis_infocisИнформация о CIS (коде идентификации) из True API

Поиск по названию/бренду — это Национальный каталог (nk.crpt.ru), отдельный API; здесь не поддерживается. search_products работает по GTIN.

Формат ответа

check_marking_code:

{ "code": "0104600702028445", "found": true, "valid": true, "status": "INTRODUCED" }

get_product_info (поля producer/owner/status берутся из вложенного объекта группы товара, при отсутствии — null):

{
  "code": "0104600702028445",
  "found": true,
  "valid": true,
  "status": "INTRODUCED",
  "productName": "Молоко 3.2%",
  "category": "milk",
  "producerName": "АО \"Данон Россия\"",
  "ownerName": "ООО Магнит",
  "ownerInn": "2309085638"
}

status — строковый enum: EMITTED / APPLIED / INTRODUCED / RETIRED / WRITTEN_OFF / DISAGGREGATION и др.

Каждый инструмент дополнительно возвращает structuredContent (типизированный объект по outputSchema), помимо текстового JSON.

Примеры

Проверь код маркировки 0104600702028445
Расскажи подробнее о товаре с кодом 010460070202844521
Проверь пачку кодов: 0104600702028445, 0104600702028446
Информация о товаре с GTIN 04600702028445
Информация о CIS 0104600702028445

Авторизация (True API)

⚠️ Важно: у True API (ГИС МТ) нет статичного «вечного» токена. Токен получают по схеме «запрос-подпись» сертификатом УКЭП (ГОСТ):

  1. GET /api/v3/true-api/auth/key{ uuid, data }
  2. Подписать data сертификатом УКЭП (CAdES-BES, base64).
  3. POST /api/v3/true-api/auth/simpleSignIn { uuid, data: <подпись> } → токен.
  4. Срок жизни токена — не более ~10 часов, далее повторная авторизация.

Этот сервер использует CHESTNYZNAK_TOKEN как уже полученный таким образом токен (он отправляется как Authorization: Bearer). Подпись УКЭП выполняется вне сервера (например, через КриптоПро) — встроенного ГОСТ-подписания здесь нет. Регистрация доступна юрлицам/ИП на markirovka.crpt.ru.

Эндпоинты/методы авторизованной части (пути, тело запроса) выверены по официальной документации и открытым клиентам, но не проверены против живого токена из-за требования УКЭП. Если ЦРПТ изменит контракт — поправьте через CHESTNYZNAK_BASE_URL.

Skills

SkillТриггер
skill-check-product«Проверь маркировку товара по коду»
skill-search«Найди товар по GTIN»

Troubleshooting

СимптомПричина / решение
CHESTNYZNAK_TOKEN не заданИнструменты search_products/get_cis_info требуют токен (см. «Авторизация»).
таймаут запроса / все попытки исчерпаныСеть/недоступность API; сервер делает до 3 попыток с backoff. Публичный API может не отвечать с не-РФ IP.
HTTP 401 / HTTP 403Токен невалиден или истёк (~10ч) — получите заново.
HTTP 429Рейт-лимит; сервер повторяет автоматически. Для batch уменьшите размер пачки.
CHESTNYZNAK_BASE_URL отклонёнOverride должен быть https и хостом *.crpt.ru/*.crptech.ru.

API

  • Публичный (без авторизации): GET https://mobile.api.crpt.ru/mobile/check?code=<код>&codeType=<тип> — недокументированный эндпоинт мобильного приложения.
  • Авторизованный (Bearer): https://markirovka.crpt.ru/api/v3/true-api/... — True API (ГИС МТ).

Разработка

npm ci
npm run typecheck   # tsc --noEmit (src + tests)
npm test            # vitest
npm run build       # tsc -> dist/
npm run dev         # tsx watch (stdio)
npm run dev:http    # tsx watch (HTTP)

Лицензия

MIT


Часть WWmcp · Telegram: @vhodvai

Signals

GitHub stars
5
Forks
2
Last commit
Sep 2026
Advanced
Delivery
chestnyznak-mcp MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
io-github-theyahia-chestnyznak-mcp
Source
github.com/theyahia/chestnyznak-mcp