VISO TRUST MCP サーバー
VISO TRUST API 機能を AI アシスタントと統合するためのモデル コンテキスト プロトコル (MCP) サーバー。
要件
Java 21以上
グラドル
Docker(コンテナ化されたデプロイメントの場合はオプション)
MCP Inspector(テスト用のオプション)
Related MCP server: MISP-MCP-SERVER
構成
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 キーなし)をワークスペース内の .vscode/mcp.json ファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。
Claude Desktop およびその他の MCP クライアントでの使用
Dockerの設定
Java構成
注: JAVA_TOOL_OPTIONS環境変数は、リモートデバッグ用のJVMオプションを設定するために使用されます。アドレスとポートは必要に応じて変更できます。
💻 開発
Dockerのセットアップ
Dockerイメージのビルド
Dockerコンテナを実行する
デバッグ
MCP Inspectorをインストールする
テスト用にMCPインスペクターを実行する
MCP サーバー Jar ファイルのビルド
MCPインスペクターを実行する
<version>プロジェクトの現在のバージョン (例: 1.0.0または最新リリースのバージョン) に置き換えます。
CI/CDパイプライン
このプロジェクトでは、継続的インテグレーションとデプロイメントにGitHub Actionsを使用しています。ワークフローには以下のジョブが含まれます。
糸くず
Spotless を使用してコードのフォーマットをチェックします。
建てる
アプリケーションをビルドし、JAR ファイルを作成します。
公開
新しいリリースが作成されると、次のようになります。
リリースタグと一致するように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(数値、必須)
受信者のメールアドレス(文字列、必須)
受信者のファーストネーム: 受信者の名(文字列、必須)
受信者の姓(文字列、必須)
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を実行してフォーマットを修正し、再度コミットを試みてください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。