viso-mcp-server

Official

VISO TRUST MCP サーバー

VISO TRUST API 機能を AI アシスタントと統合するためのモデル コンテキスト プロトコル (MCP) サーバー。

要件

  • Java 21以上
  • グラドル
  • 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)」と入力することで実行できます。

{ "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インスペクターを実行する
  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(数値、必須)
  • 受信者のメールアドレス(文字列、必須)
  • 受信者のファーストネーム: 受信者の名(文字列、必須)
  • 受信者の姓(文字列、必須)
  • publicDocumentUrls: 公開ドキュメントのURL(文字列[]、オプション)
  • followupType: フォローアップの種類(文字列、必須)
  • followupRiskThreshold: フォローアップのリスクしきい値(文字列、オプション)
  • aiProcessingOnly: AI処理のみを使用するかどうか(ブール値、オプション)
  • ファイル: 評価に含めるファイル (byte[][], オプション)

作成された評価の詳細を返します。

監査ログ

get_user_audit_log_events - 組織の監査ログイベントを取得します
  • リクエスト: 監査ログリクエストパラメータ(オブジェクト、必須)
    • startDate: 監査ログイベントの開始日(文字列、必須)
    • endDate: 監査ログイベントの終了日(文字列、必須)
    • AuditLogType: 取得する監査ログイベントの種類(文字列、オプション)

ユーザー監査ログ イベントのリストを返します (レコード数は 500 件までに制限されます)。

ビジネスケース

get_all_business_cases - 組織で利用可能なすべてのビジネスケースを取得します

パラメータは必要ありません。

組織で利用可能なすべてのビジネス ケースのリストを返します。

データ型

get_all_datatypes - 組織で利用可能なすべてのデータ型を取得します

パラメータは必要ありません。

組織で使用できるすべてのデータ タイプのリストを返します。

IQR(インテリジェント クエリ レスポンス)

ask_trust_center - AI Trust Center について質問する
  • リクエスト: セキュリティ センターのクエリ パラメータ (オブジェクト、必須)
    • query: 質問する内容(文字列、必須)

AI トラスト センターに関する質問に対して、AI が生成した応答を返します。

ask_relationship - 特定の関係について質問する
  • リクエスト: リレーションシップクエリパラメータ(オブジェクト、必須)
    • relationshipId: 照会する関係のID(数値、必須)
    • query: 質問する内容(文字列、必須)

特定の関係性に関する質問に対して AI が生成した応答を返します。

人間関係

get_all_relationships - すべての関係とその評価の詳細のリストを取得します

パラメータは必要ありません。

評価ステータス、リスク レベル、連絡先の詳細など、サードパーティ ベンダーに関する情報を返します。

get_relationship_by_id - IDで特定の関係とその評価の詳細を取得します
  • id: 関係ID(数値、必須)

評価ステータス、リスク レベル、連絡先の詳細など、サードパーティ ベンダーに関する詳細情報を返します。

create_relationship - サードパーティベンダーとの新しい関係を作成する
  • リクエスト: リレーションシップ作成パラメータ(オブジェクト、必須)
    • vendorName: ベンダー名(文字列、必須)
    • businessOwnerEmail: ビジネスオーナーのメールアドレス(文字列、必須)
    • ホームページ: ベンダーのホームページ URL (文字列、オプション)
    • businessContextIds: ビジネスコンテキストのID(数値[]、オプション)
    • dataTypeIds: データ型のID(数値[]、オプション)
    • tags: 関係に適用するタグ (文字列[], オプション)

作成された関係の詳細を返します。

update_relationship - サードパーティベンダーとの既存の関係を更新する
  • リクエスト: 関係更新パラメータ(オブジェクト、必須)
    • id: 関係ID(数値、必須)
    • vendorName: ベンダー名(文字列、オプション)
    • ホームページ: ベンダーのホームページ URL (文字列、オプション)
    • businessContextIds: ビジネスコンテキストのID(数値[]、オプション)
    • dataTypeIds: データ型のID(数値[]、オプション)
    • businessOwnerEmail: ビジネスオーナーのメールアドレス(文字列、オプション)
    • tags: 関係に適用するタグ (文字列[], オプション)

更新された関係の詳細を返します。

partially_update_relationship - 既存の関係を部分的に更新する
  • リクエスト: 部分的な関係更新パラメータ(オブジェクト、必須)
    • id: 関係ID(数値、必須)
    • [update_relationship から変更が必要なフィールド]

指定されたフィールドのみを変更した更新された関係の詳細を返します。

search_relationships - ドメイン名またはベンダー名で関係を検索します
  • リクエスト: 検索パラメータ(オブジェクト、必須)
    • query: 検索クエリ(文字列、必須)

評価の詳細と一致する関係のリストを返します。

create_tags - 関係を分類するための新しいタグを作成する
  • リクエスト: タグ作成パラメータ(オブジェクト、必須)
    • tags: 作成するタグのリスト(文字列[]、必須)

新しく作成されたタグを含むすべてのタグのリストを返します。

update_third_party_contact - サードパーティベンダーの連絡先の詳細を更新する
  • リクエスト: 連絡先更新パラメータ(オブジェクト、必須)
    • relationshipId: 関係ID(数値、必須)
    • email: 連絡先メールアドレス(文字列、必須)
    • firstName: 連絡先の名(文字列、必須)
    • lastName: 連絡先の姓(文字列、必須)

更新された関係の詳細を返します。

get_suggested_contacts - 関係の連絡先候補を取得する
  • relationshipId: 関係ID(数値、必須)

ベンダー組織の潜在的な連絡先のリストを返します。

ウェブフック

get_all_webhooks - すべてのウェブフックを取得する

パラメータは必要ありません。

すべての Webhook 構成のリストを返します。

get_webhook - IDでWebhook設定を取得する
  • id: Webhook ID(数値、必須)

特定の Webhook 構成の詳細を返します。

create_webhook_configuration - Webhook 設定を作成する
  • リクエスト: Webhook 作成パラメータ (オブジェクト、必須)
    • url: Webhook URL(文字列、必須)
    • secret: Webhookシークレット(文字列、必須)
    • eventTypes: Webhookをトリガーするイベントの種類(文字列[]、必須)
    • serviceType: Webhook のサービスの種類 (文字列、必須)

作成された Webhook 構成を返します。

update_webhook_configuration - Webhook 設定を更新する
  • リクエスト: Webhook 更新パラメータ (オブジェクト、必須)
    • id: Webhook ID(数値、必須)
    • url: Webhook URL(文字列、オプション)
    • secret: Webhookシークレット(文字列、オプション)
    • eventTypes: Webhookをトリガーするイベントの種類(文字列[]、オプション)
    • serviceType: Webhookのサービスの種類(文字列、オプション)

更新された Webhook 構成を返します。

delete_webhook_configuration - Webhook 設定を削除する
  • id: Webhook ID(数値、必須)

指定された Webhook 構成を削除します。

コードのフォーマット

このプロジェクトでは、コードのフォーマットにSpotlessとGoogle Java Formatを使用しています。コードスタイルの一貫性を保つため、pre-commitフックが自動的に設定されます。

設定

リポジトリのクローンを作成した後、Gradle コマンドを実行すると、pre-commit フックが自動的に設定されます。

手動フォーマット

すべてのファイルを手動でフォーマットするには:

./gradlew spotlessApply

ファイルが正しくフォーマットされているかどうかを確認するには:

./gradlew spotlessCheck

フォーマットの問題によりコミット前フックがコミットを拒否した場合は、 ./gradlew spotlessApplyを実行してフォーマットを修正し、再度コミットを試みてください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

Related MCP Servers

View all related MCP servers

ID: l5buj2jl58