Telivy

io.github.WYRE-AI由 GitHub 帳號 WYRE-AI 發布v1.0.1更新於 Oct 24, 2026

MCP server for Telivy's security assessment API for MSPs.

已驗證STDIO僅桌面安全與監控商業與電商

概覽

AI 產生的概覽

面向 MSP 的 Telivy 安全評估 API 唯讀 MCP 伺服器,讓助理檢視外部掃描、深度掃描風險評估、裝置清單與暴露發現。

可以做什麼
  • 列出並讀取外部(表面)掃描、依 slug 查看其發現項目,以及掃描網域相關的外洩紀錄
  • 列出並讀取深度掃描風險評估、其裝置清單,以及所有裝置的掃描完成狀態
  • 檢視 Microsoft 365 與 Google Workspace 使用者帳號的登入、MFA 與 2SV 狀態,以及 PII 暴露摘要
  • 查詢頂層發現詳情、最新深度掃描代理版本,以及比較兩個掃描時段的進度報告
適用情境
適合已在使用 Telivy 評估的託管服務商或安全團隊,希望助理在對話中直接彙整掃描結果、裝置暴露面、身分與 MFA 狀況,以及兩次掃描之間的進展。
執行需求
以本機程序(stdio)方式從已發佈的容器映像執行,或透過 HTTP 供閘道託管。需要 Telivy 入口網站(Account > Integrations)簽發的 API 金鑰,放在 TELIVY_API_KEY 中;閘道模式下則依請求透過 X-Telivy-Api-Key 標頭傳入。HTTP 模式另需 CONDUIT_S2S_SECRET 與簽章的 X-Gateway-S2S 標頭。
安裝前請注意
Telivy API 金鑰屬於憑證,應避免寫入日誌或共用設定。HTTP 模式由 HMAC 密鑰(CONDUIT_S2S_SECRET)保護,佔位值會被拒絕,不安全開發繞過僅限本機使用。此連接器為唯讀,不執行重新掃描、解除安裝等寫入操作。掃描資料(含使用者帳號與 PII 摘要)來自 Telivy 服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Telivy,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Telivy MCP Server

MCP server for Telivy's security assessment API for MSPs - external (surface) scans, deep-scan risk assessments, device inventory, M365/Google Workspace user exposure, PII summaries, and finding-level detail, for AI assistants and the WYRE Conduit gateway.

Authentication

Telivy authenticates with a single static API key, generated from the Telivy Portal (Account > Integrations). An OAuth2/Auth0 implicit flow also exists, but the API-key path is simpler and is what MSP integrations use, so that's what this connector uses. The key is sent as the x-api-key HTTP header.

Configuration

Copy .env.example and set the variables below. Leave CONDUIT_S2S_SECRET empty in the example; generate a real value with openssl rand -hex 32.

Env varDescription
TELIVY_API_KEYAPI key issued by Telivy. Required for stdio and for HTTP when AUTH_MODE=env. Gateway mode does not read it.
MCP_TRANSPORTstdio (default) or http.
AUTH_MODEenv (default outside Docker; reads TELIVY_API_KEY) or gateway (credential arrives per-request via X-Telivy-Api-Key). The image and Compose file default to gateway. Gateway mode returns 401 when that header is missing and never falls back to TELIVY_API_KEY.
CONDUIT_S2S_SECRETRequired for HTTP. HMAC secret checked against X-Gateway-S2S on /mcp. If it is empty or a known placeholder (changeme, secret, your-s2s-secret, and the other example values in src/http.ts), the process logs an error and exits non-zero. The value is never logged. Compose will not start when it is unset.
MCP_ALLOW_INSECURE_DEVSet to exactly 1 to start HTTP without CONDUIT_S2S_SECRET. Logs a warning, does not enforce X-Gateway-S2S, and binds 127.0.0.1 only. A non-loopback MCP_HTTP_HOST (including 0.0.0.0) refuses to start. A known placeholder secret is still refused. Local development only.
MCP_HTTP_HOSTBind address when MCP_TRANSPORT=http. Defaults to 127.0.0.1. A configured secret keeps honoring this value, including 0.0.0.0. The container image sets 0.0.0.0. With no secret, the insecure-dev bypass forces 127.0.0.1.
MCP_HTTP_PORTHTTP port. Defaults to 8080.
LOG_LEVELdebug | info (default) | warn | error.

/health and /healthz stay unauthenticated and do not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.

HTTP authentication

With MCP_TRANSPORT=http and CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. The check is verifyS2sHeader in src/s2s-verify.ts: the header value is t=<unix seconds>,v1=<hex>, where the hex is HMAC-SHA256 of the literal string t=<unix seconds> keyed with CONDUIT_S2S_SECRET (64 lowercase hex characters). The timestamp must be within 300 seconds of the server clock. A missing or invalid header is HTTP 401, before the Telivy API key is read.

bash
TS=$(date +%s)SIG=$(printf 't=%s' "$TS" | openssl dgst -sha256 -hmac "$CONDUIT_S2S_SECRET" -hex | awk '{print $NF}')curl -sS http://127.0.0.1:8080/mcp \  -H 'Content-Type: application/json' \  -H 'Accept: application/json, text/event-stream' \  -H "X-Gateway-S2S: t=${TS},v1=${SIG}" \  -H "X-Telivy-Api-Key: $TELIVY_API_KEY" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

In AUTH_MODE=gateway, /mcp also requires X-Telivy-Api-Key. That header is the only credential source for the request. AUTH_MODE=env still requires a valid X-Gateway-S2S header, then uses TELIVY_API_KEY from the environment.

Tools

External scans

  • telivy_list_external_scans - list external (surface) scans, with search/sort/pagination.
  • telivy_get_external_scan - get a single external scan by assessment ID.
  • telivy_list_external_scan_findings - list the findings for an external scan.
  • telivy_get_external_scan_finding - get details for a single external scan finding by slug.
  • telivy_get_breach_data - get breach records surfaced for an external scan's domain(s).

Risk assessments

  • telivy_list_risk_assessments - list deep-scan risk assessments, with search/sort/pagination/status filters.
  • telivy_get_risk_assessment - get a single risk assessment by ID.
  • telivy_list_risk_assessment_devices - list all deep-scan devices for a risk assessment.
  • telivy_get_risk_assessment_device - get a single deep-scan device by ID.
  • telivy_get_risk_assessment_scan_status - get scan completion status across all devices.
  • telivy_list_m365_users - get Microsoft 365 user accounts with login status and MFA info.
  • telivy_list_gws_users - get Google Workspace user accounts with login and 2SV status.
  • telivy_get_pii_summary - get the PII exposure summary across all devices.

Findings, agent versions, and risk progress

  • telivy_get_agent_versions - get the latest deep-scan agent versions (Windows/Mac).
  • telivy_get_finding - get top-level finding details by slug (e.g. TYPO_SQUATTING, PERSONAL_EMAILS).
  • telivy_get_risk_progress - get a progress report (new/resolved/regressed/open findings) comparing two scan timestamp groups.

Scope

This is a v1, read-only MSP fleet/security-visibility surface, matching this wave's convention of scoping connectors to monitoring/visibility and deferring provisioning-style writes. Explicitly out of scope for now:

  • All write endpoints: creating or updating external scans and risk assessments, rescan-all, uninstall-all, rescanning a single device, convert-to-risk-assessment, and updating monitoring settings. These are provisioning/destructive actions, not read-only visibility.
  • The binary report-download endpoints (GET .../external-scans/{id}/report, GET .../risk-assessments/{id}/report) - they return files, not the structured JSON this connector's tools deal in.
  • GET /api/v1/security/risk-assessments/{id}/domain-change-preview - a preview endpoint for an in-flight domain-change write, out of scope alongside the write it previews.

They can be added as a follow-up if there's demand.

Development

bash
npm installnpm run buildnpm testnpm run lint   # tsc --noEmit

HTTP refuses to start until CONDUIT_S2S_SECRET is set:

bash
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" npm run start:http

Local HTTP without a service-to-service secret binds 127.0.0.1 only and logs a warning. The image sets MCP_HTTP_HOST=0.0.0.0, so this bypass also requires that variable to be loopback (or unset). A non-loopback host makes startup exit:

bash
MCP_ALLOW_INSECURE_DEV=1 npm run start:http

Docker

The image listens on 0.0.0.0 inside the container and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass a real S2S secret. In gateway mode the Telivy API key arrives on each request as X-Telivy-Api-Key; it is not read from the environment.

bash
docker build -t telivy-mcp .docker run \  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \  -p 127.0.0.1:8080:8080 \  telivy-mcp

Compose refuses to start when CONDUIT_S2S_SECRET is unset or empty, defaults AUTH_MODE to gateway, publishes 127.0.0.1:8080:8080, and does not set TELIVY_API_KEY:

bash
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up

Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses TELIVY_API_KEY:

bash
docker run \  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \  -e AUTH_MODE=env \  -e TELIVY_API_KEY="$TELIVY_API_KEY" \  -p 127.0.0.1:8080:8080 \  telivy-mcp

來源:README.md,提交 2caedbb

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v1.0.1最新Oct 17, 2026
  2. v1.0.0Sep 20, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。