# МойСклад

> Инструменты раздела «МойСклад»: 9

Подключение: `https://mcp.legalstack.ru/mcp/moysklad` или в составе общего подключения `https://mcp.legalstack.ru/mcp`.

## Создать контрагента в МойСклад

`create_moysklad_counterparty` · изменяет данные

Описание для модели: Create a counterparty in MoySklad or return the existing one. When a counterparty with the same tax number exists it is returned with created false.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `name` | string | да | Short name, such as ООО Ромашка. Длина: 1–255. |
| `legal_form` | string | нет | Legal form, a company by default. Значения: `Юридическое лицо`, `Индивидуальный предприниматель`, `Физическое лицо`. |
| `legal_title` | string | нет | Full legal name. Длина: 1–4000. |
| `inn` | string | нет | Tax number, 10 digits for a company or 12 for a person. |
| `kpp` | string | нет | KPP of a company, 9 digits. |
| `ogrn` | string | нет | Registration number, 13 digits or 15 for a sole trader. |
| `address` | string | нет | Legal address. Длина: 1–4000. |
| `email` | string | нет | Email. Формат: `email`. |
| `phone` | string | нет | Phone. Длина: 1–100. |
| `comment` | string | нет | Comment. Длина: 1–4000. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Short name, such as ООО Ромашка"
    },
    "legal_form": {
      "type": "string",
      "enum": [
        "Юридическое лицо",
        "Индивидуальный предприниматель",
        "Физическое лицо"
      ],
      "description": "Legal form, a company by default"
    },
    "legal_title": {
      "description": "Full legal name",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "inn": {
      "description": "Tax number, 10 digits for a company or 12 for a person",
      "type": "string",
      "pattern": "^\\d{10}(\\d{2})?$"
    },
    "kpp": {
      "description": "KPP of a company, 9 digits",
      "type": "string",
      "pattern": "^\\d{9}$"
    },
    "ogrn": {
      "description": "Registration number, 13 digits or 15 for a sole trader",
      "type": "string",
      "pattern": "^\\d{13}(\\d{2})?$"
    },
    "address": {
      "description": "Legal address",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "email": {
      "description": "Email",
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "description": "Phone",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "comment": {
      "description": "Comment",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}
```

</details>

## Выставить счёт в МойСклад

`create_moysklad_invoice` · изменяет данные

Описание для модели: Create an invoice to a customer in MoySklad. Without a number MoySklad assigns the next one. Dates take YYYY-MM-DD or YYYY-MM-DDTHH:MM.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `organization_id` | string | да | Id of the own organization in MoySklad, a UUID. |
| `counterparty_id` | string | да | Id of the customer in MoySklad, a UUID. |
| `lines` | массив объектов | да | Lines of the invoice. Элементов: 1–200. |
| `lines[].item_id` | string | да | Id of the item from list_moysklad_catalog in MoySklad, a UUID. |
| `lines[].item_kind` | string | да | Kind of the item as listed in the catalog. Значения: `Товар`, `Услуга`, `Комплект`, `Модификация`. |
| `lines[].quantity` | number | да | Quantity. |
| `lines[].price` | number | да | Price of one unit in rubles. Диапазон: от 0. |
| `lines[].vat` | string | нет | VAT rate. Значения: `0%`, `5%`, `7%`, `10%`, `20%`, `22%`, `Без НДС`. |
| `lines[].discount` | number | нет | Discount in percent. Диапазон: 0–100. |
| `number` | string | нет | Number of the invoice. Длина: 1–100. |
| `date` | string | нет | Date of the invoice, now by default. |
| `pay_until` | string | нет | Planned date of payment. |
| `contract_id` | string | нет | Id of the contract in MoySklad, a UUID. |
| `project_id` | string | нет | Id of the project in MoySklad, a UUID. |
| `comment` | string | нет | Comment of the invoice. Длина: 1–4000. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "organization_id": {
      "type": "string",
      "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$",
      "description": "Id of the own organization in MoySklad, a UUID"
    },
    "counterparty_id": {
      "type": "string",
      "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$",
      "description": "Id of the customer in MoySklad, a UUID"
    },
    "lines": {
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "item_id": {
            "type": "string",
            "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$",
            "description": "Id of the item from list_moysklad_catalog in MoySklad, a UUID"
          },
          "item_kind": {
            "type": "string",
            "enum": [
              "Товар",
              "Услуга",
              "Комплект",
              "Модификация"
            ],
            "description": "Kind of the item as listed in the catalog"
          },
          "quantity": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Quantity"
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "description": "Price of one unit in rubles"
          },
          "vat": {
            "type": "string",
            "enum": [
              "0%",
              "5%",
              "7%",
              "10%",
              "20%",
              "22%",
              "Без НДС"
            ],
            "description": "VAT rate"
          },
          "discount": {
            "description": "Discount in percent",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          }
        },
        "required": [
          "item_id",
          "item_kind",
          "quantity",
          "price"
        ],
        "additionalProperties": false
      },
      "description": "Lines of the invoice"
    },
    "number": {
      "description": "Number of the invoice",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "date": {
      "description": "Date of the invoice, now by default",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?)?$"
    },
    "pay_until": {
      "description": "Planned date of payment",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?)?$"
    },
    "contract_id": {
      "type": "string",
      "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$",
      "description": "Id of the contract in MoySklad, a UUID"
    },
    "project_id": {
      "type": "string",
      "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$",
      "description": "Id of the project in MoySklad, a UUID"
    },
    "comment": {
      "description": "Comment of the invoice",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "required": [
    "organization_id",
    "counterparty_id",
    "lines"
  ],
  "additionalProperties": false
}
```

</details>

## Создать товар или услугу в МойСклад

`create_moysklad_item` · изменяет данные

Описание для модели: Create a product or a service in the MoySklad catalog. Look for the same item with list_moysklad_catalog first. The price is set in invoice lines.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `kind` | string | да | Product or service. Значения: `Товар`, `Услуга`. |
| `name` | string | да | Name of the item. Длина: 1–255. |
| `code` | string | нет | Code of the item. Длина: 1–255. |
| `article` | string | нет | Article of a product. Длина: 1–255. |
| `description` | string | нет | Description. Длина: 1–4000. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "Товар",
        "Услуга"
      ],
      "description": "Product or service"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Name of the item"
    },
    "code": {
      "description": "Code of the item",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "article": {
      "description": "Article of a product",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "description": "Description",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "required": [
    "kind",
    "name"
  ],
  "additionalProperties": false
}
```

</details>

## Контрагенты и организации МойСклад

`find_moysklad_companies` · только чтение

Описание для модели: Find counterparties or own organizations in MoySklad. The search matches the name, tax number, phone and other details. Bank details come with the result.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `kind` | string | да | What to search. Значения: `Контрагенты`, `Свои организации`. |
| `query` | string | нет | Name, tax number or other detail. Длина: 1–200. |
| `limit` | integer | нет | Maximum number of items to return, 20 by default. По умолчанию: `20`. Диапазон: 1–100. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "Контрагенты",
        "Свои организации"
      ],
      "description": "What to search"
    },
    "query": {
      "description": "Name, tax number or other detail",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of items to return, 20 by default",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false
}
```

</details>

## Реквизиты из МойСклад

`get_moysklad_company` · только чтение

Описание для модели: Get details and bank accounts of a MoySklad company.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `kind` | string | да | Kind of the company. Значения: `Контрагенты`, `Свои организации`. |
| `company_id` | string | да | Id of the company in MoySklad, a UUID. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "Контрагенты",
        "Свои организации"
      ],
      "description": "Kind of the company"
    },
    "company_id": {
      "type": "string",
      "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$",
      "description": "Id of the company in MoySklad, a UUID"
    }
  },
  "required": [
    "kind",
    "company_id"
  ],
  "additionalProperties": false
}
```

</details>

## Документ МойСклад

`get_moysklad_document` · только чтение

Описание для модели: Get a MoySklad document with its lines.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `kind` | string | да | Kind of the document. Значения: `Заказы покупателей`, `Счета покупателям`, `Счета поставщиков`, `Отгрузки`, `Приёмки`, `Входящие платежи`, `Исходящие платежи`, `Счета-фактуры выданные`. |
| `document_id` | string | да | Id of the document in MoySklad, a UUID. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "Заказы покупателей",
        "Счета покупателям",
        "Счета поставщиков",
        "Отгрузки",
        "Приёмки",
        "Входящие платежи",
        "Исходящие платежи",
        "Счета-фактуры выданные"
      ],
      "description": "Kind of the document"
    },
    "document_id": {
      "type": "string",
      "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$",
      "description": "Id of the document in MoySklad, a UUID"
    }
  },
  "required": [
    "kind",
    "document_id"
  ],
  "additionalProperties": false
}
```

</details>

## Справочники МойСклад

`list_moysklad_catalog` · только чтение

Описание для модели: List goods, services, contracts and other MoySklad catalogs. filter uses the MoySklad syntax: name~text for contains, code=123 for equals, joined by semicolons. Prices and sums are in rubles.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `kind` | string | да | Catalog. Значения: `Товары и услуги`, `Товары`, `Услуги`, `Комплекты`, `Модификации`, `Договоры`, `Проекты`, `Склады`, `Валюты`, `Единицы измерения`, `Сотрудники`. |
| `query` | string | нет | Text to search. Длина: 1–200. |
| `filter` | string | нет | MoySklad filter expression. Длина: 1–1000. |
| `limit` | integer | нет | Maximum number of items to return, 50 by default. По умолчанию: `50`. Диапазон: 1–1000. |
| `offset` | integer | нет | Number of items to skip, for paging. По умолчанию: `0`. Диапазон: 0–9007199254740991. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "Товары и услуги",
        "Товары",
        "Услуги",
        "Комплекты",
        "Модификации",
        "Договоры",
        "Проекты",
        "Склады",
        "Валюты",
        "Единицы измерения",
        "Сотрудники"
      ],
      "description": "Catalog"
    },
    "query": {
      "description": "Text to search",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "filter": {
      "description": "MoySklad filter expression",
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    },
    "limit": {
      "default": 50,
      "description": "Maximum number of items to return, 50 by default",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "offset": {
      "default": 0,
      "description": "Number of items to skip, for paging",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false
}
```

</details>

## Документы МойСклад

`list_moysklad_documents` · только чтение

Описание для модели: List orders, invoices, shipments and payments in MoySklad. filter uses the MoySklad syntax, such as moment>=2026-01-01 00:00:00;moment<2026-02-01 00:00:00. order is like moment,desc. Sums are in rubles.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `kind` | string | да | Kind of documents. Значения: `Заказы покупателей`, `Счета покупателям`, `Счета поставщиков`, `Отгрузки`, `Приёмки`, `Входящие платежи`, `Исходящие платежи`, `Счета-фактуры выданные`. |
| `query` | string | нет | Text to search in the number and comment. Длина: 1–200. |
| `filter` | string | нет | MoySklad filter expression. Длина: 1–1000. |
| `order` | string | нет | MoySklad order expression. Длина: 1–200. |
| `limit` | integer | нет | Maximum number of items to return, 50 by default. По умолчанию: `50`. Диапазон: 1–1000. |
| `offset` | integer | нет | Number of items to skip, for paging. По умолчанию: `0`. Диапазон: 0–9007199254740991. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "Заказы покупателей",
        "Счета покупателям",
        "Счета поставщиков",
        "Отгрузки",
        "Приёмки",
        "Входящие платежи",
        "Исходящие платежи",
        "Счета-фактуры выданные"
      ],
      "description": "Kind of documents"
    },
    "query": {
      "description": "Text to search in the number and comment",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "filter": {
      "description": "MoySklad filter expression",
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    },
    "order": {
      "description": "MoySklad order expression",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "default": 50,
      "description": "Maximum number of items to return, 50 by default",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "offset": {
      "default": 0,
      "description": "Number of items to skip, for paging",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false
}
```

</details>

## Печатная форма МойСклад

`print_moysklad_document` · изменяет данные · только для агентов платформы

Описание для модели: Save the printed form of a MoySklad document to a file. The file is saved to the working folder of the agent. template is a part of the template name, the first template of the document by default.

**Параметры**

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `kind` | string | да | Kind of the document. Значения: `Заказы покупателей`, `Счета покупателям`, `Счета поставщиков`, `Отгрузки`, `Приёмки`, `Входящие платежи`, `Исходящие платежи`, `Счета-фактуры выданные`. |
| `document_id` | string | да | Id of the document in MoySklad, a UUID. |
| `format` | string | нет | Format of the file, PDF by default. Значения: `PDF`, `Excel`, `OpenDocument`, `HTML`. |
| `template` | string | нет | Part of the print template name. Длина: 1–200. |

<details>
<summary>JSON Schema параметров</summary>

```json
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "Заказы покупателей",
        "Счета покупателям",
        "Счета поставщиков",
        "Отгрузки",
        "Приёмки",
        "Входящие платежи",
        "Исходящие платежи",
        "Счета-фактуры выданные"
      ],
      "description": "Kind of the document"
    },
    "document_id": {
      "type": "string",
      "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$",
      "description": "Id of the document in MoySklad, a UUID"
    },
    "format": {
      "type": "string",
      "enum": [
        "PDF",
        "Excel",
        "OpenDocument",
        "HTML"
      ],
      "description": "Format of the file, PDF by default"
    },
    "template": {
      "description": "Part of the print template name",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "kind",
    "document_id"
  ],
  "additionalProperties": false
}
```

</details>
