VISO TRUST MCP Server
ทางการเข้าถึงและจัดการโปรแกรมความเสี่ยงจากบุคคลที่สามของ VISO TRUST ของคุณโดยตรงผ่านผู้ช่วย AI ของคุณ
เอกสาร
VISO TRUST MCP Server
เซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับการผสานความสามารถของ VISO TRUST API เข้ากับผู้ช่วย AI
ข้อกำหนด
- Java 21+
- Gradle
- Docker (ไม่บังคับ สำหรับการปรับใช้แบบคอนเทนเนอร์)
- MCP Inspector (ไม่บังคับ สำหรับการทดสอบ)
การกำหนดค่า
การกำหนดค่า VISO TRUST API
คุณสมบัติต่อไปนี้สามารถกำหนดค่าได้สำหรับ VISO TRUST API:
visotrust.api.base-url: URL ฐานสำหรับ VISO TRUST API (ค่าเริ่มต้น: http://localhost:8080)visotrust.api.token: โทเค็น API ของคุณจากแพลตฟอร์ม VISO TRUST (จำเป็น)visotrust.api.timeout: ระยะหมดเวลาคำขอ API ในหน่วยมิลลิวินาที (ค่าเริ่มต้น: 30000)visotrust.api.connect-timeout: ระยะหมดเวลาการเชื่อมต่อ API ในหน่วยมิลลิวินาที (ค่าเริ่มต้น: 5000)
สำหรับข้อมูลเกี่ยวกับวิธีสร้างโทเค็น API สำหรับตัวแปรสภาพแวดล้อม visotrust.api.token โปรดดู เอกสารสนับสนุน VISO TRUST
โปรไฟล์แอปพลิเคชัน
แอปพลิเคชันนี้รองรับโปรไฟล์ Spring Boot เพื่อเปิดใช้งานการกำหนดค่าที่แตกต่างกันสำหรับสถานการณ์การปรับใช้ที่แตกต่างกัน
โปรไฟล์ Remote
โปรไฟล์ remote ถูกออกแบบมาโดยเฉพาะสำหรับ การสนับสนุน MCP ระยะไกลโดยใช้ Server-Sent Events (SSE) โปรไฟล์นี้กำหนดค่าแอปพลิเคชันให้ทำงานได้อย่างเหมาะสมในสภาพแวดล้อมแบบกระจายที่เซิร์ฟเวอร์ MCP จำเป็นต้องสื่อสารกับไคลเอนต์ระยะไกลผ่านการเชื่อมต่อ HTTP/SSE
ความแตกต่างที่สำคัญในโปรไฟล์ remote:
- กำหนดค่าสำหรับการสื่อสารแบบ SSE แทน I/O มาตรฐาน
- การตั้งค่าเซิร์ฟเวอร์ที่ปรับให้เหมาะสมสำหรับการเชื่อมต่อไคลเอนต์ระยะไกล
- การบันทึกที่เพิ่มขึ้นสำหรับการดีบักแบบกระจาย
วิธีเปิดใช้งานโปรไฟล์ remote:
เมื่อรันด้วย Java โดยตรง:
java -jar viso-mcp-server-<version>.jar --spring.profiles.active=remote
เมื่อรันด้วย Gradle:
./gradlew bootRun --args="--spring.profiles.active=remote"
เมื่อใช้ Docker:
docker run -i --rm \
-e VISOTRUST_API_TOKEN=<your-api-token> \
-e SPRING_PROFILES_ACTIVE=remote \
viso-mcp-server
เมื่อใดควรใช้โปรไฟล์ remote:
- เมื่อปรับใช้เซิร์ฟเวอร์ MCP กับเซิร์ฟเวอร์ระยะไกลหรือสภาพแวดล้อมคลาวด์
- เมื่อไคลเอนต์จะเชื่อมต่อผ่าน HTTP/SSE แทน stdio โดยตรง
- เมื่อคุณต้องการการบันทึกและการตรวจสอบที่เพิ่มขึ้นสำหรับการปรับใช้แบบกระจาย
- เมื่อผสานรวมกับผู้ช่วย AI บนเว็บที่ต้องการการสื่อสาร SSE
สำหรับการพัฒนาในเครื่องและการสื่อสาร stdio โดยตรง ให้ใช้โปรไฟล์เริ่มต้น (ไม่จำเป็นต้องระบุโปรไฟล์)
การติดตั้ง
การติดตั้งด่วน
คลิกปุ่มใดปุ่มหนึ่งด้านล่างเพื่อติดตั้ง VISO MCP Server ใน VS Code:
การตั้งค่าด้วยตนเองกับ VS Code
เพิ่มบล็อก JSON ต่อไปนี้ลงในไฟล์ User Settings (JSON) ของคุณใน VS Code คุณสามารถทำได้โดยกด 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 Image
docker build -t viso-mcp-server .
รัน Docker Container
docker run -i --rm -e VISOTRUST_API_TOKEN=<your-api-token> viso-mcp-server
การดีบัก
ติดตั้ง MCP Inspector
npm -g install @modelcontextprotocol/inspector
รัน MCP Inspector สำหรับการทดสอบ
- สร้างไฟล์ Jar ของ MCP Server
./gradlew bootJar
- รัน MCP Inspector
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 สำหรับการผสานรวมและปรับใช้ต่อเนื่อง เวิร์กโฟลว์ประกอบด้วยงานต่อไปนี้:
Lint
ตรวจสอบการจัดรูปแบบโค้ดโดยใช้ Spotless:
./gradlew spotlessCheck
Build
สร้างแอปพลิเคชันและสร้างไฟล์ JAR:
./gradlew build
Publish
เมื่อสร้างรุ่นใหม่:
- อัปเดตเวอร์ชันโปรเจกต์ใน build.gradle ให้ตรงกับแท็กรุ่น
- อัปโหลดไฟล์ JAR ไปยัง GitHub release ด้วยเวอร์ชันจากแท็กรุ่น
- สร้างและพุช Docker image ไปยัง Docker Hub ด้วยแท็ก:
latest- แท็กรุ่น (เช่น
v1.0.0)
ซีเคร็ตที่จำเป็นสำหรับการเผยแพร่
เพื่อเปิดใช้งานการเผยแพร่ Docker Hub ให้เพิ่มซีเคร็ตเหล่านี้ไปยังที่เก็บ GitHub ของคุณ:
DOCKERHUB_USERNAME: ชื่อผู้ใช้ Docker Hub ของคุณDOCKERHUB_TOKEN: โทเค็นการเข้าถึง Docker Hub ของคุณ
🛠️ เครื่องมือ
ส่วนนี้ให้เอกสารสำหรับเครื่องมือที่เปิดเผยโดย VISO MCP Server แต่ละเครื่องมือมีวัตถุประสงค์ พารามิเตอร์อินพุต และรูปแบบเอาต์พุตเฉพาะ
การประเมิน
get_assessment - รับการประเมินตาม ID
- id: ID การประเมิน (ตัวเลข, จำเป็น)
ส่งคืนข้อมูลโดยละเอียดเกี่ยวกับการประเมินเฉพาะ
get_assessment_summary - รับสรุปสำหรับการประเมินตาม ID
- id: ID การประเมิน (ตัวเลข, จำเป็น)
ส่งคืนรายละเอียดสรุปสำหรับการประเมินเฉพาะ
create_assessment - เริ่มการประเมินสำหรับความสัมพันธ์ที่มีอยู่
- relationshipId: ID ของความสัมพันธ์ที่จะสร้างการประเมิน (ตัวเลข, จำเป็น)
- recipientEmail: ที่อยู่อีเมลของผู้รับการประเมิน (สตริง, ไม่บังคับ)
- recipientFirstName: ชื่อจริงของผู้รับการประเมิน (สตริง, ไม่บังคับ)
- recipientLastName: นามสกุลของผู้รับการประเมิน (สตริง, ไม่บังคับ)
- publicDocumentUrls: URL ของเอกสารสาธารณะที่จะรวมในการประเมิน (สตริง[], ไม่บังคับ)
- followupType: ประเภทของการติดตามผล (สตริง enum, ไม่บังคับ)
- followupRiskThreshold: เกณฑ์ระดับความเสี่ยงที่เรียกการติดตามผล (สตริง enum, ไม่บังคับ)
- followupTimeline: เส้นเวลาสำหรับการดำเนินการติดตามผล (สตริง enum, ไม่บังคับ)
- collectionTimeline: เส้นเวลาสำหรับผู้ขายในการส่งการประเมินให้เสร็จสมบูรณ์ (สตริง enum, ไม่บังคับ)
- noVendorResponseAction: การดำเนินการเมื่อผู้ขายไม่ตอบสนอง (สตริง enum, ไม่บังคับ)
- aiProcessingOnly: ว่าจะประมวลผลโดยใช้ AI เท่านั้นโดยไม่มีการตรวจสอบโดยมนุษย์หรือไม่ (บูลีน, ไม่บังคับ)
- requestedAuditTypes: ประเภทของการตรวจสอบที่ร้องขอสำหรับการประเมินนี้ (สตริง[], ไม่บังคับ)
ส่งคืนรายละเอียดการประเมินที่สร้างขึ้น
update_assessment_expiration_date - อัปเดตกำหนดเวลาที่ผู้ขายต้องส่งการตอบสนองการประเมิน
- id: ID การประเมิน (ตัวเลข, จำเป็น)
- expirationDate: วันที่/เวลาหมดอายุใหม่, ISO-8601 พร้อมออฟเซ็ต; ต้องเป็นในอนาคต (สตริง, จำเป็น)
ส่งคืนข้อความยืนยัน
update_assessment_followup - อัปเดตการกำหนดค่าการติดตามผลสำหรับการประเมิน
- id: ID การประเมิน (ตัวเลข, จำเป็น)
- followupType: ประเภทการติดตามผล (สตริง enum, จำเป็น)
- followupRiskThreshold: เกณฑ์ความเสี่ยงที่หรือสูงกว่าที่ควรเรียกการประเมินติดตามผล (สตริง enum, ไม่บังคับ)
- followupTimeline: เส้นเวลาการติดตามผล (สตริง enum, ไม่บังคับ)
ส่งคืนข้อความยืนยัน
บันทึกการตรวจสอบ
get_user_audit_log_events - รับเหตุการณ์บันทึกการตรวจสอบที่กำหนดขอบเขตผู้ใช้สำหรับองค์กรของคุณ
- start: วันที่/เวลาเริ่มต้นของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
- end: วันที่/เวลาสิ้นสุดของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
- eventTypes: ชุดประเภทเหตุการณ์ที่ไม่บังคับเพื่อกรอง (เช่น
USER_LOGGED_IN); เว้นว่างไว้สำหรับทั้งหมด (สตริง[], ไม่บังคับ)
ส่งคืนรายการเหตุการณ์บันทึกการตรวจสอบของผู้ใช้ จำกัด 500 ระเบียน
get_audit_log_events - รับเหตุการณ์บันทึกการตรวจสอบที่กรองแล้ว (เหตุการณ์ผู้ใช้, องค์กร, การประเมิน และความสัมพันธ์)
- start: วันที่/เวลาเริ่มต้นของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
- end: วันที่/เวลาสิ้นสุดของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
- eventTypes: ชุดประเภทเหตุการณ์ที่ไม่บังคับเพื่อกรอง (เช่น
ASSESSMENT_COMPLETED,RELATIONSHIP_CREATED); เว้นว่างไว้สำหรับทั้งหมด (สตริง[], ไม่บังคับ)
ส่งคืนระเบียนเหตุการณ์บันทึกการตรวจสอบแบบพหุสัณฐาน แต่ละรายการมีอย่างน้อย auditEventType และ dateTime
กรณีธุรกิจ
get_all_business_cases - รับกรณีธุรกิจทั้งหมดที่มีสำหรับองค์กรของคุณ
ไม่จำเป็นต้องมีพารามิเตอร์
ส่งคืนรายการกรณีธุรกิจทั้งหมดที่มีสำหรับองค์กรของคุณ
ประเภทข้อมูล
get_all_datatypes - รับประเภทข้อมูลทั้งหมดที่มีสำหรับองค์กรของคุณ
ไม่จำเป็นต้องมีพารามิเตอร์
ส่งคืนรายการประเภทข้อมูลทั้งหมดที่มีสำหรับองค์กรของคุณ
ไดเรกทอรีผู้ขาย
search_vendor_directory - ค้นหาผู้ขายในไดเรกทอรีผู้ขาย VISO TRUST ตาม URL หรือโดเมน
- urlOrDomain: URL หรือชื่อโดเมนที่จะค้นหา เช่น
example.com(สตริง, จำเป็น)
ส่งคืนข้อมูลเมตาพื้นฐานของผู้ขาย (ชื่อ, โฮมเพจ, คำอธิบาย, favicon, โดเมนที่รู้จัก)
ความสัมพันธ์
get_all_relationships - รับรายการความสัมพันธ์ทั้งหมดและรายละเอียดการประเมิน
ไม่จำเป็นต้องมีพารามิเตอร์
ส่งคืนข้อมูลเกี่ยวกับผู้ขายบุคคลที่สามรวมถึงสถานะการประเมิน ระดับความเสี่ยง และรายละเอียดการติดต่อ
get_relationship_by_id - รับความสัมพันธ์เฉพาะและรายละเอียดการประเมินตาม ID
- id: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)
ส่งคืนข้อมูลโดยละเอียดเกี่ยวกับผู้ขายบุคคลที่สามรวมถึงสถานะการประเมิน ระดับความเสี่ยง และรายละเอียดการติดต่อ
get_relationship_assessment_history - รับประวัติการประเมินสำหรับความสัมพันธ์
- id: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)
ส่งคืนรายการการประเมินที่เกี่ยวข้องกับความสัมพันธ์ที่ระบุ
create_relationship - สร้างความสัมพันธ์ใหม่กับผู้ขายบุคคลที่สาม
- name: ชื่อของความสัมพันธ์/ผู้ขาย (สตริง, จำเป็น)
- homepage: URL โฮมเพจของผู้ขาย (สตริง, จำเป็น)
- businessOwnerEmail: ที่อยู่อีเมลของเจ้าของธุรกิจ (สตริง, จำเป็น)
- businessOwnerFirstName: ชื่อจริงของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
- businessOwnerLastName: นามสกุลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
- description: คำอธิบายของความสัมพันธ์/ผู้ขาย (สตริง, ไม่บังคับ)
- contextTypes: รายการประเภทบริบททางธุรกิจสำหรับความสัมพันธ์นี้ (ออบเจกต์[], ไม่บังคับ)
- dataTypes: รายการประเภทข้อมูลที่จัดการในความสัมพันธ์นี้ (ออบเจกต์[], ไม่บังคับ)
- tags: รายการแท็กเพื่อจัดหมวดหมู่ความสัมพันธ์นี้ (สตริง[], ไม่บังคับ)
- thirdPartyContact: รายละเอียดการติดต่อของตัวแทนผู้ขายบุคคลที่สาม (ออบเจกต์, ไม่บังคับ)
ส่งคืนรายละเอียดความสัมพันธ์ที่สร้างขึ้น
create_relationship_by_domain - สร้างความสัมพันธ์ใหม่โดยใช้เฉพาะโดเมนผู้ขาย
- domain: โดเมนของผู้ขาย เช่น
visotrust.com(สตริง, จำเป็น) - vendorName: ชื่อของผู้ขาย (สตริง, จำเป็น)
- product: ผลิตภัณฑ์ที่นำเสนอโดยผู้ขาย (สตริง, ไม่บังคับ)
- description: คำอธิบายของความสัมพันธ์ผู้ขาย (สตริง, ไม่บังคับ)
ส่งคืนรายละเอียดความสัมพันธ์ที่สร้างขึ้น
update_relationship - อัปเดตความสัมพันธ์ที่มีอยู่กับผู้ขายบุคคลที่สาม
- id: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)
- name: ชื่อของความสัมพันธ์/ผู้ขาย (สตริง, จำเป็น)
- homepage: URL โฮมเพจของผู้ขาย (สตริง, ไม่บังคับ)
- description: คำอธิบายของความสัมพันธ์/ผู้ขาย (สตริง, ไม่บังคับ)
- contextTypes: รายการประเภทบริบททางธุรกิจ (ออบเจกต์[], ไม่บังคับ)
- dataTypes: รายการประเภทข้อมูลที่จัดการในความสัมพันธ์นี้ (ออบเจกต์[], ไม่บังคับ)
- businessOwnerEmail: ที่อยู่อีเมลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
- businessOwnerFirstName: ชื่อจริงของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
- businessOwnerLastName: นามสกุลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
- tags: รายการแท็ก (สตริง[], ไม่บังคับ)
ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดต
partially_update_relationship - อัปเดตความสัมพันธ์ที่มีอยู่บางส่วน
ยอมรับฟิลด์เดียวกันกับ update_relationship เฉพาะฟิลด์ที่ให้ไว้ในคำขอเท่านั้นที่เปลี่ยนแปลง; ฟิลด์อื่นๆ จะไม่ถูกแตะต้อง
ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดต
search_relationships - ค้นหาความสัมพันธ์ตามชื่อโดเมนหรือชื่อผู้ขาย
- domains: รายการชื่อโดเมนที่จะค้นหา (สตริง[], จำเป็น)
- name: ชื่อของผู้ขาย/ความสัมพันธ์ที่จะค้นหา (สตริง, จำเป็น)
ส่งคืนรายการความสัมพันธ์ที่ตรงกันพร้อมรายละเอียดการประเมิน
create_tags - สร้างแท็กใหม่สำหรับจัดหมวดหมู่ความสัมพันธ์
- tags: รายการชื่อแท็กที่จะสร้าง (สตริง[], จำเป็น)
ส่งคืนรายการแท็กทั้งหมดรวมถึงแท็กที่สร้างขึ้นใหม่
update_third_party_contact - อัปเดตรายละเอียดการติดต่อสำหรับผู้ขายบุคคลที่สาม
- relationshipId: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)
- email: อีเมลติดต่อ (สตริง, จำเป็น)
- firstName: ชื่อจริงผู้ติดต่อ (สตริง, จำเป็น)
- lastName: นามสกุลผู้ติดต่อ (สตริง, จำเป็น)
ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดต
onboard_relationship - เริ่มต้นความสัมพันธ์ พร้อมตัวเลือกสรุปการอนุมัติและการตั้งค่าการจัดการวงจรชีวิต
- id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)
- approvalSummary: สรุปการอนุมัติที่บันทึกเมื่อเริ่มต้น (สตริง, ไม่บังคับ)
- lifecycleManagementUpdateRequest: การตั้งค่าการจัดการวงจรชีวิต (อ็อบเจกต์, ไม่บังคับ)
- artifactUpdateSettings.artifactUpdateType: ประเภทการอัปเดตอาร์ติแฟกต์ (สตริง enum)
- recertificationSettings.recertificationType: ประเภทการรับรองใหม่ (สตริง enum)
- recertificationSettings.recertificationDate: วันที่/เวลาของการรับรองใหม่ครั้งถัดไป, ISO-8601 พร้อม offset (สตริง)
- recertificationSettings.reviewFrequency:
THREE_YEARS,TWO_YEARS,ANNUAL,SEMIANNUAL, หรือQUARTERLY(สตริง enum)
ส่งคืนรายละเอียดความสัมพันธ์ที่เริ่มต้นแล้ว
offboard_relationship - ยกเลิกความสัมพันธ์
- id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)
ส่งคืนรายละเอียดความสัมพันธ์ที่ยกเลิกแล้ว
archive_relationship - เก็บถาวรความสัมพันธ์
- id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)
ส่งคืนรายละเอียดความสัมพันธ์ที่เก็บถาวรแล้ว
Webhooks
get_all_webhooks - รับ webhooks ทั้งหมด
ไม่มีพารามิเตอร์ที่จำเป็น
ส่งคืนรายการการกำหนดค่า webhook ทั้งหมด
get_webhook - รับการกำหนดค่า webhook ตามรหัส
- id: รหัส Webhook (ตัวเลข, จำเป็น)
ส่งคืนรายละเอียดของการกำหนดค่า webhook เฉพาะ
create_webhook_configuration - สร้างการกำหนดค่า webhook
- request: พารามิเตอร์การสร้าง Webhook (อ็อบเจกต์, จำเป็น)
- url: URL ของ Webhook (สตริง, จำเป็น)
- secret: ข้อมูลลับของ Webhook (สตริง, จำเป็น)
- eventTypes: ประเภทเหตุการณ์ที่จะทริกเกอร์ webhook (สตริง[], จำเป็น)
- serviceType: ประเภทบริการสำหรับ webhook (สตริง, จำเป็น)
ส่งคืนการกำหนดค่า webhook ที่สร้างขึ้น
update_webhook_configuration - อัปเดตการกำหนดค่า webhook
- request: พารามิเตอร์การอัปเดต Webhook (อ็อบเจกต์, จำเป็น)
- id: รหัส Webhook (ตัวเลข, จำเป็น)
- url: URL ของ Webhook (สตริง, ไม่บังคับ)
- secret: ข้อมูลลับของ Webhook (สตริง, ไม่บังคับ)
- eventTypes: ประเภทเหตุการณ์ที่จะทริกเกอร์ webhook (สตริง[], ไม่บังคับ)
- serviceType: ประเภทบริการสำหรับ webhook (สตริง, ไม่บังคับ)
ส่งคืนการกำหนดค่า webhook ที่อัปเดตแล้ว
delete_webhook_configuration - ลบการกำหนดค่า webhook
- id: รหัส Webhook (ตัวเลข, จำเป็น)
ลบการกำหนดค่า webhook ที่ระบุ
รายงานข่าวกรอง
create_bitsight_intelligence_report - สร้างรายงานข่าวกรอง BitSight ใหม่
- request: พารามิเตอร์รายงาน BitSight (อ็อบเจกต์, จำเป็น)
- vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
- reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
- link: ลิงก์ไปยัง UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
- guid: GUID ของ BitSight สำหรับเอนทิตี (สตริง, จำเป็น)
- customId: ตัวระบุแบบกำหนดเองจาก BitSight (สตริง, ไม่บังคับ)
- name: ชื่อที่แสดงของเอนทิตี BitSight (สตริง, ไม่บังคับ)
- description: คำอธิบายของเอนทิตี BitSight (สตริง, ไม่บังคับ)
- primaryDomain: โดเมนหลักสำหรับเอนทิตี BitSight (สตริง, ไม่บังคับ)
- ratingRange: ช่วงคะแนนของ BitSight (สตริง, ไม่บังคับ)
- ratingColor: สีคะแนนของ BitSight (สตริง, ไม่บังคับ)
- confidence: ระดับความเชื่อมั่นของคะแนน BitSight (สตริง, ไม่บังคับ)
ส่งคืนรายงานข่าวกรองที่สร้างขึ้น
create_security_scorecard_intelligence_report - สร้างรายงานข่าวกรอง SecurityScorecard ใหม่
- request: พารามิเตอร์รายงาน SecurityScorecard (อ็อบเจกต์, จำเป็น)
- vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
- reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
- link: ลิงก์ไปยัง UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
- grade: เกรดตัวอักษรจาก SecurityScorecard (สตริง, จำเป็น)
- domain: โดเมนที่เกี่ยวข้องกับเอนทิตี scorecard (สตริง, ไม่บังคับ)
- score: คะแนนตัวเลขจาก SecurityScorecard (ตัวเลข, ไม่บังคับ)
ส่งคืนรายงานข่าวกรองที่สร้างขึ้น
create_recorded_future_intelligence_report - สร้างรายงานข่าวกรอง Recorded Future ใหม่
- request: พารามิเตอร์รายงาน Recorded Future (อ็อบเจกต์, จำเป็น)
- vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
- reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
- entityType: ประเภทเอนทิตีของ Recorded Future เช่น
Company(สตริง, จำเป็น) - entity: ตัวระบุเอนทิตีของ Recorded Future (สตริง, จำเป็น)
- riskScore: คะแนนความเสี่ยงตัวเลข (ตัวเลข, จำเป็น)
- riskLevel: ป้ายระดับความเสี่ยง เช่น
Critical/High/Medium/Low(สตริง, จำเป็น) - link: ลิงก์ไปยังรายงานใน UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
- firstSeen: วันที่พบเอนทิตีครั้งแรก, ISO 8601 (สตริง, ไม่บังคับ)
- lastSeen: วันที่พบเอนทิตีล่าสุด, ISO 8601 (สตริง, ไม่บังคับ)
- triggeredRuleCount: จำนวนกฎของ Recorded Future ที่ถูกทริกเกอร์ (ตัวเลข, ไม่บังคับ)
- maxRuleCount: จำนวนกฎสูงสุดของ Recorded Future ที่ประเมิน (ตัวเลข, ไม่บังคับ)
- summary: ข้อความสรุปจาก Recorded Future (สตริง, ไม่บังคับ)
- criticalityLabel: ป้ายความสำคัญของ Recorded Future สำหรับเอนทิตี (สตริง, ไม่บังคับ)
ส่งคืนรายงานข่าวกรองที่สร้างขึ้น
get_intelligence_reports_by_vendor - รับรายงานข่าวกรองทั้งหมดสำหรับผู้ขาย
- vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
ส่งคืนรายการรายงานข่าวกรองสำหรับผู้ขายที่ระบุ
get_latest_intelligence_report - รับรายงานข่าวกรองล่าสุดสำหรับผู้ขายจากแหล่งที่มาเฉพาะ
- vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
- source: ผู้ให้บริการข่าวกรอง (สตริง enum:
BITSIGHT,SECURITY_SCORECARD, หรือRECORDED_FUTURE, จำเป็น)
ส่งคืนรายงานข่าวกรองล่าสุดสำหรับผู้ขายและแหล่งที่มาที่ระบุ
ผู้ใช้
get_all_users - รับผู้ใช้ทั้งหมดในองค์กรของคุณ
- page: หน้าผลลัพธ์ที่จะดึงข้อมูล (ตัวเลข, ไม่บังคับ; ค่าเริ่มต้น 0)
- size: จำนวนระเบียนต่อหน้า (ตัวเลข, ไม่บังคับ; ค่าเริ่มต้น 20)
- sort: เกณฑ์การเรียงลำดับในรูปแบบ: property(,asc|desc) (สตริง, ไม่บังคับ)
ส่งคืนรายการผู้ใช้แบบแบ่งหน้า
get_user_by_email - รับผู้ใช้ตามอีเมล
- email: ที่อยู่อีเมลของผู้ใช้ (สตริง, จำเป็น)
ส่งคืนรายละเอียดผู้ใช้
create_user - สร้างผู้ใช้ใหม่
- request: พารามิเตอร์การสร้างผู้ใช้ (อ็อบเจกต์, จำเป็น)
- email: ที่อยู่อีเมลของผู้ใช้ใหม่ (สตริง, จำเป็น)
- firstName: ชื่อจริงของผู้ใช้ใหม่ (สตริง, จำเป็น)
- lastName: นามสกุลของผู้ใช้ใหม่ (สตริง, จำเป็น)
ส่งคืนผู้ใช้ที่สร้างขึ้น
การจัดรูปแบบโค้ด
โปรเจกต์นี้ใช้ Spotless กับ Google Java Format สำหรับการจัดรูปแบบโค้ด มีการตั้งค่า pre-commit hook โดยอัตโนมัติเพื่อให้แน่ใจว่าสไตล์โค้ดสอดคล้องกัน
การตั้งค่า
หลังจากโคลนที่เก็บโค้ดแล้ว pre-commit hook จะถูกตั้งค่าโดยอัตโนมัติเมื่อคุณรันคำสั่ง Gradle ใดๆ
การจัดรูปแบบด้วยตนเอง
เพื่อจัดรูปแบบไฟล์ทั้งหมดด้วยตนเอง:
./gradlew spotlessApply
เพื่อตรวจสอบว่าไฟล์ถูกจัดรูปแบบอย่างถูกต้องหรือไม่:
./gradlew spotlessCheck
หาก pre-commit hook ปฏิเสธการคอมมิตของคุณเนื่องจากปัญหาการจัดรูปแบบ เพียงรัน ./gradlew spotlessApply เพื่อแก้ไขการจัดรูปแบบแล้วลองคอมมิตอีกครั้ง
ใบอนุญาต
โปรเจกต์นี้ได้รับอนุญาตภายใต้ MIT License - ดูรายละเอียดในไฟล์ LICENSE