viso-mcp-server

Official

VISO TRUST MCP 服务器

用于将 VISO TRUST API 功能与 AI 助手集成的模型上下文协议 (MCP) 服务器。

要求

  • Java 21+
  • Gradle
  • Docker(容器化部署可选)
  • MCP 检查器(测试可选)

配置

VISO TRUST API 配置

可以为 VISO TRUST API 配置以下属性:

  • visotrust.api.base-url :VISO TRUST API 的基本 URL(默认值: http://localhost:8080
  • visotrust.api.token :来自 VISO TRUST 平台的 API 令牌(必需)
  • visotrust.api.timeout :API 请求超时(毫秒)(默认值:30000)
  • visotrust.api.connect-timeout :API 连接超时(毫秒)(默认值:5000)

有关如何为visotrust.api.token环境变量生成 API 令牌的信息,请参阅VISO TRUST 支持文档

安装

快速安装

单击以下按钮之一即可在 VS Code 中安装 VISO MCP 服务器:

使用 VS Code 手动设置

将以下 JSON 块添加到 VS Code 中的“用户设置 (JSON)”文件中。您可以按 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 客户端一起使用

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" } } } }
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 镜像
docker build -t viso-mcp-server .
运行 Docker 容器
docker run -i --rm -e VISOTRUST_API_TOKEN=<your-api-token> viso-mcp-server

调试

安装 MCP Inspector
npm -g install @modelcontextprotocol/inspector
运行 MCP Inspector 进行测试
  1. 构建 MCP 服务器 Jar 文件
./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 服务器所公开工具的文档。每个工具都有特定的用途、输入参数和输出格式。

评估

get_assessment - 根据 ID 获取评估
  • id:评估ID(数字,必填)

返回有关特定评估的详细信息。

create_assessment - 开始评估
  • relationshipId:要创建评估的关系的 ID(数字,必需)
  • recipientEmail:收件人的电子邮件(字符串,必填)
  • recipientFirstName:收件人的名字(字符串,必需)
  • recipientLastName:收件人的姓氏(字符串,必需)
  • publicDocumentUrls:公共文档的 URL(string[],可选)
  • followupType:后续操作的类型(字符串,必需)
  • followupRiskThreshold:后续风险阈值(字符串,可选)
  • aiProcessingOnly:是否仅使用 AI 处理(布尔值,可选)
  • 文件:评估中包含的文件(byte[][],可选)

返回创建的评估详情。

审计日志

get_user_audit_log_events - 获取组织的审计日志事件
  • request:审计日志请求参数(对象,必需)
    • startDate:审计日志事件的开始日期(字符串,必需)
    • endDate:审计日志事件的结束日期(字符串,必需)
    • auditLogType:要检索的审计日志事件的类型(字符串,可选)

返回用户审计日志事件列表,限制为 500 条记录。

商业案例

get_all_business_cases - 获取您组织的所有可用业务案例

无需任何参数。

返回适用于您的组织的所有业务案例的列表。

数据类型

get_all_datatypes - 获取组织的所有可用数据类型

无需任何参数。

返回您的组织可用的所有数据类型的列表。

IQR(智能查询响应)

ask_trust_center - 询问有关您的 AI 信任中心的问题
  • request:信任中心查询参数(对象,必需)
    • 查询:要问的问题(字符串,必需)

返回有关您的 AI 信任中心的问题的 AI 生成的答案。

ask_relationship - 询问有关特定关系的问题
  • 请求:关系查询参数(对象,必需)
    • relationshipId:要查询的关系的ID(数字,必需)
    • 查询:要问的问题(字符串,必需)

返回有关特定关系的问题的 AI 生成的答案。

关系

get_all_relationships - 获取所有关系及其评估详情的列表

无需任何参数。

返回有关第三方供应商的信息,包括其评估状态、风险级别和联系方式。

get_relationship_by_id - 通过 ID 获取特定关系及其评估详情
  • id:关系ID(数字,必填)

返回有关第三方供应商的详细信息,包括评估状态、风险级别和联系方式。

create_relationship - 与第三方供应商建立新的关系
  • request:关系创建参数(对象,必需)
    • vendorName:供应商名称(字符串,必需)
    • businessOwnerEmail:企业主的电子邮件(字符串,必填)
    • homepage:供应商的主页 URL(字符串,可选)
    • businessContextIds:业务环境的ID(number[],可选)
    • dataTypeIds:数据类型的ID(number[],可选)
    • tags:应用于关系的标签(string[],可选)

返回已创建的关系详细信息。

update_relationship - 更新与第三方供应商的现有关系
  • 请求:关系更新参数(对象,必需)
    • id:关系ID(数字,必填)
    • vendorName:供应商名称(字符串,可选)
    • homepage:供应商的主页 URL(字符串,可选)
    • businessContextIds:业务环境的ID(number[],可选)
    • dataTypeIds:数据类型的ID(number[],可选)
    • businessOwnerEmail:企业主的电子邮件(字符串,可选)
    • tags:应用于关系的标签(string[],可选)

返回更新后的关系详细信息。

partially_update_relationship - 部分更新现有关系
  • 请求:部分关系更新参数(对象,必需)
    • id:关系ID(数字,必填)
    • [update_relationship 中需要更改的任何字段]

返回仅更改指定字段的更新关系详细信息。

search_relationships - 按域名或供应商名称搜索关系
  • 请求:搜索参数(对象,必需)
    • 查询:搜索查询(字符串,必需)

返回匹配关系及其评估详情的列表。

create_tags - 创建新的标签来对关系进行分类
  • request:标签创建参数(对象,必需)
    • tags:要创建的标签列表(string[],必需)

返回所有标签(包括新创建的标签)的列表。

update_third_party_contact - 更新第三方供应商的联系方式
  • 请求:联系人更新参数(对象,必需)
    • relationshipId:关系ID(数字,必填)
    • 电子邮件:联系电子邮件(字符串,必填)
    • firstName:联系人名字(字符串,必填)
    • lastName:联系人姓氏(字符串,必填)

返回更新后的关系详细信息。

get_suggested_contacts - 获取关系的建议联系人
  • relationshipId:关系ID(数字,必填)

返回供应商组织中的潜在联系人列表。

Webhook

get_all_webhooks - 获取所有 webhook

无需任何参数。

返回所有 webhook 配置的列表。

get_webhook - 通过 id 获取 webhook 配置
  • id:Webhook ID(数字,必填)

返回特定 webhook 配置的详细信息。

create_webhook_configuration - 创建 webhook 配置
  • request:Webhook 创建参数(对象,必需)
    • url:Webhook URL(字符串,必需)
    • secret:Webhook secret(字符串,必需)
    • eventTypes:触发 webhook 的事件类型(string[],必需)
    • serviceType:webhook 的服务类型(字符串,必需)

返回创建的 webhook 配置。

update_webhook_configuration - 更新 webhook 配置
  • 请求:Webhook 更新参数(对象,必需)
    • id:Webhook ID(数字,必填)
    • url:Webhook URL(字符串,可选)
    • secret:Webhook 秘密(字符串,可选)
    • eventTypes:触发 webhook 的事件类型(string[],可选)
    • serviceType:webhook 的服务类型(字符串,可选)

返回更新后的 webhook 配置。

delete_webhook_configuration - 删除 webhook 配置
  • id:Webhook ID(数字,必填)

删除指定的 webhook 配置。

代码格式化

该项目使用Spotless和 Google Java Format 进行代码格式化。预提交钩子会自动设置,以确保代码风格一致。

设置

克隆存储库后,运行任何 Gradle 命令时都会自动设置预提交钩子。

手动格式化

要手动格式化所有文件:

./gradlew spotlessApply

要检查文件格式是否正确:

./gradlew spotlessCheck

如果预提交钩子由于格式问题而拒绝您的提交,只需运行./gradlew spotlessApply来修复格式,然后尝试再次提交。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

viso-mcp-服务器

  1. 要求
    1. 配置
      1. VISO TRUST API 配置
    2. 安装
      1. 快速安装
      2. 使用 VS Code 手动设置
      3. 与 Claude Desktop 和其他 MCP 客户端一起使用
    3. 💻 开发
      1. Docker 设置
      2. 调试
      3. CI/CD 管道
    4. 🛠️ 工具
      1. 评估
      2. 审计日志
      3. 商业案例
      4. 数据类型
      5. IQR(智能查询响应)
      6. 关系
      7. Webhook
    5. 代码格式化
      1. 设置
      2. 手动格式化
    6. 执照

      Related MCP Servers

      View all related MCP servers

      ID: l5buj2jl58