Chestnyznak Mcp

io.github.theYahia由 GitHub 账号 theYahia 发布v1.0.0更新于 Nov 3, 2026

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

概览

AI 生成的概览

面向俄罗斯 Chestny ZNAK(Честный ЗНАК)商品标记系统的 MCP 服务器,让助手查询 DataMatrix、QR 或 EAN-13 编码及商品信息。

可以做什么
  • 校验标记码的真伪与状态,并获取商品名称、类别、生产商和所有者等详情
  • 一次批量校验最多 50 个编码,并发数受限
  • 提供令牌时,可通过授权的 True API 按 GTIN 查询商品信息、查询识别码(CIS)信息
  • 每个工具除文本 JSON 外还返回带类型的结构化内容
适用场景
适合在对话中核验俄罗斯商品标记码、查看标记状态与所有者,而不必登录 Chestny ZNAK 网页后台。公开校验无需注册即可使用;True API 查询需要自行获取的令牌。
运行要求
通过 npx 在本地运行(需要 Node.js)。公开工具无需凭据。search_products 与 get_cis_info 需要 CHESTNYZNAK_TOKEN 中的 True API 令牌,该令牌须在服务器之外用 УКЭП 证书签名获取。可选 CHESTNYZNAK_BASE_URL 与 CHESTNYZNAK_PUBLIC_BASE_URL 覆盖地址。需能访问 crpt.ru 网络;公开 API 在非俄罗斯 IP 下可能无响应。
安装前请注意
CHESTNYZNAK_TOKEN 中的令牌是 Bearer 凭据,有效期约 10 小时,且须在本服务器之外用 УКЭП 证书签名取得。授权接口虽按文档实现,但据说明未用真实令牌验证过。公开校验使用未公开的移动应用接口。可选的 HTTP 模式对 /mcp 没有身份验证,对外开放需自行承担风险。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Chestnyznak Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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

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

[npm] [License: MIT]

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

Установка

Claude Desktop

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

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

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

Claude Code

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

Streamable HTTP

bash
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 кодов (параллелизм ограничен)

codeType — datamatrix (по умолчанию), 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:

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

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

json
{  "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 (ГИС МТ).

Разработка

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

Лицензия

MIT


Часть WWmcp · Telegram: @vhodvai

来源:README.md,提交 cb7b731

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分