Документация1С-Битрикс: Модулиnative.mcpРазработчикамПримеры инструментов

Собственный инструмент

Собственный инструмент — роут пользовательской карты API-платформы с типом mcp и секцией mcp.

Роут добавляется в файл GET-роутов карты, например в local/php_interface/api/routes/GET/, а класс контроллера — в каталог контроллеров проекта, например в local/api/controllers/.

Подробнее — в статье API-платформы «Подключение карты», требования к роуту инструмента — в разделе «Инструменты».

Пример ниже — инструмент today, который возвращает текущую дату сайта.

Роут в карте

PHP
'mcp/today' => [
    RouteConfig::DESCRIPTION => 'Текущая дата сайта',
    RouteConfig::ROUTE_TYPE => RouteConfig::ROUTE_TYPE_MCP,
    ControllerConfig::CONTROLLER => [DateController::class, 'today'],
    RouteConfig::FORMAT => TypeConfig::FORMAT_JSON,
    RouteConfig::SECURITY => [
        SecurityConfig::AUTH => SecurityConfig::TOKEN,
        SecurityConfig::GROUP => [SecurityConfig::WHITELIST => ['NATIVE_MCP_CLIENT']],
    ],
    RouteConfig::CACHE => [CacheConfig::TTL => 0],
    ToolConfig::ROUTE_PUBLICATION => [
        ToolConfig::CODE => 'today',
        ToolConfig::DESCRIPTION => 'Получить текущую дату сайта в формате YYYY-MM-DD',
        ToolConfig::ANNOTATIONS => [ToolConfig::ANNOTATION_READ_ONLY => true],
    ],
],

Контроллер

PHP
<?php

namespace Local\Api;

use Bitrix\Main\Type\Date;

final class DateController
{
    public function today(): array
    {
        return ['date' => (new Date())->format('Y-m-d')];
    }
}

Дата берётся по часовому поясу сервера сайта. Кеш роута отключён, иначе агент получал бы прошлую дату. Результат вызова:

JSON
{"date": "2026-10-25"}

Задача агенту

Текст
Какое сегодня число на сайте?

Агент вызовет today без аргументов и ответит значением date.