Название сайта
Встроенный инструмент project_info возвращает название сайта, к которому подключён агент. Аргументов у инструмента нет. Общие правила публикации — в разделе «Инструменты».
Роут в карте
PHP
'mcp/project' => [
RouteConfig::DESCRIPTION => '«MCP-шлюз»: сведения о сайте',
RouteConfig::ROUTE_TYPE => RouteConfig::ROUTE_TYPE_MCP,
ControllerConfig::CONTROLLER => [Info::class, 'project'],
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 => 'project_info',
ToolConfig::DESCRIPTION => 'Получить название сайта, к которому подключён агент',
ToolConfig::ANNOTATIONS => [ToolConfig::ANNOTATION_READ_ONLY => true],
],
],Контроллер
PHP
public function project(): array
{
$name = (string)Option::get('main', 'site_name');
if ($name === '') {
$site = SiteTable::getRow([
'select' => ['SITE_NAME', 'NAME'],
'filter' => ['=DEF' => 'Y'],
]);
$name = (string)($site['SITE_NAME'] ?? '') ?: (string)($site['NAME'] ?? '');
}
return ['name' => $name];
}Название берётся из настройки «Название сайта» главного модуля, а если она пустая — из названия сайта по умолчанию. Результат вызова:
JSON
{"name": "Интернет-магазин «Пример»"}Задача агенту
Текст
Как называется сайт, к которому ты подключён?Агент вызовет project_info без аргументов и ответит значением name.