# Калькуляторы

> Инструменты раздела «Калькуляторы»: 4

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

## Индексация присуждённой суммы

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

Описание для модели: Calculate indexation of a court award by consumer prices. Indexation of awarded sums for the time a court act stays unexecuted.

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

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `calc_amount` | number | да | Awarded sum in roubles. |
| `calc_from` | string | да | Day of the court decision, a calendar date YYYY-MM-DD. |
| `calc_to` | string | да | Day the court act was executed, a calendar date YYYY-MM-DD. |
| `payments` | массив объектов | нет | Partial payments. Элементов: до 200. |
| `payments[].date` | string | да | Day of the movement, a calendar date YYYY-MM-DD. |
| `payments[].amount` | number | да | Amount in roubles. |
| `charges` | массив объектов | нет | Increases of the debt. Элементов: до 200. |
| `charges[].date` | string | да | Day of the movement, a calendar date YYYY-MM-DD. |
| `charges[].amount` | number | да | Amount in roubles. |
| `exclusions` | массив объектов | нет | Periods without indexation. Элементов: до 50. |
| `exclusions[].from` | string | да | First excluded day, a calendar date YYYY-MM-DD. |
| `exclusions[].to` | string | да | Last excluded day, a calendar date YYYY-MM-DD. |
| `exclusions[].reason` | string | нет | Why the period is excluded. Длина: до 300. |

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

```json
{
  "type": "object",
  "properties": {
    "calc_amount": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Awarded sum in roubles"
    },
    "calc_from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Day of the court decision, a calendar date YYYY-MM-DD"
    },
    "calc_to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Day the court act was executed, a calendar date YYYY-MM-DD"
    },
    "payments": {
      "description": "Partial payments",
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Day of the movement, a calendar date YYYY-MM-DD"
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Amount in roubles"
          }
        },
        "required": [
          "date",
          "amount"
        ],
        "additionalProperties": false
      }
    },
    "charges": {
      "description": "Increases of the debt",
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Day of the movement, a calendar date YYYY-MM-DD"
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Amount in roubles"
          }
        },
        "required": [
          "date",
          "amount"
        ],
        "additionalProperties": false
      }
    },
    "exclusions": {
      "description": "Periods without indexation",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "First excluded day, a calendar date YYYY-MM-DD"
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Last excluded day, a calendar date YYYY-MM-DD"
          },
          "reason": {
            "description": "Why the period is excluded",
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "from",
          "to"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "calc_amount",
    "calc_from",
    "calc_to"
  ],
  "additionalProperties": false
}
```

</details>

## Расчёт неустойки и процентов

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

Описание для модели: Calculate a penalty or interest for a period of delay. calc_rate is 1/300, 1/150 or 1/130 of the key rate, key for interest under article 395, a number for percent a day, or fixed:500 for a fixed amount a day. The moratorium of 2022 applies unless turned off. Result fields match the variables of a calculation block in a document.

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

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `calc_amount` | number | да | Debt in roubles. |
| `calc_from` | string | да | First day of the delay, a calendar date YYYY-MM-DD. |
| `calc_to` | string | да | Last day of the delay, a calendar date YYYY-MM-DD. |
| `calc_rate` | string | да | Rate, see the tool description. Длина: 1–30. |
| `payments` | массив объектов | нет | Partial payments that reduce the debt. Элементов: до 200. |
| `payments[].date` | string | да | Day of the movement, a calendar date YYYY-MM-DD. |
| `payments[].amount` | number | да | Amount in roubles. |
| `charges` | массив объектов | нет | Increases of the debt. Элементов: до 200. |
| `charges[].date` | string | да | Day of the movement, a calendar date YYYY-MM-DD. |
| `charges[].amount` | number | да | Amount in roubles. |
| `exclusions` | массив объектов | нет | Periods without accrual. Элементов: до 50. |
| `exclusions[].from` | string | да | First excluded day, a calendar date YYYY-MM-DD. |
| `exclusions[].to` | string | да | Last excluded day, a calendar date YYYY-MM-DD. |
| `exclusions[].reason` | string | нет | Why the period is excluded. Длина: до 300. |
| `cap_percent` | number | нет | Contract limit as percent of the debt. Диапазон: до 1000. |
| `cap_amount` | number | нет | Contract limit in roubles. |
| `moratorium` | boolean | нет | False turns the moratorium of 2022 off. |

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

```json
{
  "type": "object",
  "properties": {
    "calc_amount": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Debt in roubles"
    },
    "calc_from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day of the delay, a calendar date YYYY-MM-DD"
    },
    "calc_to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day of the delay, a calendar date YYYY-MM-DD"
    },
    "calc_rate": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Rate, see the tool description"
    },
    "payments": {
      "description": "Partial payments that reduce the debt",
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Day of the movement, a calendar date YYYY-MM-DD"
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Amount in roubles"
          }
        },
        "required": [
          "date",
          "amount"
        ],
        "additionalProperties": false
      }
    },
    "charges": {
      "description": "Increases of the debt",
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Day of the movement, a calendar date YYYY-MM-DD"
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Amount in roubles"
          }
        },
        "required": [
          "date",
          "amount"
        ],
        "additionalProperties": false
      }
    },
    "exclusions": {
      "description": "Periods without accrual",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "First excluded day, a calendar date YYYY-MM-DD"
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Last excluded day, a calendar date YYYY-MM-DD"
          },
          "reason": {
            "description": "Why the period is excluded",
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "from",
          "to"
        ],
        "additionalProperties": false
      }
    },
    "cap_percent": {
      "description": "Contract limit as percent of the debt",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000
    },
    "cap_amount": {
      "description": "Contract limit in roubles",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "moratorium": {
      "description": "False turns the moratorium of 2022 off",
      "type": "boolean"
    }
  },
  "required": [
    "calc_amount",
    "calc_from",
    "calc_to",
    "calc_rate"
  ],
  "additionalProperties": false
}
```

</details>

## Расчёт госпошлины

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

Описание для модели: Calculate the court state fee for one or several claims. Fees of several claims in one suit add up. The result field fee matches the fee variable of a claim price block in a document.

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

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `court` | string | да | Kind of the court. Значения: `Арбитражный суд`, `Суд общей юрисдикции`. |
| `claims` | массив объектов | да | Claims of the suit. Элементов: 1–20. |
| `claims[].category` | string | да | Category id from describe_state_fee. Длина: 1–100. |
| `claims[].claim_price` | number | нет | Claim price in roubles, for categories that need an amount. |
| `claims[].choice` | string | нет | Chosen option, for categories that need a choice. Длина: до 100. |
| `exemption` | string | нет | Exemption id from describe_state_fee. Длина: до 100. |

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

```json
{
  "type": "object",
  "properties": {
    "court": {
      "type": "string",
      "enum": [
        "Арбитражный суд",
        "Суд общей юрисдикции"
      ],
      "description": "Kind of the court"
    },
    "claims": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Category id from describe_state_fee"
          },
          "claim_price": {
            "description": "Claim price in roubles, for categories that need an amount",
            "type": "number",
            "exclusiveMinimum": 0
          },
          "choice": {
            "description": "Chosen option, for categories that need a choice",
            "type": "string",
            "maxLength": 100
          }
        },
        "required": [
          "category"
        ],
        "additionalProperties": false
      },
      "description": "Claims of the suit"
    },
    "exemption": {
      "description": "Exemption id from describe_state_fee",
      "type": "string",
      "maxLength": 100
    }
  },
  "required": [
    "court",
    "claims"
  ],
  "additionalProperties": false
}
```

</details>

## Справочник госпошлины

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

Описание для модели: List claim categories and exemptions for the state fee. Take the category and exemption ids from here before calculate_state_fee.

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

| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `court` | string | да | Kind of the court. Значения: `Арбитражный суд`, `Суд общей юрисдикции`. |

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

```json
{
  "type": "object",
  "properties": {
    "court": {
      "type": "string",
      "enum": [
        "Арбитражный суд",
        "Суд общей юрисдикции"
      ],
      "description": "Kind of the court"
    }
  },
  "required": [
    "court"
  ],
  "additionalProperties": false
}
```

</details>
