Skip to main content
Version: 1.6

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

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

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

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

Требования

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

  • на вашей рабочей машине установлен TRON.ASOC версии 1.6;
  • на вашей рабочей машине установлен совместимый 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Проверка доступа к сущностям