viso-mcp-server

Official

Servidor MCP de VISO TRUST

Un servidor de Protocolo de Contexto de Modelo (MCP) para integrar las capacidades de la API de VISO TRUST con asistentes de IA.

Requisitos

  • Java 21+
  • Gradle
  • Docker (opcional para implementación en contenedores)
  • Inspector MCP (opcional para pruebas)

Configuración

Configuración de la API de VISO TRUST

Se pueden configurar las siguientes propiedades para la API VISO TRUST:

  • visotrust.api.base-url : La URL base para la API VISO TRUST (predeterminada: http://localhost:8080 )
  • visotrust.api.token : Su token API de la plataforma VISO TRUST (obligatorio)
  • visotrust.api.timeout : tiempo de espera de la solicitud de API en milisegundos (valor predeterminado: 30000)
  • visotrust.api.connect-timeout : tiempo de espera de la conexión API en milisegundos (valor predeterminado: 5000)

Para obtener información sobre cómo generar un token de API para la variable de entorno visotrust.api.token , consulte la documentación de soporte de VISO TRUST .

Instalación

Instalación rápida

Haga clic en uno de los botones a continuación para instalar el servidor VISO MCP en VS Code:

Configuración manual con VS Code

Agrega el siguiente bloque JSON a tu archivo de configuración de usuario (JSON) en VS Code. Para ello, presiona Ctrl + Mayús + P y escribe "Preferencias: Abrir configuración de usuario (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}" } } } } }

Opcionalmente, puede agregar un ejemplo similar (es decir, sin la clave mcp) a un archivo llamado .vscode/mcp.json en su espacio de trabajo. Esto le permitirá compartir la configuración con otros.

{ "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}" } } } }

Uso con Claude Desktop y otros clientes MCP

Configuración de Docker
{ "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" } } } }
Configuración de 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" } } } }

Nota: La variable de entorno JAVA_TOOL_OPTIONS se utiliza para configurar las opciones de la JVM para la depuración remota. La dirección y el puerto se pueden cambiar según sea necesario.

💻 Desarrollo

Configuración de Docker

Crear imagen de Docker
docker build -t viso-mcp-server .
Ejecutar contenedor Docker
docker run -i --rm -e VISOTRUST_API_TOKEN=<your-api-token> viso-mcp-server

Depuración

Instalar MCP Inspector
npm -g install @modelcontextprotocol/inspector
Ejecutar MCP Inspector para realizar pruebas
  1. Crear archivo JAR del servidor MCP
./gradlew bootJar
  1. Ejecutar MCP Inspector
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

Reemplace <version> con la versión actual del proyecto (por ejemplo, 1.0.0 o la versión del último lanzamiento).

Canalización de CI/CD

Este proyecto utiliza GitHub Actions para la integración y el despliegue continuos. El flujo de trabajo incluye las siguientes tareas:

Hilas

Comprueba el formato del código usando Spotless:

./gradlew spotlessCheck
Construir

Construye la aplicación y crea un archivo JAR:

./gradlew build
Publicar

Cuando se crea una nueva versión:

  1. Actualiza la versión del proyecto en build.gradle para que coincida con la etiqueta de lanzamiento
  2. Sube el archivo JAR a la versión de GitHub con la versión de la etiqueta de lanzamiento
  3. Crea y envía la imagen de Docker a Docker Hub con las etiquetas:
    • latest
    • La etiqueta de lanzamiento (por ejemplo, v1.0.0 )
Secretos necesarios para publicar

Para habilitar la publicación en Docker Hub, agregue estos secretos a su repositorio de GitHub:

  • DOCKERHUB_USERNAME : Su nombre de usuario de Docker Hub
  • DOCKERHUB_TOKEN : Su token de acceso a Docker Hub

🛠️ Herramientas

Esta sección proporciona documentación sobre las herramientas expuestas por el servidor VISO MCP. Cada herramienta tiene una finalidad, parámetros de entrada y formato de salida específicos.

Evaluaciones

get_assessment - Obtener una evaluación por su ID
  • id: ID de evaluación (número, obligatorio)

Devuelve información detallada sobre una evaluación específica.

create_assessment - Iniciar una evaluación
  • relationshipId: El ID de la relación para la cual se creará una evaluación (número, obligatorio)
  • recipientEmail: El correo electrónico del destinatario (cadena, obligatorio)
  • recipientFirstName: El nombre del destinatario (cadena, obligatoria)
  • recipientLastName: El apellido del destinatario (cadena, obligatoria)
  • publicDocumentUrls: URL de documentos públicos (cadena[], opcional)
  • followupType: El tipo de seguimiento (cadena, obligatorio)
  • followupRiskThreshold: El umbral de riesgo para el seguimiento (cadena, opcional)
  • aiProcessingOnly: si se utilizará únicamente el procesamiento de IA (booleano, opcional)
  • archivos: Archivos a incluir con la evaluación (byte[][], opcional)

Devuelve los detalles de la evaluación creada.

Registros de auditoría

get_user_audit_log_events : obtenga los eventos del registro de auditoría de su organización
  • solicitud: Parámetros de solicitud de registro de auditoría (objeto, obligatorio)
    • startDate: Fecha de inicio de los eventos del registro de auditoría (cadena, obligatoria)
    • endDate: Fecha de finalización de los eventos del registro de auditoría (cadena, obligatoria)
    • auditLogType: Tipo de eventos del registro de auditoría a recuperar (cadena, opcional)

Devuelve una lista de eventos del registro de auditoría del usuario, limitada a 500 registros.

Casos de negocios

get_all_business_cases - Obtenga todos los casos de negocio disponibles para su organización

No se requieren parámetros.

Devuelve una lista de todos los casos de negocio disponibles para su organización.

Tipos de datos

get_all_datatypes : obtenga todos los tipos de datos disponibles para su organización

No se requieren parámetros.

Devuelve una lista de todos los tipos de datos disponibles para su organización.

IQR (Respuesta inteligente a consultas)

ask_trust_center - Haz preguntas sobre tu Centro de confianza de IA
  • Solicitud: Parámetros de consulta del centro de confianza (objeto, obligatorio)
    • consulta: La pregunta a realizar (cadena, obligatoria)

Devuelve respuestas generadas por IA a preguntas sobre su Centro de confianza de IA.

ask_relationship - Haz preguntas sobre una relación específica
  • solicitud: Parámetros de consulta de relación (objeto, obligatorio)
    • relationshipId: El ID de la relación a consultar (número, obligatorio)
    • consulta: La pregunta a realizar (cadena, obligatoria)

Devuelve respuestas generadas por IA a preguntas sobre una relación específica.

Relaciones

get_all_relationships : obtiene una lista de todas las relaciones y sus detalles de evaluación

No se requieren parámetros.

Devuelve información sobre proveedores externos, incluido su estado de evaluación, niveles de riesgo y detalles de contacto.

get_relationship_by_id - Obtener una relación específica y sus detalles de evaluación por ID
  • id: ID de relación (número, obligatorio)

Devuelve información detallada sobre un proveedor externo, incluido el estado de la evaluación, los niveles de riesgo y los detalles de contacto.

create_relationship - Crea una nueva relación con un proveedor externo
  • Solicitud: Parámetros de creación de relación (objeto, obligatorio)
    • vendorName: Nombre del proveedor (cadena, obligatoria)
    • businessOwnerEmail: Correo electrónico del propietario de la empresa (cadena, obligatorio)
    • página de inicio: URL de la página de inicio del proveedor (cadena, opcional)
    • businessContextIds: ID de contextos de negocio (número[], opcional)
    • dataTypeIds: ID de tipos de datos (número[], opcional)
    • etiquetas: Etiquetas para aplicar a la relación (string[], opcional)

Devuelve los detalles de la relación creada.

update_relationship - Actualizar una relación existente con un proveedor externo
  • Solicitud: Parámetros de actualización de relación (objeto, obligatorio)
    • id: ID de relación (número, obligatorio)
    • vendorName: Nombre del proveedor (cadena, opcional)
    • página de inicio: URL de la página de inicio del proveedor (cadena, opcional)
    • businessContextIds: ID de contextos de negocio (número[], opcional)
    • dataTypeIds: ID de tipos de datos (número[], opcional)
    • businessOwnerEmail: Correo electrónico del propietario de la empresa (cadena, opcional)
    • etiquetas: Etiquetas para aplicar a la relación (string[], opcional)

Devuelve los detalles de la relación actualizados.

partially_update_relationship - Actualizar parcialmente una relación existente
  • Solicitud: Parámetros de actualización de relación parcial (objeto, obligatorio)
    • id: ID de relación (número, obligatorio)
    • [Cualquier campo de update_relationship que necesite ser cambiado]

Devuelve los detalles de la relación actualizados con solo los campos especificados modificados.

search_relationships - Busque relaciones por nombre de dominio o nombre de proveedor
  • solicitud: Parámetros de búsqueda (objeto, obligatorio)
    • consulta: Consulta de búsqueda (cadena, obligatoria)

Devuelve una lista de relaciones coincidentes con sus detalles de evaluación.

create_tags - Crea nuevas etiquetas para categorizar relaciones
  • Solicitud: Parámetros de creación de etiquetas (objeto, obligatorio)
    • etiquetas: Lista de etiquetas para crear (cadena[], obligatoria)

Devuelve una lista de todas las etiquetas, incluidas las recién creadas.

update_third_party_contact - Actualizar los datos de contacto de un proveedor externo
  • Solicitud: Parámetros de actualización de contacto (objeto, obligatorio)
    • relationshipId: ID de la relación (número, obligatorio)
    • correo electrónico: Correo electrónico de contacto (cadena, obligatorio)
    • firstName: Nombre del contacto (cadena, obligatorio)
    • lastName: Apellido del contacto (cadena, obligatorio)

Devuelve los detalles de la relación actualizados.

get_suggested_contacts - Obtener contactos sugeridos para una relación
  • relationshipId: ID de la relación (número, obligatorio)

Devuelve una lista de contactos potenciales en la organización del proveedor.

Webhooks

get_all_webhooks - Obtener todos los webhooks

No se requieren parámetros.

Devuelve una lista de todas las configuraciones de webhook.

get_webhook - Obtener una configuración de webhook por id
  • id: ID del webhook (número, obligatorio)

Devuelve detalles de una configuración de webhook específica.

create_webhook_configuration - Crear una configuración de webhook
  • Solicitud: Parámetros de creación de webhook (objeto, obligatorio)
    • url: URL del webhook (cadena, obligatoria)
    • secreto: secreto del webhook (cadena, obligatorio)
    • eventTypes: Tipos de eventos para activar el webhook (string[], obligatorio)
    • serviceType: Tipo de servicio para el webhook (cadena, obligatorio)

Devuelve la configuración del webhook creado.

update_webhook_configuration - Actualizar una configuración de webhook
  • Solicitud: parámetros de actualización del webhook (objeto, obligatorio)
    • id: ID del webhook (número, obligatorio)
    • url: URL del webhook (cadena, opcional)
    • secreto: secreto del webhook (cadena, opcional)
    • eventTypes: Tipos de eventos para activar el webhook (string[], opcional)
    • serviceType: Tipo de servicio para el webhook (cadena, opcional)

Devuelve la configuración del webhook actualizada.

delete_webhook_configuration - Eliminar una configuración de webhook
  • id: ID del webhook (número, obligatorio)

Elimina la configuración del webhook especificado.

Formato de código

Este proyecto utiliza Spotless con Google Java Format para el formato de código. Se configura automáticamente un gancho pre-commit para garantizar la coherencia del estilo del código.

Configuración

Después de clonar el repositorio, el gancho de pre-confirmación se configurará automáticamente cuando ejecute cualquier comando de Gradle.

Formato manual

Para formatear manualmente todos los archivos:

./gradlew spotlessApply

Para comprobar si los archivos están formateados correctamente:

./gradlew spotlessCheck

Si el gancho previo a la confirmación rechaza su confirmación debido a problemas de formato, simplemente ejecute ./gradlew spotlessApply para corregir el formato y luego intente confirmar nuevamente.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Related MCP Servers

View all related MCP servers

ID: l5buj2jl58