visotrust
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"viso-mcp": {
"args": [
"-jar",
"viso-mcp-server-\u003cversion\u003e.jar",
"--port",
"8080",
"--host",
"localhost"
],
"command": "java",
"env": {
"JAVA_TOOL_OPTIONS": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005",
"VISOTRUST_API_BASEURL": "https://app.visotrust.com",
"VISOTRUST_API_TOKEN": "\u003cyour-api-token\u003e"
}
}
}
}
服务介绍
VISO TRUST MCP 服务器
一个用于将VISO TRUST API功能与AI助手集成的模型上下文协议(MCP)服务器。
要求
- Java 21+
- Gradle
- Docker(可选,用于容器化部署)
- MCP Inspector(可选,用于测试)
配置
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的手动设置
向您的VS Code用户设置(JSON)文件中添加以下JSON块。您可以通过按Ctrl + Shift + P并键入Preferences: Open User Settings (JSON)来完成此操作。
json
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "viso_baseurl",
"description": "VISO TRUST API基础URL",
"default": "https://app.visotrust.com"
},
{
"type": "promptString",
"id": "viso_token",
"description": "VISO TRUST API令牌",
"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}"
}
}
}
}
}可选地,您可以在工作区中创建一个名为 .vscode/mcp.json 的文件,并添加类似的示例(即不包含 mcp 键)。这将允许您与他人共享配置。
json
{
"inputs": [
{
"type": "promptString",
"id": "viso_baseurl",
"description": "VISO TRUST API 基础 URL",
"default": "https://app.visotrust.com"
},
{
"type": "promptString",
"id": "viso_token",
"description": "VISO TRUST API 令牌",
"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 配置
json
{
"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": "",
"VISOTRUST_API_BASEURL": "https://app.visotrust.com"
}
}
}
}
Java 配置
json
{
"mcpServers": {
"viso-mcp": {
"command": "java",
"args": [
"-jar",
"viso-mcp-server-.jar",
"--port",
"8080",
"--host",
"localhost"
],
"env": {
"JAVA_TOOL_OPTIONS": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005",
"VISOTRUST_API_TOKEN": "",
"VISOTRUST_API_BASEURL": "https://app.visotrust.com"
}
}
}
}
注意:JAVA_TOOL_OPTIONS 环境变量用于设置 JVM 选项以进行远程调试。地址和端口可以根据需要更改。
💻 开发
Docker 设置
构建 Docker 镜像
bash
docker build -t viso-mcp-server .
运行 Docker 容器
bash
docker run -i --rm -e VISOTRUST_API_TOKEN= viso-mcp-server
调试
安装 MCP 检查器
bash
npm -g install @modelcontextprotocol/inspector
运行 MCP 检查器进行测试
-
构建 MCP 服务器 JAR 文件
bash
./gradlew bootJar -
运行 MCP 检查器
bash
npx @modelcontextprotocol/inspector
-e JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
-e VISOTRUST_API_TOKEN=
java -jar build/libs/viso-mcp-server-.jar
--port 8080 --host localhost
将 <version> 替换为项目的当前版本(例如 1.0.0 或最新发布的版本)。
CI/CD 流水线
此项目使用 GitHub Actions 进行持续集成和部署。工作流包括以下任务:
代码检查
使用 Spotless 检查代码格式:
bash
./gradlew spotlessCheck
构建
构建应用程序并创建 JAR 文件:
bash
./gradlew build
发布
当创建新发布时:
- 将
build.gradle中的项目版本更新为与发布标签匹配 - 将 JAR 文件上传到带有版本标签的 GitHub 发布
- 构建并将 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 (字符串数组,可选)
- followupType: 跟进类型 (字符串,必填)
- followupRiskThreshold: 跟进的风险阈值 (字符串,可选)
- aiProcessingOnly: 是否仅使用 AI 处理 (布尔值,可选)
- files: 随评估一起包含的文件 (字节数组,可选)
返回已创建的评估详情。
审计日志
get_user_audit_log_events - 获取您组织的审计日志事件
- request: 审计日志请求参数 (对象,必填)
- startDate: 审计日志事件的开始日期 (字符串,必填)
- endDate: 审计日志事件的结束日期 (字符串,必填)
- auditLogType: 要检索的审计日志事件类型 (字符串,可选)
返回用户审计日志事件列表,限制为 500 条记录。
业务案例
get_all_business_cases - 获取您组织的所有可用业务案例
无需参数。
返回您组织所有可用的业务案例列表。
数据类型
get_all_datatypes - 获取您组织的所有可用数据类型
无需参数。
返回您组织所有可用的数据类型列表。
IQR(智能查询响应)
ask_trust_center - 向您的 AI 信任中心提问
- request: 信任中心查询参数 (对象,必填)
- query: 要提出的问题 (字符串,必填)
返回关于您的 AI 信任中心问题的 AI 生成的回答。
ask_relationship - 向特定关系提问
- request: 关系查询参数 (对象,必填)
- relationshipId: 要查询的关系 ID (数字,必填)
- query: 要提出的问题 (字符串,必填)
返回关于特定关系问题的 AI 生成的回答。
关系
get_all_relationships - 获取所有关系及其评估详情
无需参数。
返回第三方供应商的信息,包括其评估状态、风险级别和联系信息。
get_relationship_by_id - 通过 ID 获取特定关系及其评估详情
- id: 关系 ID (数字,必填)
返回第三方供应商的详细信息,包括评估状态、风险级别和联系信息。
create_relationship - 与第三方供应商创建新关系
- request: 关系创建参数 (对象,必填)
- vendorName: 供应商名称 (字符串,必填)
- businessOwnerEmail: 业务负责人电子邮件 (字符串,必填)
- homepage: 供应商主页 URL (字符串,可选)
- businessContextIds: 业务上下文 ID (数字数组,可选)
- dataTypeIds: 数据类型 ID (数字数组,可选)
- tags: 应用于关系的标签 (字符串数组,可选)
返回已创建的关系详情。
update_relationship - 更新与第三方供应商的现有关系
- request: 关系更新参数 (对象,必填)
- id: 关系 ID (数字,必填)
- vendorName: 供应商名称 (字符串,可选)
- homepage: 供应商主页 URL (字符串,可选)
- businessContextIds: 业务上下文 ID (数字数组,可选)- dataTypeIds: 数据类型ID(number[],可选)
- businessOwnerEmail: 业务所有者的电子邮件(string,可选)
- tags: 应用于关系的标签(string[],可选)
返回更新后的关系详情。
partially_update_relationship - 部分更新现有关系
- request: 部分关系更新参数(object,必需)
- id: 关系ID(number,必需)
- [从update_relationship中需要更改的任何字段]
仅返回指定字段被更改后的更新关系详情。
search_relationships - 按域名或供应商名称搜索关系
- request: 搜索参数(object,必需)
- query: 搜索查询(string,必需)
返回匹配的关系及其评估详情列表。
create_tags - 创建新标签以对关系进行分类
- request: 标签创建参数(object,必需)
- tags: 要创建的标签列表(string[],必需)
返回包括新创建标签在内的所有标签列表。
update_third_party_contact - 更新第三方供应商的联系信息
- request: 联系信息更新参数(object,必需)
- relationshipId: 关系ID(number,必需)
- email: 联系人电子邮件(string,必需)
- firstName: 联系人的名字(string,必需)
- lastName: 联系人的姓氏(string,必需)
返回更新后的关系详情。
get_suggested_contacts - 获取关系的建议联系人
- relationshipId: 关系ID(number,必需)
返回供应商组织中的潜在联系人列表。
Webhooks
get_all_webhooks - 获取所有webhook
无需参数。
返回所有webhook配置列表。
get_webhook - 通过ID获取webhook配置
- id: Webhook ID(number,必需)
返回特定webhook配置的详情。
create_webhook_configuration - 创建webhook配置
- request: Webhook创建参数(object,必需)
- url: Webhook URL(string,必需)
- secret: Webhook密钥(string,必需)
- eventTypes: 触发webhook的事件类型(string[],必需)
- serviceType: Webhook的服务类型(string,必需)
返回创建的webhook配置。
update_webhook_configuration - 更新webhook配置
- request: Webhook更新参数(object,必需)
- id: Webhook ID(number,必需)
- url: Webhook URL(string,可选)
- secret: Webhook密钥(string,可选)
- eventTypes: 触发webhook的事件类型(string[],可选)
- serviceType: Webhook的服务类型(string,可选)
返回更新后的webhook配置。
delete_webhook_configuration - 删除webhook配置
- id: Webhook ID(number,必需)
删除指定的webhook配置。
代码格式化
本项目使用Spotless与Google Java Format进行代码格式化。预提交钩子会自动设置以确保一致的代码风格。
设置
克隆仓库后,在运行任何Gradle命令时,预提交钩子将自动设置。
手动格式化
要手动格式化所有文件:
bash
./gradlew spotlessApply
检查文件是否正确格式化:
bash
./gradlew spotlessCheck
如果由于格式问题预提交钩子拒绝了您的提交,只需运行./gradlew spotlessApply来修复格式,然后再次尝试提交即可。
许可证
本项目根据MIT许可证发布 - 请参阅LICENSE文件获取详细信息。