EchelonGraph CVE & Exposure
CVE, KEV, EPSS, SBOM and advisory lookups; per-CVE exposure from Shodan data (© Shodan). Keyless.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for Kaseya SaaS Alerts — SaaS security monitoring for M365 & Google Workspace.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
SAAS_ALERTS_API_KEY, MCP_TRANSPORT, AUTH_MODE, LOG_LEVELค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"saas-alerts": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SAAS_ALERTS_API_KEY",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/saas-alerts-mcp:v1.2.4"
],
"env": {
"SAAS_ALERTS_API_KEY": "ใส่ค่าของคุณ",
"MCP_TRANSPORT": "ใส่ค่าของคุณ",
"AUTH_MODE": "ใส่ค่าของคุณ",
"LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add saas-alerts --env SAAS_ALERTS_API_KEY='ใส่ค่าของคุณ' --env MCP_TRANSPORT='ใส่ค่าของคุณ' --env AUTH_MODE='ใส่ค่าของคุณ' --env LOG_LEVEL='ใส่ค่าของคุณ' -- docker run -i --rm -e SAAS_ALERTS_API_KEY -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/saas-alerts-mcp:v1.2.4เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"saas-alerts": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SAAS_ALERTS_API_KEY",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/saas-alerts-mcp:v1.2.4"
],
"env": {
"SAAS_ALERTS_API_KEY": "ใส่ค่าของคุณ",
"MCP_TRANSPORT": "ใส่ค่าของคุณ",
"AUTH_MODE": "ใส่ค่าของคุณ",
"LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"saas-alerts": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SAAS_ALERTS_API_KEY",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/saas-alerts-mcp:v1.2.4"
],
"env": {
"SAAS_ALERTS_API_KEY": "ใส่ค่าของคุณ",
"MCP_TRANSPORT": "ใส่ค่าของคุณ",
"AUTH_MODE": "ใส่ค่าของคุณ",
"LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MCP_TRANSPORT envAUTH_MODE envLOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub wyre-technology ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: SAAS_ALERTS_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.2.4) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี EchelonGraph CVE & Exposure, KillerSkills, Phishnoo Sandbox
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
CVE, KEV, EPSS, SBOM and advisory lookups; per-CVE exposure from Shodan data (© Shodan). Keyless.
Security verdicts for agent skills and MCP servers, from sandbox runs, before you install them.
Explore synthetic security awareness metrics and file example threat reports.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Model Context Protocol server for Kaseya SaaS Alerts — a SaaS security monitoring platform for M365 and Google Workspace events.
Part of the WYRE Technology MCP fleet.
Exposes the full SaaS Alerts External Partner API (v0.20.0) through 30 MCP tools organized by domain:
| Domain | Tools |
|---|---|
| events | Query/count security events by severity, customer, user, event type; advanced Elasticsearch queries; scroll pagination; recommended actions |
| customers | List, get, create, update, delete customers; set IP/country and account whitelists |
| users | MSP user info, partner users, customer users |
| devices | Unify mapped/unmapped/ignored devices, device organizations |
| billing | Billing details by date, billing date history |
| reports | List/get/create/delete scheduled reports |
| partner | Partner profile, branding settings |
Write/destructive tools require user confirmation via MCP elicitation (fail-open: proceeds if client doesn't support elicitation).
SaaS Alerts uses an API key sent as the api_key HTTP header.
Generate your API key in the SaaS Alerts UI under Settings → API Keys.
Copy .env.example. Leave CONDUIT_S2S_SECRET empty in that file and never commit a real value.
| Variable | Required | Description |
|---|---|---|
SAAS_ALERTS_API_KEY | For stdio and AUTH_MODE=env | SaaS Alerts API key. Gateway mode does not read it. |
MCP_TRANSPORT | No | stdio (default) or http |
AUTH_MODE | No | gateway (Docker image and Compose default) or env. Gateway mode requires X-SaaS-Alerts-API-Key on each /mcp request and never falls back to SAAS_ALERTS_API_KEY. |
CONDUIT_S2S_SECRET | Yes for HTTP | Service-to-service secret. The HTTP server logs an error and exits non-zero when this is empty or a known placeholder (changeme, secret, your-s2s-secret, and the other example values). Compose will not start when it is unset. The value is never logged. |
MCP_ALLOW_INSECURE_DEV | No | Set to 1 only for local development to start HTTP without CONDUIT_S2S_SECRET. The process logs a warning, does not enforce X-Gateway-S2S, and listens on 127.0.0.1 only. A wider MCP_HTTP_HOST (including 0.0.0.0) is overridden. A placeholder secret is still rejected. |
MCP_HTTP_HOST | No | Bind address when a real CONDUIT_S2S_SECRET is set. Defaults to 127.0.0.1. The container image sets 0.0.0.0. Without a real secret the listener is forced to 127.0.0.1. |
MCP_HTTP_PORT | No | HTTP port. Defaults to 8080. |
/health and /healthz stay unauthenticated and do not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
With MCP_TRANSPORT=http and a real CONDUIT_S2S_SECRET, every /mcp request must include X-Gateway-S2S. A missing or invalid header returns 401 before any vendor credential is read.
The header value is t= ,v1= :
t to the current unix time in seconds.t= with HMAC-SHA256, using CONDUIT_S2S_SECRET as the key.t= ,v1= .The timestamp must be within 300 seconds of the server clock. Example:
import { createHmac } from 'node:crypto';
const t = Math.floor(Date.now() / 1000); const v1 = createHmac('sha256', process.env.CONDUIT_S2S_SECRET).update(t=${t}).digest('hex'); const xGatewayS2s = t=${t},v1=${v1};
export SAAS_ALERTS_API_KEY=your-api-key
node dist/index.js
CONDUIT_S2S_SECRET is required. If it is empty, the process logs an error and exits non-zero.
export CONDUIT_S2S_SECRET="$(openssl rand -hex 32)"
export SAAS_ALERTS_API_KEY=your-api-key export MCP_TRANSPORT=http export AUTH_MODE=env export MCP_HTTP_PORT=8080 node dist/http.js
Local HTTP without a secret is development-only. It binds 127.0.0.1 even if MCP_HTTP_HOST is 0.0.0.0, and logs a warning:
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm run start:http
When running behind the WYRE MCP Gateway, set AUTH_MODE=gateway (the image and Compose default). The gateway signs each request with X-Gateway-S2S and injects the API key via X-SaaS-Alerts-API-Key. A request missing that credential header returns 401 and does not use SAAS_ALERTS_API_KEY from the environment.
await fetch('http://127.0.0.1:8080/mcp', {
method: 'POST', headers: { 'content-type': 'application/json', accept: 'application/json, text/event-stream', 'x-gateway-s2s': xGatewayS2s, 'x-saas-alerts-api-key': apiKey, }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'tools/list' }), });
The image listens on 0.0.0.0 inside the container and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass the S2S secret. In gateway mode the SaaS Alerts API key arrives on each request; it is not read from the environment.
docker build -t saas-alerts-mcp .
docker run \ -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \ -p 127.0.0.1:8080:8080 \ saas-alerts-mcp
Compose refuses to start when CONDUIT_S2S_SECRET is unset, sets AUTH_MODE=gateway, publishes 127.0.0.1:8080:8080, and does not pass SAAS_ALERTS_API_KEY into the gateway service:
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses SAAS_ALERTS_API_KEY:
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \ -e AUTH_MODE=env \ -e SAAS_ALERTS_API_KEY=your-key \ -p 127.0.0.1:8080:8080 \ ghcr.io/wyre-ai/saas-alerts-mcp:latest
npm install
npm run build npm test npm run lint node scripts/lint-destructive-warnings.mjs src
Tools that permanently delete data (customer delete, scheduled report delete) carry:
⚠ DESTRUCTIVE — IRREVERSIBLE description prefixannotations.destructiveHint: trueAlways confirm with the user before invoking these tools.
Apache-2.0 — see LICENSE.