viso-mcp-server

Official

VISO TRUST MCP-сервер

Сервер протокола контекста модели (MCP) для интеграции возможностей API VISO TRUST с помощниками на основе искусственного интеллекта.

Требования

  • Ява 21+
  • Градл
  • Docker (опционально для контейнерного развертывания)
  • MCP Inspector (опционально для тестирования)

Конфигурация

Конфигурация API VISO TRUST

Для API VISO TRUST можно настроить следующие свойства:

  • visotrust.api.base-url : базовый URL для API VISO TRUST (по умолчанию: http://localhost:8080 )
  • visotrust.api.token : Ваш токен API с платформы VISO TRUST (обязательно)
  • visotrust.api.timeout : время ожидания запроса API в миллисекундах (по умолчанию: 30000)
  • visotrust.api.connect-timeout : время ожидания соединения API в миллисекундах (по умолчанию: 5000)

Информацию о том, как сгенерировать токен API для переменной среды visotrust.api.token , см. в документации по поддержке VISO TRUST .

Установка

Быстрая установка

Нажмите одну из кнопок ниже, чтобы установить VISO MCP Server в VS Code:

Ручная настройка с помощью VS Code

Добавьте следующий блок JSON в файл настроек пользователя (JSON) в VS Code. Это можно сделать, нажав Ctrl + Shift + P и введя Preferences: Open User Settings (JSON).

{ "mcp": { "inputs": [ { "type": "promptString", "id": "viso_baseurl", "description": "VISO TRUST API Base URL", "default": "https://app.visotrust.com" }, { "type": "promptString", "id": "viso_token", "description": "VISO TRUST API Token", "password": true } ], "servers": { "viso-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "VISOTRUST_API_TOKEN", "-e", "VISOTRUST_API_BASEURL", "visotrustai/viso-mcp-server:latest" ], "env": { "VISOTRUST_API_BASEURL": "${input:viso_baseurl}", "VISOTRUST_API_TOKEN": "${input:viso_token}" } } } } }

При желании вы можете добавить аналогичный пример (т.е. без ключа mcp) в файл .vscode/mcp.json в вашем рабочем пространстве. Это позволит вам поделиться конфигурацией с другими.

{ "inputs": [ { "type": "promptString", "id": "viso_baseurl", "description": "VISO TRUST API Base URL", "default": "https://app.visotrust.com" }, { "type": "promptString", "id": "viso_token", "description": "VISO TRUST API Token", "password": true } ], "servers": { "viso-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "VISOTRUST_API_TOKEN", "-e", "VISOTRUST_API_BASEURL", "visotrustai/viso-mcp-server:latest" ], "env": { "VISOTRUST_API_BASEURL": "${input:viso_baseurl}", "VISOTRUST_API_TOKEN": "${input:viso_token}" } } } }

Использование с Claude Desktop и другими клиентами MCP

Конфигурация докера
{ "mcpServers": { "viso-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "VISOTRUST_API_TOKEN", "-e", "VISOTRUST_API_BASEURL", "visotrustai/viso-mcp-server:latest" ], "env": { "VISOTRUST_API_TOKEN": "<your-api-token>", "VISOTRUST_API_BASEURL": "https://app.visotrust.com" } } } }
Конфигурация Java
{ "mcpServers": { "viso-mcp": { "command": "java", "args": [ "-jar", "viso-mcp-server-<version>.jar", "--port", "8080", "--host", "localhost" ], "env": { "JAVA_TOOL_OPTIONS": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "VISOTRUST_API_TOKEN": "<your-api-token>", "VISOTRUST_API_BASEURL": "https://app.visotrust.com" } } } }

Примечание: переменная среды JAVA_TOOL_OPTIONS используется для установки параметров JVM для удаленной отладки. Адрес и порт можно изменить по мере необходимости.

💻 Развитие

Настройка докера

Создание образа Docker
docker build -t viso-mcp-server .
Запустить Docker-контейнер
docker run -i --rm -e VISOTRUST_API_TOKEN=<your-api-token> viso-mcp-server

Отладка

Установить MCP-инспектор
npm -g install @modelcontextprotocol/inspector
Запустите MCP Inspector для тестирования
  1. Сборка файла JAR сервера MCP
./gradlew bootJar
  1. Запустить MCP-инспектор
npx @modelcontextprotocol/inspector \ -e JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=\*:5005 \ -e VISOTRUST_API_TOKEN=<your-api-token> \ java -jar build/libs/viso-mcp-server-<version>.jar \ --port 8080 --host localhost

Замените <version> на текущую версию проекта (например, 1.0.0 или версию из последнего релиза).

Конвейер CI/CD

Этот проект использует GitHub Actions для непрерывной интеграции и развертывания. Рабочий процесс включает следующие задания:

Ворс

Проверяет форматирование кода с помощью Spotless:

./gradlew spotlessCheck
Строить

Собирает приложение и создает JAR-файл:

./gradlew build
Публиковать

При создании нового релиза:

  1. Обновляет версию проекта в build.gradle для соответствия тегу релиза
  2. Загружает JAR-файл в релиз GitHub с версией из тега релиза
  3. Создает и отправляет образ Docker в Docker Hub с тегами:
    • latest
    • Тег релиза (например, v1.0.0 )
Необходимые секреты для публикации

Чтобы включить публикацию Docker Hub, добавьте эти секреты в свой репозиторий GitHub:

  • DOCKERHUB_USERNAME : Ваше имя пользователя Docker Hub
  • DOCKERHUB_TOKEN : Ваш токен доступа Docker Hub

🛠️ Инструменты

В этом разделе представлена документация для инструментов, предоставляемых VISO MCP Server. Каждый инструмент имеет определенную цель, входные параметры и выходной формат.

Оценки

get_assessment — Получить оценку по ее идентификатору
  • id: Идентификатор оценки (номер, обязательно)

Возвращает подробную информацию о конкретной оценке.

create_assessment - Начать оценку
  • relationId: идентификатор отношения, для которого необходимо создать оценку (номер, обязательно)
  • receiveerEmail: Адрес электронной почты получателя (строка, обязательно)
  • receiveerFirstName: Имя получателя (строка, обязательно)
  • receiveerLastName: Фамилия получателя (строка, обязательно)
  • publicDocumentUrls: URL-адреса публичных документов (string[], необязательно)
  • followupType: Тип последующего действия (строка, обязательно)
  • followupRiskThreshold: порог риска для последующего наблюдения (строка, необязательно)
  • aiProcessingOnly: использовать ли только обработку ИИ (логическое значение, необязательно)
  • файлы: Файлы для включения в оценку (byte[][], необязательно)

Возвращает созданные данные оценки.

Журналы аудита

get_user_audit_log_events — Получите события журнала аудита для вашей организации
  • запрос: Параметры запроса журнала аудита (объект, обязательно)
    • startDate: Дата начала для событий журнала аудита (строка, обязательно)
    • endDate: Дата окончания событий журнала аудита (строка, обязательно)
    • auditLogType: Тип событий журнала аудита для извлечения (строка, необязательно)

Возвращает список событий журнала аудита пользователей, ограниченный 500 записями.

Бизнес-кейсы

get_all_business_cases - Получите все доступные бизнес-кейсы для вашей организации

Параметры не требуются.

Возвращает список всех бизнес-кейсов, доступных для вашей организации.

Типы данных

get_all_datatypes — получить все доступные типы данных для вашей организации

Параметры не требуются.

Возвращает список всех типов данных, доступных для вашей организации.

IQR (интеллектуальный ответ на запрос)

ask_trust_center — задайте вопросы о вашем центре доверия ИИ
  • запрос: Параметры запроса центра управления безопасностью (объект, обязательно)
    • запрос: Вопрос, который нужно задать (строка, обязательно)

Возвращает сгенерированные ИИ ответы на вопросы о вашем Центре доверия ИИ.

ask_relationship - Задавайте вопросы о конкретных отношениях
  • запрос: Параметры запроса отношения (объект, обязательно)
    • relationId: идентификатор отношения для запроса (число, обязательно)
    • запрос: Вопрос, который нужно задать (строка, обязательно)

Возвращает ответы, сгенерированные ИИ, на вопросы о конкретных отношениях.

Отношения

get_all_relationships — Получить список всех отношений и подробности их оценки

Параметры не требуются.

Возвращает информацию о сторонних поставщиках, включая их статус оценки, уровни риска и контактные данные.

get_relationship_by_id — Получить конкретные отношения и детали их оценки по идентификатору
  • id: идентификатор отношения (номер, обязательно)

Возвращает подробную информацию о стороннем поставщике, включая статус оценки, уровни риска и контактные данные.

create_relationship — создать новые отношения со сторонним поставщиком
  • запрос: Параметры создания отношения (объект, обязательно)
    • vendorName: Имя поставщика (строка, обязательно)
    • businessOwnerEmail: Электронная почта владельца бизнеса (строка, обязательно)
    • домашняя страница: URL домашней страницы поставщика (строка, необязательно)
    • businessContextIds: идентификаторы бизнес-контекстов (число[], необязательно)
    • dataTypeIds: идентификаторы типов данных (number[], необязательно)
    • теги: теги, применяемые к отношению (string[], необязательно)

Возвращает сведения о созданных отношениях.

update_relationship — обновить существующие отношения со сторонним поставщиком
  • запрос: Параметры обновления отношений (объект, обязательно)
    • id: идентификатор отношения (номер, обязательно)
    • vendorName: Имя поставщика (строка, необязательно)
    • домашняя страница: URL домашней страницы поставщика (строка, необязательно)
    • businessContextIds: идентификаторы бизнес-контекстов (число[], необязательно)
    • dataTypeIds: идентификаторы типов данных (number[], необязательно)
    • businessOwnerEmail: Электронная почта владельца бизнеса (строка, необязательно)
    • теги: теги, применяемые к отношению (string[], необязательно)

Возвращает обновленные данные о взаимоотношениях.

partially_update_relationship — Частично обновить существующую связь
  • запрос: Параметры обновления частичной связи (объект, обязательно)
    • id: идентификатор отношения (номер, обязательно)
    • [Любые поля из update_relationship, которые необходимо изменить]

Возвращает обновленные данные об отношениях, в которых изменены только указанные поля.

search_relationships - Поиск отношений по доменному имени или имени поставщика
  • запрос: Параметры поиска (объект, обязательно)
    • запрос: Поисковый запрос (строка, обязательно)

Возвращает список соответствующих отношений с подробностями их оценки.

create_tags — создание новых тегов для категоризации отношений
  • запрос: Параметры создания тега (объект, обязательно)
    • теги: Список тегов для создания (string[], обязательно)

Возвращает список всех тегов, включая вновь созданные.

update_third_party_contact — Обновите контактные данные стороннего поставщика
  • запрос: Параметры обновления контакта (объект, обязательно)
    • relationId: идентификатор отношения (номер, обязательно)
    • эл. почта: Контактный адрес эл. почты (строка, обязательно)
    • firstName: Имя контакта (строка, обязательно)
    • lastName: Фамилия контактного лица (строка, обязательно)

Возвращает обновленные данные о взаимоотношениях.

get_suggested_contacts — Получить предлагаемые контакты для отношений
  • relationId: идентификатор отношения (номер, обязательно)

Возвращает список потенциальных контактов в организации поставщика.

Вебхуки

get_all_webhooks — Получить все вебхуки

Параметры не требуются.

Возвращает список всех конфигураций вебхуков.

get_webhook — получить конфигурацию вебхука по идентификатору
  • id: идентификатор веб-перехватчика (номер, обязательно)

Возвращает сведения о конкретной конфигурации веб-перехватчика.

create_webhook_configuration — создание конфигурации веб-перехватчика
  • запрос: Параметры создания Webhook (объект, обязательно)
    • url: URL-адрес веб-перехватчика (строка, обязательно)
    • секрет: секрет веб-перехватчика (строка, обязательно)
    • eventTypes: Типы событий для запуска веб-хука (string[], обязательно)
    • serviceType: Тип сервиса для вебхука (строка, обязательно)

Возвращает созданную конфигурацию вебхука.

update_webhook_configuration — обновление конфигурации веб-перехватчика
  • запрос: параметры обновления Webhook (объект, обязательно)
    • id: идентификатор веб-перехватчика (номер, обязательно)
    • url: URL-адрес веб-перехватчика (строка, необязательно)
    • секрет: секрет веб-перехватчика (строка, необязательно)
    • eventTypes: Типы событий для запуска веб-хука (string[], необязательно)
    • serviceType: Тип сервиса для вебхука (строка, необязательно)

Возвращает обновленную конфигурацию веб-перехватчика.

delete_webhook_configuration — удаление конфигурации веб-перехватчика
  • id: идентификатор веб-перехватчика (номер, обязательно)

Удаляет указанную конфигурацию веб-перехватчика.

Форматирование кода

Этот проект использует Spotless с Google Java Format для форматирования кода. Автоматически настраивается pre-commit hook для обеспечения согласованного стиля кода.

Настраивать

После клонирования репозитория pre-commit hook будет автоматически настроен при запуске любой команды Gradle.

Ручное форматирование

Чтобы вручную отформатировать все файлы:

./gradlew spotlessApply

Чтобы проверить правильность форматирования файлов:

./gradlew spotlessCheck

Если хук pre-commit отклоняет ваш коммит из-за проблем с форматированием, просто запустите ./gradlew spotlessApply , чтобы исправить форматирование, а затем попробуйте выполнить коммит еще раз.

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

Related MCP Servers

View all related MCP servers

ID: l5buj2jl58