chestny-znak-mcp-ru
# chestny-znak-mcp-ru
<!-- mcp-name: io.github.ilyautov/chestny-znak-mcp-ru -->
API Честного знака (ГИС МТ и СУЗ) для ИИ-ассистентов: сведения о кодах маркировки, выгрузка по фильтру, маршрут товара по GTIN, заказы на эмиссию, отчёты о нанесении, проверка подлинности.
[](https://pypi.org/project/chestny-znak-mcp-ru/)
[](https://github.com/ilyautov/chestny-znak-mcp-ru/actions/workflows/ci.yml)
[](LICENSE)
[](#карта-методов)
[](https://business-mcp-ru.aifrontier.tech/chestny-znak-api.html)
[](https://github.com/ilyautov/chestny-znak-mcp-ru/stargazers)
[](https://vscode.dev/redirect/mcp/install?name=crpt&config=%7B%22command%22%3A%20%22uvx%22%2C%20%22args%22%3A%20%5B%22chestny-znak-mcp-ru%22%5D%2C%20%22env%22%3A%20%7B%22CRPT_TOKEN%22%3A%20%22%24%7Binput%3Acrpt_token%7D%22%7D%7D&inputs=%5B%7B%22id%22%3A%20%22crpt_token%22%2C%20%22type%22%3A%20%22promptString%22%2C%20%22description%22%3A%20%22%D0%A2%D0%BE%D0%BA%D0%B5%D0%BD%20%D0%93%D0%98%D0%A1%20%D0%9C%D0%A2%2C%20%D0%B2%D1%8B%D0%B4%D0%B0%D1%91%D1%82%D1%81%D1%8F%20%D0%B2%20%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%20%D0%BD%D0%B0%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%2C%20%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%9A%D0%AD%D0%9F.%20%D0%96%D0%B8%D0%B2%D1%91%D1%82%20%D0%BE%D0%BA%D0%BE%D0%BB%D0%BE%2010%20%D1%87%D0%B0%D1%81%D0%BE%D0%B2.%22%2C%20%22password%22%3A%20true%7D%5D)
[](https://cursor.com/en/install-mcp?name=crpt&config=eyJjb21tYW5kIjogInV2eCIsICJhcmdzIjogWyJjaGVzdG55LXpuYWstbWNwLXJ1Il0sICJlbnYiOiB7IkNSUFRfVE9LRU4iOiAiIn19)
<p align="center">
<a href="https://business-mcp-ru.aifrontier.tech/">
<img src="assets/social-preview.png" alt="chestny-znak-mcp-ru: API Честного знака (ГИС МТ) в ИИ-ассистенте. 33 метода, поиск метода словами, гейт безопасности перед записью" width="760">
</a>
</p>
Каталог собран из первоисточника (открытые SDK True API и СУЗ) и лежит в репозитории как
`crpt_mcp/endpoints.yaml`: **33 метода**, из них 24 на чтение,
9 на запись и 0 необратимых. Сервер исполняет ровно этот файл,
поэтому таблица ниже не может разойтись с кодом.
> Документация ЦРПТ открыта: <https://docs.crpt.ru/gismt/True_API/>. Машиночитаемой спеки при этом нет, `/api/v3/true-api/swagger.json` отдаёт 401, поэтому каталог не сгенерирован из спеки, а собран по открытым SDK, и у каждой записи стоит `verified: false`. Это карта для разведки: пути надёжные, глаголы и параметры сверяются с документацией и на живом контуре. Сервер показывает этот статус в `describe_method`, чтобы агент не выдавал догадку за факт.
## Установка
Два пути, выбирайте по тому, есть ли у вас терминал.
### Без терминала: файл .mcpb
Скачайте `chestny-znak-mcp-ru-vX.Y.Z.mcpb` со [страницы релизов](https://github.com/ilyautov/chestny-znak-mcp-ru/releases/latest)
и откройте двойным щелчком. Claude Desktop поставит сервер сам и спросит ключи
в отдельном окне, в конфиг лезть не придётся. Нужен Python 3.10 или новее:
зависимости сервер доставит себе при первом запуске.
### В терминале
```bash
uvx chestny-znak-mcp-ru
```
Claude Desktop, `claude_desktop_config.json`:
```json
{
"mcpServers": {
"crpt-mcp": {
"command": "uvx",
"args": ["chestny-znak-mcp-ru"],
"env": { "CRPT_TOKEN": "..." }
}
}
}
```
## Ключи
`GET /api/v3/true-api/auth/key` отдаёт случайные данные, их подписывают КЭП через КриптоПро на машине пользователя, а `POST /api/v3/true-api/auth/simpleSignIn` меняет подпись на токен. Токен живёт около 10 часов. Закрытый ключ в сервер не попадает.
| переменная | секрет | что это |
|---|---|---|
| `CRPT_TOKEN` | да | Токен ГИС МТ, выдаётся в обмен на данные, подписанные КЭП. Живёт около 10 часов. |
Ключи можно не держать в окружении: сервер умеет кабинеты и кладёт их в
`~/.ru-mcp/cabinets.json` с правами 600, вне репозитория.
## Карта методов
| раздел | методов | чтение | запись | необратимое |
|---|---|---|---|---|
| Проверка кодов | 8 | 7 | 1 | 0 |
| Коды маркировки | 6 | 5 | 1 | 0 |
| Заказы на эмиссию | 5 | 3 | 2 | 0 |
| Служебные | 4 | 4 | 0 | 0 |
| Чеки | 3 | 1 | 2 | 0 |
| Авторизация | 2 | 1 | 1 | 0 |
| Документы ГИС МТ | 2 | 2 | 0 | 0 |
| Отчёты о нанесении | 2 | 0 | 2 | 0 |
| Товары и GTIN | 1 | 1 | 0 | 0 |
| **всего** | **33** | **24** | **9** | **0** |
## Как это выглядит в чате
Вы: коды маркировки в обороте
```
crpt_search_methods("коды маркировки в обороте")
crpt_gis_cises_my GET /api/v3/true-api/cises/my чтение
crpt_gis_cis_outcheck GET /api/v1/cis/outCheck чтение
crpt_suz_codes GET /api/v3/codes чтение
crpt_describe_method("crpt_gis_cises_my")
Коды маркировки, принадлежащие участнику оборота
GET markirovka.crpt.ru/api/v3/true-api/cises/my
параметры: нет
класс доступа: чтение
crpt_call_method("crpt_gis_cises_my", {})
```
Три инструмента вместо 33 функций: агент ищет метод словами,
читает его карточку и вызывает. Запись и необратимое спрашивают подтверждение.
Что обычно просят:
- Проверить пачку кодов маркировки перед приёмкой товара.
- Посмотреть статус заказа на эмиссию кодов в СУЗ.
- Выгрузить коды, принадлежащие участнику оборота.
- Посмотреть маршрут товара по GTIN.
## Безопасность
Сервер работает на машине пользователя, ключи наружу не уходят. У методов три
класса доступа: чтение идёт сразу, запись и необратимые действия требуют
подтверждения. Заголовок авторизации не покидает домены сервиса даже при вызове
произвольного пути.
## Проверить установку
```bash
uvx chestny-znak-mcp-ru doctor
```
Печатает, сколько методов загрузилось, найдены ли ключи и откуда. Секреты не
показывает. С `--live` делает один дешёвый реальный вызов на чтение.
## Родня
Ядро вынесено в [schema-mcp-core](https://github.com/ilyautov/schema-mcp-core).
Соседние серверы: [hh-mcp-ru](https://github.com/ilyautov/hh-mcp-ru), [vk-mcp-ru](https://github.com/ilyautov/vk-mcp-ru), [diadoc-mcp-ru](https://github.com/ilyautov/diadoc-mcp-ru), [sbis-mcp-ru](https://github.com/ilyautov/sbis-mcp-ru).
Маркетплейсы живут отдельно: [marketplaces-mcp-ru](https://github.com/ilyautov/marketplaces-mcp-ru).
MIT. Автор [Илья Утов](https://github.com/ilyautov).
Все проекты одним списком, разобранные по назначению:
[ilyautov.github.io](https://ilyautov.github.io/).
## Privacy Policy
chestny-znak-mcp-ru не собирает и не передаёт ваши данные: ключи лежат локально в
`~/.ru-mcp/cabinets.json`, запросы идут только в API Честный знак (ГИС МТ и СУЗ), телеметрии нет.
Полный текст: [PRIVACY_POLICY.md](https://github.com/ilyautov/chestny-znak-mcp-ru/blob/main/PRIVACY_POLICY.md).
TDQS
Scored across 18 tools
Each tool has a clearly distinct role: catalog discovery (describe, list sections, get section, search, map), execution (read, write, delete via catalog or raw path, fetch all), and credential/cabinet management (check, list, add, set key, use, remove). Though several tools browse the catalog, their inputs and outputs are differentiated well enough that an agent should not confuse them.
All tool names share the consistent crpt_ prefix and a snake_case verb_noun pattern (list_sections, get_section, search_methods, call_method, add_cabinet, remove_cabinet). The only slightly off-pattern name is crpt_map, but it still fits the discoverability theme and does not break overall consistency.
At 18 tools the server is on the heavier side, but each tool serves a distinct purpose across catalog introspection, generic API execution, raw-path fallback, pagination, and credential management. This is slightly above the ideal 3-15 range but remains justified for the server's broad scope.
The tool surface covers the full workflow: discovering endpoints, invoking reads/writes/deletes safely, bypassing catalog gaps via raw calls, fetching large result sets, and managing multiple credential cabinets. There are no obvious dead ends for the stated purpose of working with the Честный знак API.