Skip to main content
Version: 1.7

Интеграция TRON.ASOC с MCP-клиентами

Система поддерживает протокол MCP (Model Context Protocol) — стандарт взаимодействия ИИ-агентов с внешними инструментами и данными. TRON.ASOC выступает в роли MCP-сервера, предоставляя ИИ-агентам доступ к функциям управления уязвимостями, сканированиями, проектами и другими сущностями системы.

Характеристики реализации:

  • Протокол: JSON-RPC 2.0;
  • Передача данных: Streamable HTTP (основной), SSE (legacy).

Требования

Перед началом работы убедитесь в следующем:

  • на вашей рабочей машине установлен TRON.ASOC версии 1.7;
  • на вашей рабочей машине установлен совместимый MCP-клиент (Claude Code, Cursor и др.);
  • для вашей учетной записи в TRON.ASOC создан API-токен, имеющий необходимые права доступа. Подробнее о создании API-токена см. в разделе Создание API-токена.

Аутентификация

Для подключения к MCP-серверу TRON.ASOC используется заголовок X-API-Token, содержащий валидный API-токен пользователя.

Права доступа к инструментам определяются ролями и политиками пользователя, от имени которого выполняется запрос.

Конфигурация сервера

MCP-сервера настраивается в конфигурационном файле config.yml:

mcp:
enabled: true
tools: \[] # пустой массив = все инструменты включены

Для ограничения доступных инструментов укажите их названия в массиве tools:

mcp:
enabled: true
tools:
- asoc_list_projects
- asoc_get_project
- asoc_list_issues

Подключение MCP-клиента

В этом разделе описан способ подключения MCP-клиента Claude Code.

Чтобы подключить MCP-клиента, выполните следующие шаги:

  1. Создайте или отредактируйте файл \~/.claude/mcp.json:
{
"mcpServers": {
"asoc": {
"type": "http",
"url": "https://<asoc-host>/mcp",
"headers": {
"X-API-Token": "<ваш-api-токен>"
}
}
}
}
  1. Проверьте подключение через curl:
TOKEN="<ваш-api-токен>"
URL="https://<asoc-host>/mcp"

# 1. Инициализация сессии
SESSION=$(curl -s -D - -X POST $URL \\
-H "Content-Type: application/json" \\
-H "X-API-Token: $TOKEN" \\
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' \\
| grep -i "Mcp-Session-Id" | awk '{print $2}' | tr -d '\\r')

# 2. Подтверждение готовности клиента
curl -s -X POST $URL \\
-H "Content-Type: application/json" \\
-H "X-API-Token: $TOKEN" \\
-H "Mcp-Session-Id: $SESSION" \\
-d '{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}'

# 3. Получение списка инструментов
curl -s -X POST $URL \\
-H "Content-Type: application/json" \\
-H "X-API-Token: $TOKEN" \\
-H "Mcp-Session-Id: $SESSION" \\
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

# 4. Вызов инструмента
curl -s -X POST $URL \\
-H "Content-Type: application/json" \\
-H "X-API-Token: $TOKEN" \\
-H "Mcp-Session-Id: $SESSION" \\
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"asoc_list_projects","arguments":{}}}'

Доступные MCP-инструменты

В таблицах ниже представлены MCP-инструменты, с помощью которых можно выполнять действия с сущностями системы (например, создание проекта/слоя, изменение статуса уязвимости, запуск сканирования и т.д.).

Проекты

ИнструментНазначениеСистемные права пользователя
asoc_list_projectsПолучение списка проектовПросмотр проектов
asoc_get_projectПолучение определенного проектаПросмотр проектов
asoc_create_projectСоздание проектаСоздание и редактирование проектов

Слои

ИнструментНазначениеСистемные права пользователя
asoc_get_project_layer_treeПолучение иерархии слоев проектаПросмотр слоев
asoc_list_layersПолучение списка слоевПросмотр слоев
asoc_get_layerПолучение информации о слое по IDПросмотр слоев
asoc_create_layerСоздание слояСоздание и редактирование слоев

Уязвимости

ИнструментНазначениеСистемные права пользователя
asoc_list_issuesПолучение списка уязвимостейПросмотр проблем безопасности
asoc_get_issueПолучение информации об уязвимости по IDПросмотр проблем безопасности
asoc_update_issue_statusИзменение статуса уязвимостиОбновление проблем безопасности
asoc_get_issue_statusesПолучение статусов уязвимостей
asoc_group_update_statusМассовое изменение статуса уязвимостейОбновление проблем безопасности
asoc_group_update_severityМассовое изменение критичности уязвимостейОбновление проблем безопасности
asoc_assign_issueНазначение ответственногоНазначение ответственного
asoc_get_issue_characteristicsПолучение уровней критичности уязвимостей
asoc_get_commentsПолучение комментариевПросмотр комментариев
asoc_add_commentДобавление комментарияКомментирование
asoc_delete_commentУдаление комментарияУдаление комментариев
asoc_get_mentionsПолучение упоминаний текущего пользователя
asoc_mark_mentions_readОтметка упоминаний прочитанными
asoc_mark_comments_readОтметка комментариев прочитаннымиПросмотр комментариев

Сканирования

ИнструментНазначениеСистемные права пользователя
asoc_list_scansПолучение списка сканированийПросмотр проверок безопасности
asoc_get_scanПолучение информации о сканированииПросмотр проверок безопасности
asoc_stop_scanОстановка сканированияУправление проверками безопасности
asoc_list_scan_filtersПолучение фильтров сканированияПросмотр проверок безопасности
asoc_compare_scansСравнение двух сканированийПросмотр проверок безопасности

Проверки безопасности

ИнструментНазначениеСистемные права пользователя
asoc_create_checkСоздание проверки безопасностиУправление проверками безопасности
asoc_get_checkПолучение информации о проверке безопасностиПросмотр проверок безопасности
asoc_run_checkЗапуск проверки безопасностиЗапуск проверок безопасности

Статистика

ИнструментНазначениеСистемные права пользователя
asoc_stats_openПолучение данных об открытых уязвимостяхПросмотр проблем безопасности
asoc_stats_allПолучение общей статистикиПросмотр проблем безопасности
asoc_stats_severityПолучение статистики по критичностиПросмотр проблем безопасности
asoc_stats_toolПолучение статистики по инструментамПросмотр проблем безопасности
asoc_stats_projectПолучение статистики по проектамПросмотр проблем безопасности
asoc_stats_vulnerabilityПолучение статистики по CWE/CVEПросмотр проблем безопасности

Контроли качества

ИнструментНазначениеСистемные права пользователя
asoc_list_gatesПолучение списка контролей качестваПросмотр шаблонов контролей качества
asoc_get_gateПолучение данных о контроле качестваПросмотр шаблонов контролей качества
asoc_get_gate_status_for_layerПолучение статуса контроля качества для слояПросмотр шаблонов контролей качества
asoc_get_gate_status_for_checkПолучение статуса контроля качества для проверкиПросмотр шаблонов контролей качества
asoc_create_gateСоздание контроля качестваУправление шаблонами контролей качества
asoc_attach_gate_to_checkПривязка контроля качества к проверкеУправление шаблонами контролей качества
asoc_create_conditionСоздание условия контроля качестваУправление шаблонами контролей качества

Пользователи

ИнструментНазначениеСистемные права пользователя
asoc_list_usersПолучение списка пользователей
asoc_get_userПолучение данных о пользователе по ID
asoc_get_current_userПолучение данных о текущем пользователе
asoc_list_user_api_tokensПолучение списка API-токенов пользователя
asoc_delete_api_tokenУдаление API-токена

Трекеры задач

ИнструментНазначениеСистемные права пользователя
asoc_list_trackersПолучение списка настроенных трекеровПросмотр трекеров
asoc_get_trackerПолучение информации о трекереПросмотр трекеров
asoc_sync_tracker_taskСинхронизация с задачей трекераСоздание задач для трекера
asoc_unlink_tracker_taskОтвязка задачи трекераСоздание задач для трекера

SBOM и зависимости

ИнструментНазначениеСистемные права пользователя
asoc_list_sbomsПолучение списка SBOM-файловПросмотр зависимостей
asoc_list_dependenciesПолучение списка зависимостейПросмотр зависимостей
asoc_get_dependencyПолучение данных о зависимостиПросмотр зависимостей

FP-анализ

ИнструментНазначениеСистемные права пользователя
asoc_fp_analyzeЗапуск FP-анализаРабота с FP-анализом
asoc_fp_get_analysisПолучение результата FP-анализаРабота с FP-анализом

Прочие инструменты

ИнструментНазначениеСистемные права пользователя
asoc_list_reportsПолучение списка отчетовПросмотр отчетов
asoc_list_severitiesПолучение данных об уровнях критичности
asoc_list_toolsПолучение списка инструментовПросмотр инструментов
asoc_create_toolСоздание инструментаСоздание и редактирование инструментов
asoc_update_toolОбновление инструментаСоздание и редактирование инструментов
asoc_list_sourcesПолучение списка источниковПросмотр источников
asoc_create_sourceСоздание источникаСоздание и редактирование источников
asoc_update_sourceОбновление источникаСоздание и редактирование источников
asoc_visibility_filterПроверка доступа к сущностям
Нашли ошибку или неточность?