Xonta Docs RU
Russian docs for AI agents: invoices/acts PDF, document parsing, INN checks, medical ad checks
사용해야 할까요
품질 및 안전성
발견 사항 (5)
- LOWamount_in_words에서
- LOWdecline_name에서
- LOWtypograph에서
- LOWtransliterate에서
- LOWparse_document에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"xonta-docs": {
"url": "https://mcp.xonta.ru/mcp"
}
}
}원격 엔드포인트
https://mcp.xonta.ru/mcpstreamable-http할 수 있는 일
도구 목록
도구 (11)
🟢validate_requisites(inn, kpp, ogrn, bik, account, ...)
Проверяет российские реквизиты по контрольным суммам: ИНН (10/12 цифр), КПП, ОГРН/ОГРНИП, БИК, расчётный и корреспондентский счёт (ключевание по БИК), СНИЛС. Находит опечатки до выставления счёта или платежа и указывает, если реквизиты похожи на реквизиты разных лиц. Validates Russian company/bank identifiers (INN, KPP, OGRN, BIC, bank account, SNILS) by checksums. Offline, instant.
입력 스키마
{
"type": "object",
"properties": {
"inn": {
"type": [
"string",
"number"
],
"description": "ИНН, 10 или 12 цифр"
},
"kpp": {
"type": [
"string",
"number"
],
"description": "КПП, 9 символов"
},
"ogrn": {
"type": [
"string",
"number"
],
"description": "ОГРН (13 цифр) или ОГРНИП (15 цифр)"
},
"bik": {
"type": [
"string",
"number"
],
"description": "БИК банка, 9 цифр. Нужен для проверки счетов"
},
"account": {
"type": [
"string",
"number"
],
"description": "Расчётный счёт, 20 цифр"
},
"corr_account": {
"type": [
"string",
"number"
],
"description": "Корреспондентский счёт банка, 20 цифр"
},
"snils": {
"type": [
"string",
"number"
],
"description": "СНИЛС, 11 цифр (можно с дефисами и пробелом)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢amount_in_words(amount, currency, vat_rate, vat_included, kopecks)
Сумма прописью для счетов, актов и договоров: «Одна тысяча двести тридцать четыре рубля 56 копеек». Считает НДС (в том числе или сверху) и выдаёт готовую строку «…, в том числе НДС (22%) 222 руб. 63 коп.». Рубли, доллары, евро, юани. Russian 'amount in words' for invoices with VAT line.
입력 스키마
{
"type": "object",
"properties": {
"amount": {
"type": [
"string",
"number"
],
"description": "Сумма: 1234.56 или «1 234,56»"
},
"currency": {
"type": "string",
"enum": [
"RUB",
"USD",
"EUR",
"CNY"
],
"description": "Валюта, по умолчанию RUB"
},
"vat_rate": {
"type": [
"string",
"number"
],
"description": "Ставка НДС в процентах (22, 20, 10, 7, 5, 0) или «без НДС». Не указывать — НДС не считается"
},
"vat_included": {
"type": "boolean",
"description": "true (по умолчанию) — НДС уже в сумме; false — начислить сверху"
},
"kopecks": {
"type": "string",
"enum": [
"digits",
"words"
],
"description": "Копейки цифрами (по умолчанию) или словами"
}
},
"required": [
"amount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢decline_name(full_name, last_name, first_name, middle_name, position, ...)
Склоняет ФИО и должность по падежам для договоров, доверенностей и приказов: «в лице генерального директора Иванова Ивана Петровича», «выдана Кузнецовой Анне Сергеевне». Сам определяет пол по отчеству или имени, возвращает полную форму и инициалы. case=all — все шесть падежей сразу. Declines Russian full names and job titles by grammatical case.
입력 스키마
{
"type": "object",
"properties": {
"full_name": {
"type": [
"string",
"number"
],
"description": "ФИО целиком, по умолчанию в порядке «Фамилия Имя Отчество»"
},
"last_name": {
"type": [
"string",
"number"
],
"description": "Фамилия (вместо full_name)"
},
"first_name": {
"type": [
"string",
"number"
],
"description": "Имя"
},
"middle_name": {
"type": [
"string",
"number"
],
"description": "Отчество"
},
"position": {
"type": [
"string",
"number"
],
"description": "Должность, например «генеральный директор» или «главный бухгалтер»"
},
"case": {
"type": [
"string",
"number"
],
"description": "Падеж: genitive (родительный, по умолчанию), dative, accusative, instrumental, prepositional, nominative, по-русски, или all"
},
"gender": {
"type": "string",
"enum": [
"male",
"female"
],
"description": "Пол, если его нельзя определить по отчеству"
},
"order": {
"type": "string",
"enum": [
"last_first",
"first_last"
],
"description": "Порядок слов в full_name: last_first (по умолчанию) или first_last"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢working_days(date, add_working_days, end_date)
Производственный календарь России с праздниками и переносами. Три режима: (1) date + add_working_days — какая дата будет через N рабочих дней («оплата в течение 5 рабочих дней»); (2) date + end_date — сколько рабочих дней и часов между датами; (3) только date — рабочий ли это день, праздник, сокращённый день и ближайший рабочий день. Russian business-day calendar with official holidays and transfers.
입력 스키마
{
"type": "object",
"properties": {
"date": {
"type": [
"string",
"number"
],
"description": "Дата ГГГГ-ММ-ДД или ДД.ММ.ГГГГ. По умолчанию сегодня (Москва)"
},
"add_working_days": {
"type": "integer",
"description": "Сколько рабочих дней прибавить (можно отрицательное)"
},
"end_date": {
"type": [
"string",
"number"
],
"description": "Конец периода для подсчёта рабочих дней (включительно)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢make_invoice(number, date, items, vat_rate, vat_included, ...)
Формирует счёт на оплату по российской форме: банковский блок получателя, поставщик и покупатель, таблица позиций, итог, НДС или «Без налога (НДС)», сумма прописью, подписи. Перед формированием проверяет ИНН, КПП, БИК и счета по контрольным суммам; при ошибке в реквизитах документ не создаётся. Может добавить срок оплаты в рабочих днях по производственному календарю. Возвращает ссылку на PDF и/или DOCX (действует 24 часа). Generates a Russian invoice (schet na oplatu) as PDF/DOCX.
입력 스키마
{
"type": "object",
"properties": {
"number": {
"type": [
"string",
"number"
],
"description": "Номер документа"
},
"date": {
"type": [
"string",
"number"
],
"description": "Дата ГГГГ-ММ-ДД или ДД.ММ.ГГГГ, по умолчанию сегодня"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"number"
],
"description": "Наименование товара, работы или услуги"
},
"quantity": {
"type": [
"number",
"string"
],
"description": "Количество, по умолчанию 1"
},
"unit": {
"type": [
"string",
"number"
],
"description": "Единица: шт., усл., час, мес. и т. п."
},
"price": {
"type": [
"string",
"number"
],
"description": "Цена за единицу в рублях, например 15000 или 1500.50"
}
},
"required": [
"name",
"price"
],
"additionalProperties": true
},
"maxItems": 200,
"description": "Позиции документа"
},
"vat_rate": {
"type": [
"string",
"number"
],
"description": "НДС: «без НДС» (по умолчанию) или ставка в процентах: 22, 20, 10, 7, 5, 0"
},
"vat_included": {
"type": "boolean",
"description": "true (по умолчанию) — цены уже с НДС; false — начислить НДС сверху"
},
"basis": {
"type": [
"string",
"number"
],
"description": "Основание, например «Договор № 12 от 01.10.2026»"
},
"comment": {
"type": [
"string",
"number"
],
"description": "Дополнительный текст внизу документа"
},
"format": {
"type": "string",
"enum": [
"pdf",
"docx",
"both"
],
"description": "Формат файла: pdf (по умолчанию), docx или both"
},
"include_base64": {
"type": "boolean",
"description": "Вернуть файл ещё и в base64 (по умолчанию только ссылка)"
},
"seller": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"number"
],
"description": "Наименование: «ООО «Ромашка»» или «ИП Иванов Иван Петрович»"
},
"inn": {
"type": [
"string",
"number"
],
"description": "ИНН"
},
"kpp": {
"type": [
"string",
"number"
],
"description": "КПП (у ИП нет)"
},
"ogrn": {
"type": [
"string",
"number"
],
"description": "ОГРН или ОГРНИП"
},
"address": {
"type": [
"string",
"number"
],
"description": "Юридический адрес"
},
"phone": {
"type": [
"string",
"number"
],
"description": "Телефон"
},
"signer_name": {
"type": [
"string",
"number"
],
"description": "ФИО подписанта полностью, например «Иванов Иван Петрович»"
},
"signer_position": {
"type": [
"string",
"number"
],
"description": "Должность подписанта, например «генеральный директор»"
},
"bank_name": {
"type": [
"string",
"number"
],
"description": "Банк получателя, например «ПАО Сбербанк, г. Москва»"
},
"bik": {
"type": [
"string",
"number"
],
"description": "БИК банка"
},
"account": {
"type": [
"string",
"number"
],
"description": "Расчётный счёт"
},
"corr_account": {
"type": [
"string",
"number"
],
"description": "Корреспондентский счёт банка"
},
"accountant_name": {
"type": [
"string",
"number"
],
"description": "ФИО главного бухгалтера (если не указано — подписывает руководитель)"
}
},
"required": [
"name",
"bank_name",
"bik",
"account"
],
"additionalProperties": true,
"description": "Поставщик (получатель денег) с банковскими реквизитами"
},
"buyer": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"number"
],
"description": "Наименование: «ООО «Ромашка»» или «ИП Иванов Иван Петрович»"
},
"inn": {
"type": [
"string",
"number"
],
"description": "ИНН"
},
"kpp": {
"type": [
"string",
"number"
],
"description": "КПП (у ИП нет)"
},
"ogrn": {
"type": [
"string",
"number"
],
"description": "ОГРН или ОГРНИП"
},
"address": {
"type": [
"string",
"number"
],
"description": "Юридический адрес"
},
"phone": {
"type": [
"string",
"number"
],
"description": "Телефон"
},
"signer_name": {
"type": [
"string",
"number"
],
"description": "ФИО подписанта полностью, например «Иванов Иван Петрович»"
},
"signer_position": {
"type": [
"string",
"number"
],
"description": "Должность подписанта, например «генеральный директор»"
}
},
"required": [
"name"
],
"additionalProperties": true,
"description": "Покупатель (плательщик)"
},
"payment_due_working_days": {
"type": "integer",
"description": "Срок оплаты в рабочих днях — в счёт добавится «Оплатить не позднее …»"
}
},
"required": [
"number",
"items",
"seller",
"buyer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢make_act(number, date, items, vat_rate, vat_included, ...)
Формирует акт выполненных работ (оказанных услуг): исполнитель и заказчик, основание, таблица услуг, итог, НДС, сумма прописью, фраза об отсутствии претензий, блок подписей обеих сторон. Проверяет реквизиты сторон по контрольным суммам. Возвращает ссылку на PDF и/или DOCX (действует 24 часа). Generates a Russian services acceptance act (akt) as PDF/DOCX.
입력 스키마
{
"type": "object",
"properties": {
"number": {
"type": [
"string",
"number"
],
"description": "Номер документа"
},
"date": {
"type": [
"string",
"number"
],
"description": "Дата ГГГГ-ММ-ДД или ДД.ММ.ГГГГ, по умолчанию сегодня"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"number"
],
"description": "Наименование товара, работы или услуги"
},
"quantity": {
"type": [
"number",
"string"
],
"description": "Количество, по умолчанию 1"
},
"unit": {
"type": [
"string",
"number"
],
"description": "Единица: шт., усл., час, мес. и т. п."
},
"price": {
"type": [
"string",
"number"
],
"description": "Цена за единицу в рублях, например 15000 или 1500.50"
}
},
"required": [
"name",
"price"
],
"additionalProperties": true
},
"maxItems": 200,
"description": "Позиции документа"
},
"vat_rate": {
"type": [
"string",
"number"
],
"description": "НДС: «без НДС» (по умолчанию) или ставка в процентах: 22, 20, 10, 7, 5, 0"
},
"vat_included": {
"type": "boolean",
"description": "true (по умолчанию) — цены уже с НДС; false — начислить НДС сверху"
},
"basis": {
"type": [
"string",
"number"
],
"description": "Основание, например «Договор № 12 от 01.10.2026»"
},
"comment": {
"type": [
"string",
"number"
],
"description": "Дополнительный текст внизу документа"
},
"format": {
"type": "string",
"enum": [
"pdf",
"docx",
"both"
],
"description": "Формат файла: pdf (по умолчанию), docx или both"
},
"include_base64": {
"type": "boolean",
"description": "Вернуть файл ещё и в base64 (по умолчанию только ссылка)"
},
"seller": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"number"
],
"description": "Наименование: «ООО «Ромашка»» или «ИП Иванов Иван Петрович»"
},
"inn": {
"type": [
"string",
"number"
],
"description": "ИНН"
},
"kpp": {
"type": [
"string",
"number"
],
"description": "КПП (у ИП нет)"
},
"ogrn": {
"type": [
"string",
"number"
],
"description": "ОГРН или ОГРНИП"
},
"address": {
"type": [
"string",
"number"
],
"description": "Юридический адрес"
},
"phone": {
"type": [
"string",
"number"
],
"description": "Телефон"
},
"signer_name": {
"type": [
"string",
"number"
],
"description": "ФИО подписанта полностью, например «Иванов Иван Петрович»"
},
"signer_position": {
"type": [
"string",
"number"
],
"description": "Должность подписанта, например «генеральный директор»"
}
},
"required": [
"name"
],
"additionalProperties": true,
"description": "Исполнитель"
},
"buyer": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"number"
],
"description": "Наименование: «ООО «Ромашка»» или «ИП Иванов Иван Петрович»"
},
"inn": {
"type": [
"string",
"number"
],
"description": "ИНН"
},
"kpp": {
"type": [
"string",
"number"
],
"description": "КПП (у ИП нет)"
},
"ogrn": {
"type": [
"string",
"number"
],
"description": "ОГРН или ОГРНИП"
},
"address": {
"type": [
"string",
"number"
],
"description": "Юридический адрес"
},
"phone": {
"type": [
"string",
"number"
],
"description": "Телефон"
},
"signer_name": {
"type": [
"string",
"number"
],
"description": "ФИО подписанта полностью, например «Иванов Иван Петрович»"
},
"signer_position": {
"type": [
"string",
"number"
],
"description": "Должность подписанта, например «генеральный директор»"
}
},
"required": [
"name"
],
"additionalProperties": true,
"description": "Заказчик"
}
},
"required": [
"number",
"items",
"seller",
"buyer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_foreign_words(text, allow)
Помогает подготовить текст для потребителей (сайт, карточка товара, рассылка, реклама, вывеска) с учётом требований об использовании русского языка, действующих с 1 марта 2026 года. Находит слова латиницей, жаргонные англицизмы (дедлайн, кэшбэк, сейл) с вариантами русских замен и распространённые заимствования, которые стоит сверить со словарём. Это автоматическая подсказка, а не юридическое заключение: сервис не сверяет текст с нормативными словарями, утверждёнными распоряжением Правительства № 1102-р. Highlights Latin-script words and anglicisms in Russian consumer-facing text, with Russian replacements. Not legal advice.
입력 스키마
{
"type": "object",
"properties": {
"text": {
"type": [
"string",
"number"
],
"description": "Текст для проверки, до 50 000 символов"
},
"allow": {
"type": [
"string",
"number"
],
"description": "Товарные знаки и названия, которые не нужно отмечать, через запятую: «Nike, Яндекс Маркет»"
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢typograph(text, format)
Приводит русский текст к типографским правилам: кавычки «ёлочки» и „лапки“ для вложенных, длинное тире, многоточие, диапазоны чисел через короткое тире, неразрывные пробелы после предлогов и союзов, перед частицами, между числом и единицей измерения или валютой, в сокращениях. Можно получить результат с для HTML. Russian typography: quotes, dashes, non-breaking spaces.
입력 스키마
{
"type": "object",
"properties": {
"text": {
"type": [
"string",
"number"
],
"description": "Текст"
},
"format": {
"type": "string",
"enum": [
"text",
"html"
],
"description": "html — дополнительно вернуть вариант с "
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢transliterate(text, system)
Переводит кириллицу в латиницу по выбранной системе: passport — как в загранпаспорте и на банковских картах (приказ МВД № 889, рекомендации ИКАО), gost — ГОСТ 7.79-2000 система Б, slug — для адресов страниц и имён файлов (строчные буквы и дефисы). Cyrillic to Latin transliteration.
입력 스키마
{
"type": "object",
"properties": {
"text": {
"type": [
"string",
"number"
],
"description": "Текст на кириллице"
},
"system": {
"type": "string",
"enum": [
"passport",
"gost",
"slug"
],
"description": "Система: passport (по умолчанию), gost или slug"
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢parse_document(url, base64, filename, include_text)
Извлекает данные из российского документа в PDF или DOCX с текстовым слоем: тип, номер и дату, продавца и покупателя (название, ИНН, КПП, ОГРН, адрес), банковские реквизиты, основание, позиции (наименование, количество, единица, цена, сумма), итог, НДС и сумму прописью. Сразу проверяет ИНН, КПП, БИК и счета по контрольным суммам, сверяет сумму позиций с итогом и расчёт НДС. Разбор по правилам: что не найдено, возвращается пустым, а не выдумывается. Сканы и фото без текстового слоя пока не поддерживаются. Файл не сохраняется. Extracts structured data from Russian invoices, acts, UPD and contracts (PDF/DOCX).
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": [
"string",
"number"
],
"description": "Публичная ссылка на PDF или DOCX (до 10 МБ)"
},
"base64": {
"type": [
"string",
"number"
],
"description": "Или содержимое файла в base64"
},
"filename": {
"type": [
"string",
"number"
],
"description": "Имя файла, если передаёте base64, например schet.pdf"
},
"include_text": {
"type": "boolean",
"description": "Вернуть также распознанный текст документа"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_medical_text(text, kind, channel)
Проверяет текст карточки товара на маркетплейсе или рекламы по статьям 24 и 25 закона «О рекламе» и постановлению Правительства № 821 (проверка карточек с 1 октября 2026): есть ли обязательное предупреждение («Не является лекарственным средством» для БАД; о противопоказаниях, инструкции или консультации специалиста — для лекарств, медизделий и медуслуг), найден ли номер регистрации и верен ли его формат (РЗН, ФСР, ЛП, СГР), а также подсвечивает рискованные формулировки: обещания излечения, гарантии, «без побочных эффектов», отзывы и благодарности, лечебные свойства у БАД. Это подсказка, а не юридическое заключение: номера не сверяются с госреестрами. Checks Russian medical product cards and ads against advertising law. Not legal advice.
입력 스키마
{
"type": "object",
"properties": {
"text": {
"type": [
"string",
"number"
],
"description": "Текст карточки товара или рекламы, до 30 000 символов"
},
"kind": {
"type": "string",
"enum": [
"drug",
"device",
"supplement",
"service"
],
"description": "Тип: drug — лекарство, device — медизделие, supplement — БАД, service — медуслуга. Если не указать, определится по тексту"
},
"channel": {
"type": "string",
"enum": [
"card",
"ad"
],
"description": "card — карточка товара (по умолчанию), ad — реклама"
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거