viso-mcp-server

Official

VISO TRUST MCP 서버

VISO TRUST API 기능을 AI 어시스턴트와 통합하기 위한 MCP(모델 컨텍스트 프로토콜) 서버입니다.

요구 사항

  • 자바 21+
  • 그래들
  • 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를 사용한 수동 설정

VS Code의 사용자 설정(JSON) 파일에 다음 JSON 블록을 추가합니다. Ctrl + Shift + P를 누르고 "Preferences: Open User Settings (JSON)"를 입력하면 됩니다.

지엑스피1

선택적으로, 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" } } } }
자바 구성
{ "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 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(숫자, 필수)
  • 수신자Email: 수신자의 이메일(문자열, 필수)
  • 수신자FirstName: 수신자의 이름(문자열, 필수)
  • 수신자성명: 수신자의 성(문자열, 필수)
  • 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 신뢰 센터에 대해 질문하세요
  • 요청: 신뢰 센터 쿼리 매개변수(객체, 필수)
    • 쿼리: 질문할 내용(문자열, 필수)

AI 신뢰 센터에 대한 질문에 AI가 생성한 응답을 반환합니다.

ask_relationship - 특정 관계에 대한 질문하기
  • 요청: 관계 쿼리 매개변수(객체, 필수)
    • relationshipId: 쿼리할 관계의 ID(숫자, 필수)
    • 쿼리: 질문할 내용(문자열, 필수)

특정 관계에 대한 질문에 AI가 생성한 응답을 반환합니다.

관계

get_all_relationships - 모든 관계 및 해당 평가 세부 정보 목록을 가져옵니다.

매개변수가 필요하지 않습니다.

평가 상태, 위험 수준, 연락처 정보를 포함한 타사 공급업체에 대한 정보를 반환합니다.

get_relationship_by_id - ID별로 특정 관계 및 해당 평가 세부 정보를 가져옵니다.
  • id: 관계 ID(숫자, 필수)

평가 상태, 위험 수준, 연락처 정보를 포함한 제3자 공급업체에 대한 자세한 정보를 반환합니다.

create_relationship - 제3자 공급업체와 새로운 관계를 생성합니다.
  • 요청: 관계 생성 매개변수(객체, 필수)
    • vendorName: 공급업체 이름(문자열, 필수)
    • businessOwnerEmail: 사업체 소유자의 이메일(문자열, 필수)
    • 홈페이지: 공급업체 홈페이지 URL(문자열, 선택 사항)
    • businessContextIds: 비즈니스 컨텍스트의 ID(숫자[], 선택 사항)
    • dataTypeIds: 데이터 유형의 ID(숫자[], 선택 사항)
    • 태그: 관계에 적용할 태그(string[], 선택 사항)

생성된 관계 세부정보를 반환합니다.

update_relationship - 타사 공급업체와의 기존 관계 업데이트
  • 요청: 관계 업데이트 매개변수(객체, 필수)
    • id: 관계 ID(숫자, 필수)
    • vendorName: 공급업체 이름(문자열, 선택 사항)
    • 홈페이지: 공급업체 홈페이지 URL(문자열, 선택 사항)
    • businessContextIds: 비즈니스 컨텍스트의 ID(숫자[], 선택 사항)
    • dataTypeIds: 데이터 유형의 ID(숫자[], 선택 사항)
    • businessOwnerEmail: 사업체 소유자의 이메일(문자열, 선택 사항)
    • 태그: 관계에 적용할 태그(string[], 선택 사항)

업데이트된 관계 세부 정보를 반환합니다.

partially_update_relationship - 기존 관계를 부분적으로 업데이트합니다.
  • 요청: 부분 관계 업데이트 매개변수(객체, 필수)
    • id: 관계 ID(숫자, 필수)
    • [update_relationship에서 변경해야 하는 모든 필드]

지정된 필드만 변경된 업데이트된 관계 세부 정보를 반환합니다.

search_relationships - 도메인 이름 또는 공급업체 이름으로 관계 검색
  • 요청: 검색 매개변수(객체, 필수)
    • 쿼리: 검색 쿼리(문자열, 필수)

평가 세부 정보와 일치하는 관계 목록을 반환합니다.

create_tags - 관계 분류를 위한 새 태그 생성
  • 요청: 태그 생성 매개변수(객체, 필수)
    • 태그: 생성할 태그 목록(string[], 필수)

새로 생성된 태그를 포함한 모든 태그 목록을 반환합니다.

update_third_party_contact - 제3자 공급업체의 연락처 정보를 업데이트합니다.
  • 요청: 연락처 업데이트 매개변수(객체, 필수)
    • relationshipId: 관계 ID(숫자, 필수)
    • 이메일: 연락처 이메일(문자열, 필수)
    • firstName: 연락처 이름(문자열, 필수)
    • lastName: 연락처 성(문자열, 필수)

업데이트된 관계 세부 정보를 반환합니다.

get_suggested_contacts - 관계에 대한 추천 연락처 받기
  • relationshipId: 관계 ID(숫자, 필수)

공급업체 조직의 잠재적 연락처 목록을 반환합니다.

웹훅

get_all_webhooks - 모든 웹훅 가져오기

매개변수가 필요하지 않습니다.

모든 웹훅 구성 목록을 반환합니다.

get_webhook - ID로 웹훅 구성 가져오기
  • id: Webhook ID (숫자, 필수)

특정 웹훅 구성의 세부 정보를 반환합니다.

create_webhook_configuration - 웹훅 구성 생성
  • 요청: Webhook 생성 매개변수(객체, 필수)
    • url: 웹훅 URL(문자열, 필수)
    • secret: 웹훅 비밀(문자열, 필수)
    • eventTypes: 웹훅을 트리거하는 이벤트 유형(string[], 필수)
    • serviceType: 웹훅의 서비스 유형(문자열, 필수)

생성된 웹훅 구성을 반환합니다.

update_webhook_configuration - 웹훅 구성 업데이트
  • 요청: Webhook 업데이트 매개변수(객체, 필수)
    • id: Webhook ID (숫자, 필수)
    • url: 웹훅 URL(문자열, 선택 사항)
    • 비밀: 웹훅 비밀(문자열, 선택 사항)
    • eventTypes: 웹훅을 트리거하는 이벤트 유형(string[], 선택 사항)
    • serviceType: 웹훅의 서비스 유형(문자열, 선택 사항)

업데이트된 웹훅 구성을 반환합니다.

delete_webhook_configuration - 웹훅 구성 삭제
  • id: Webhook ID (숫자, 필수)

지정된 웹훅 구성을 삭제합니다.

코드 포맷팅

이 프로젝트에서는 Spotless 와 Google Java Format을 사용하여 코드 서식을 지정합니다. 일관된 코드 스타일을 보장하기 위해 사전 커밋 후크가 자동으로 설정됩니다.

설정

저장소를 복제한 후 Gradle 명령을 실행하면 사전 커밋 후크가 자동으로 설정됩니다.

수동 서식

모든 파일을 수동으로 포맷하려면:

./gradlew spotlessApply

파일이 올바르게 포맷되었는지 확인하려면:

./gradlew spotlessCheck

서식 문제로 인해 사전 커밋 후크가 커밋을 거부하는 경우, ./gradlew spotlessApply 실행하여 서식을 수정한 다음 다시 커밋을 시도하세요.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

Related MCP Servers

View all related MCP servers

ID: l5buj2jl58