# Инструмент Code Interpreter
## Описание
Инструмент `code_interpreter` — это gRPC-сервис на Python, который выполняет переданную строку кода Python и возвращает вывод из `stdout`. Это очень мощный, но и опасный инструмент, который следует использовать с крайней осторожностью.
> **Внимание:** Этот инструмент **ЧРЕЗВЫЧАЙНО ОПАСЕН**. Он выполняет произвольный код, предоставленный агентом, что может привести к уязвимостям в безопасности, потере данных или нестабильности системы. Его следует включать только в безопасных, изолированных средах и под строгим контролем. По умолчанию он отключен в основной конфигурации сервера.
## Параметры
Инструмент принимает один аргумент в виде JSON-объекта:
| Параметр | Тип | Обязательный | Описание |
|-----------|----------|--------------|-------------------------------------------------|
| `code` | `string` | **Да** | Строка, содержащая корректный код на Python для выполнения. |
## Ответ
* **Успешное выполнение:** Если код выполняется без ошибок, инструмент возвращает JSON-объект, содержащий поле `result`. Значением `result` является захваченный стандартный вывод (`stdout`) из выполненного кода.
* **Ошибка:** Если код содержит синтаксическую ошибку или вызывает исключение во время выполнения, инструмент возвращает сообщение об ошибке, содержащее трассировку.
## Пример использования
Вот пример использования `code_interpreter` для выполнения простого вычисления и вывода результата.
**Запрос:**
```bash
curl -X POST http://localhost:8002/v1/tools:run \
-d '{
"name": "code_interpreter",
"arguments": {
"code": "import math\nresult = math.sqrt(256)\nprint(f\'Квадратный корень из 256 равен {result}\')"
}
}'
```
**Успешный ответ:**
```json
{
"result": {
"stringValue": "Квадратный корень из 256 равен 16.0\n"
}
}
```
## Конфигурация
Конфигурация инструмента управляется через файл `config.json`.
**Пример `config.json`:**
```json
{
"port": 50071,
"command": ["python", "server.py"]
}
```
## R&D Модуль
`code_interpreter` считается модулем **R&D (Исследования и Разработка)**. Он мощный, но сопряжен со значительными рисками безопасности. По умолчанию главный MCP-сервер настроен так, чтобы **не** запускать этот инструмент для поддержания стабильной и безопасной среды.
## Проверки состояния и логирование
* **Проверки состояния:** Реализует стандартный протокол gRPC Health Checking Protocol.
* **Логирование:** Использует стандартный модуль `logging` в Python.