МойСклад
Коннектор МойСклад
Подключение: https://mcp.legalstack.ru/mcp/moysklad или в составе агрегированного сервера https://mcp.legalstack.ru/mcp.
Имя сервера: legalstack-moysklad. Инструментов: 14.
moysklad_create_assortment
⚠ Outward-facing: создаёт товар или услугу в номенклатуре внешней системы МойСклад. Перед созданием проверь дубль через moysklad_find_assortment. Цена продажи не задаётся при создании — укажи её в позиции счёта (priceRub). Возвращает: { id, type, name, code? }.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"product",
"service"
],
"description": "product — товар, service — услуга"
},
"name": {
"type": "string",
"description": "Название (например: Юридическая консультация)"
},
"description": {
"description": "Описание",
"type": "string"
},
"code": {
"description": "Код номенклатуры",
"type": "string"
},
"article": {
"description": "Артикул (только для товара)",
"type": "string"
}
},
"required": [
"type",
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_create_invoice
⚠ Outward-facing: создаёт счёт покупателю (invoiceout) во внешней системе МойСклад. organizationId — из moysklad_search_organization; counterpartyId — из moysklad_search_counterparty; позиции — из moysklad_find_assortment. Цены указываются в рублях (переводятся в копейки автоматически). Возвращает: { id, name, sumRub, agent, organization }.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Номер счёта (например: 2026-071)"
},
"organizationId": {
"type": "string",
"description": "ID вашего юрлица в МойСклад"
},
"counterpartyId": {
"type": "string",
"description": "ID контрагента-покупателя в МойСклад"
},
"positions": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"assortmentId": {
"type": "string",
"description": "ID товара/услуги из moysklad_find_assortment"
},
"assortmentType": {
"type": "string",
"enum": [
"product",
"service",
"bundle",
"variant"
],
"description": "Тип номенклатуры (поле type из moysklad_find_assortment)"
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Количество"
},
"priceRub": {
"type": "number",
"minimum": 0,
"description": "Цена за единицу в рублях"
},
"vat": {
"description": "Ставка НДС в процентах (не указывай, если без НДС)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"discount": {
"description": "Скидка в процентах",
"type": "number"
}
},
"required": [
"assortmentId",
"assortmentType",
"quantity",
"priceRub"
]
},
"description": "Позиции счёта"
},
"moment": {
"description": "Дата счёта: YYYY-MM-DD HH:MM:SS (по умолчанию сейчас)",
"type": "string"
},
"paymentPlannedMoment": {
"description": "Планируемая дата оплаты: YYYY-MM-DD HH:MM:SS",
"type": "string"
},
"description": {
"description": "Комментарий к счёту",
"type": "string"
},
"contractId": {
"description": "ID договора МойСклад (из moysklad_list_entities type=contract)",
"type": "string"
},
"projectId": {
"description": "ID проекта МойСклад",
"type": "string"
}
},
"required": [
"name",
"organizationId",
"counterpartyId",
"positions"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_create_kontragent
⚠ Outward-facing: создаёт контрагента во внешней системе МойСклад. Перед созданием проверь дубль через moysklad_search_counterparty (по ИНН). Возвращает: { id, name, inn, kpp }.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Наименование (например: ООО «Ромашка»)"
},
"companyType": {
"description": "Тип: legal (юрлицо, по умолчанию), entrepreneur (ИП), individual (физлицо)",
"type": "string",
"enum": [
"legal",
"entrepreneur",
"individual"
]
},
"legalTitle": {
"description": "Полное юридическое наименование",
"type": "string"
},
"inn": {
"description": "ИНН",
"type": "string"
},
"kpp": {
"description": "КПП (для юрлиц)",
"type": "string"
},
"ogrn": {
"description": "ОГРН",
"type": "string"
},
"legalAddress": {
"description": "Юридический адрес",
"type": "string"
},
"email": {
"description": "Email",
"type": "string"
},
"phone": {
"description": "Телефон",
"type": "string"
},
"description": {
"description": "Комментарий",
"type": "string"
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_find_assortment
Поиск товара/услуги/комплекта в номенклатуре МойСклад по названию, коду или артикулу. Только чтение. Используй перед moysklad_create_invoice, чтобы получить id и type позиций. Возвращает: { rows: [{ id, type, name, code?, article?, salePriceRub? }], total }.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Строка поиска (название, код, артикул)"
},
"limit": {
"description": "Количество результатов (по умолчанию 25)",
"type": "number"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_get_document
Документ МойСклад по ID с позициями (развёрнуты контрагент, организация и номенклатура позиций). Только чтение. Возвращает: полный объект документа МойСклад; суммы и цены в копейках.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"customerorder",
"invoiceout",
"invoicein",
"demand",
"supply",
"paymentin",
"paymentout",
"factureout"
],
"description": "Тип документа"
},
"id": {
"type": "string",
"description": "ID документа (UUID)"
}
},
"required": [
"type",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_get_entity
Одна сущность МойСклад по ID (сырые данные с банковскими счетами). Только чтение. Для канонизированного вида — moysklad_resolve_entity. Возвращает: объект сущности.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"counterparty",
"organization"
],
"description": "Тип сущности"
},
"id": {
"type": "string",
"description": "ID сущности (UUID)"
}
},
"required": [
"type",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_list_dictionaries
Список сущностей из справочника МойСклад (сырые данные без маппинга). Только чтение. Возвращает: объект { rows, meta } или текст «Записи не найдены».
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"counterparty",
"organization"
],
"description": "Тип сущности"
},
"limit": {
"description": "Количество записей (по умолчанию 100)",
"type": "number"
},
"offset": {
"description": "Смещение для пагинации",
"type": "number"
},
"search": {
"description": "Строка поиска",
"type": "string"
}
},
"required": [
"type"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_list_documents
Документы МойСклад: счета покупателям (invoiceout), заказы (customerorder), отгрузки (demand), приёмки (supply), счета поставщиков (invoicein), входящие платежи (paymentin), исходящие платежи (paymentout), счета-фактуры (factureout). Только чтение. filter — синтаксис МойСклад, например: moment>2026-01-01 00:00:00. Возвращает: { rows: [{ id, name, moment, sumRub, agent, organization, state?, paymentPlannedMoment? }], total }.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"customerorder",
"invoiceout",
"invoicein",
"demand",
"supply",
"paymentin",
"paymentout",
"factureout"
],
"description": "Тип документа"
},
"search": {
"description": "Текстовый поиск (по номеру и комментарию)",
"type": "string"
},
"filter": {
"description": "Фильтр МойСклад",
"type": "string"
},
"limit": {
"description": "Количество записей (по умолчанию 50)",
"type": "number"
},
"offset": {
"description": "Смещение для пагинации",
"type": "number"
}
},
"required": [
"type"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_list_entities
Справочники МойСклад: товары, услуги, комплекты, модификации, договоры, проекты, склады, валюты, единицы измерения, сотрудники. Только чтение. Контрагенты и организации — moysklad_search_counterparty / moysklad_search_organization. filter — синтаксис МойСклад, например: name~Иванов или sum>10000. Возвращает: { rows: [{ id, type, name, ... , salePriceRub?, sumRub? }], total }.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"product",
"service",
"bundle",
"variant",
"contract",
"project",
"store",
"currency",
"uom",
"employee"
],
"description": "Тип справочника"
},
"search": {
"description": "Текстовый поиск",
"type": "string"
},
"filter": {
"description": "Фильтр МойСклад (поле=значение; ~ содержит; >,< сравнение)",
"type": "string"
},
"limit": {
"description": "Количество записей (по умолчанию 100)",
"type": "number"
},
"offset": {
"description": "Смещение для пагинации",
"type": "number"
}
},
"required": [
"type"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_print_document
Сформировать печатную форму документа МойСклад (PDF/XLS) по шаблону. Только чтение из МойСклад. Файл возвращается в base64. templateName — подстрока названия шаблона (например: «Счет покупателю с печатью»); без него берётся первый доступный шаблон. Возвращает: объект с именем файла, размером и расположением.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"customerorder",
"invoiceout",
"invoicein",
"demand",
"supply",
"paymentin",
"paymentout",
"factureout"
],
"description": "Тип документа"
},
"id": {
"type": "string",
"description": "ID документа (UUID)"
},
"extension": {
"description": "Формат файла (по умолчанию pdf)",
"type": "string",
"enum": [
"pdf",
"xls",
"ods",
"html"
]
},
"templateName": {
"description": "Название шаблона печати (подстрока)",
"type": "string"
}
},
"required": [
"type",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_resolve_entity
Полные канонизированные данные сущности МойСклад по типу и ID (с банковскими реквизитами). Только чтение. ID берётся из moysklad_search_*. Сырые данные — moysklad_get_entity. Возвращает: объект сущности.
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"counterparty",
"organization"
],
"description": "Тип сущности"
},
"id": {
"type": "string",
"description": "ID сущности в МойСклад (UUID)"
}
},
"required": [
"type",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_search_counterparty
Поиск контрагента в МойСклад по тексту (наименование, ИНН и т.п.). Только чтение. Полные данные по ID — moysklad_resolve_entity. Возвращает: массив контрагентов с канонизированными полями или текст «Контрагенты не найдены».
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Строка поиска (наименование, ИНН и т.д.)"
},
"limit": {
"description": "Количество результатов (по умолчанию 25)",
"type": "number"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_search_organization
Поиск собственной организации (юрлица) в МойСклад по тексту. Только чтение. Возвращает: массив организаций с канонизированными полями или текст «Организации не найдены».
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Строка поиска"
},
"limit": {
"description": "Количество результатов (по умолчанию 25)",
"type": "number"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}moysklad_status
Статус подключения интеграции МойСклад. Только чтение. Возвращает: текст «подключён» / «не подключён».
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}