
Bitdefender GravityZone
io.github.WYRE-AI由 GitHub 帳號 WYRE-AI 發布v1.0.1更新於 Oct 24, 2026
MCP server for Bitdefender GravityZone's JSON-RPC API.
概覽
針對 Bitdefender GravityZone 的唯讀 MCP 伺服器,讓助理檢視端點、安全原則、黑名單雜湊與報表。
- 可以做什麼
- 查詢端點與網路清單:受管/非受管端點、單一端點詳細資料、自訂群組、清單項目以及既有的掃描工作
- 檢視安全原則:列出原則並讀取單一原則的完整設定
- 檢視事件:列出帳戶層級黑名單中的檔案雜湊
- 檢視報表:列出排程/即時報表並取得報表的下載連結
- 所有呼叫都是 Network、Policies、Incidents 與 Reports 介面中的唯讀 getXxx/listXxx 方法
- 適用情境
- 適合讓助理回答關於 Bitdefender GravityZone 環境的問題,例如哪些端點受管、某條原則包含什麼、哪些雜湊被封鎖、有哪些報表,同時不賦予它修改能力。它是刻意收窄的唯讀介面,不適用於隔離、掃描、修復或原則修改。
- 執行需求
- 以本機程序(stdio)方式從 OCI 映像執行,或作為 HTTP 服務供閘道託管。需要 BITDEFENDER_API_KEY(在 Control Center 產生,並勾選 Network、Policies、Reports、Incidents 介面區域)與 BITDEFENDER_ACCESS_URL(帳戶的 Control Center Access URL)。選用:AUTH_MODE(env 或 gateway)、MCP_TRANSPORT、LOG_LEVEL,以及用於 HTTP 側車驗證的 CONDUIT_S2S_SECRET。需要能連線至 GravityZone API 主機的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Bitdefender GravityZone,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Bitdefender GravityZone MCP Server
MCP server for Bitdefender GravityZone's Control Center API - endpoint/network inventory, security policies, the account-wide malware-hash Blocklist, and scheduled/instant reports - for AI assistants and the WYRE Conduit gateway.
New call shape for this catalog: GravityZone's API is JSON-RPC 2.0, not REST - every other Conduit sidecar (Cork, CyberQP, Slide, UniFi, Cisco Duo) calls a conventional REST API. See Authentication and JSON-RPC shape below.
Authentication
GravityZone authenticates with HTTP Basic Authentication (RFC 2617): the API key is sent as the username, with an empty password - Authorization: Basic base64(apiKey + ":"). This is also a new shape for this catalog - every other static-key connector here (Cork, CyberQP, Slide, UniFi) sends a custom X-Vendor-Api-Key header that the sidecar turns into a Bearer token; GravityZone has no bearer-token concept at all.
API keys are generated in Control Center under My Account -> API keys, and each key is scoped, at generation time, to a checklist of API areas (Network, Policies, Reports, Incidents, Companies, Licensing, Accounts, Packages, Integrations, Push, Quarantine). This connector's key needs the Network, Policies, Reports, and Incidents areas selected - the other seven are never called and do not need to be enabled.
This connector also needs the account's Control Center Access URL (shown on that same My Account page, under Control Center API) - GravityZone Cloud, its EU region, and any self-hosted/on-premise Control Center each have a different API host, so unlike most vendors in this catalog there is no single fixed base URL to hardcode.
In gateway mode, both arrive per-request via the X-Bitdefender-Api-Key and X-Bitdefender-Access-Url headers; in local/stdio mode they're read once from BITDEFENDER_API_KEY and BITDEFENDER_ACCESS_URL.
JSON-RPC shape
GravityZone exposes several separate JSON-RPC 2.0 endpoints, one per product area, at <accessUrl>/v1.0/jsonrpc/<area> (e.g. /v1.0/jsonrpc/network, /v1.0/jsonrpc/policies). Every call to a given area - whatever it does - is an HTTP POST to that same URL with an identical envelope:
The operation lives entirely inside the body (method + params), never in the URL or HTTP verb - there is no GET/POST/PATCH/DELETE distinction to key a read-only boundary off of, unlike every REST sidecar in this catalog. This connector's read-only scope is therefore enforced by only ever calling documented getXxx/listXxx method names (see Scope below and client.ts's jsonRpcCall()), not by restricting HTTP verbs.
A successful call returns { "id", "jsonrpc", "result": ... }. A failed call can come back two ways, and this connector's client.ts distinguishes both:
- HTTP-layer failure -
401(bad/missing key),403(the key doesn't have this API area enabled - see above),405(non-POST), or429(rate limit). - JSON-RPC-layer failure - HTTP
200with a bodyerrormember ({code, message, data.details}, e.g.-32602 Invalid params).
Rate limit: 10 requests/second per API key; GravityZone returns 429 above that.
Configuration
Request limits
- HTTP request bodies are capped at 256 KiB (262144 bytes). After the
X-Gateway-S2Scheck passes, aContent-Lengthabove the cap returns 413 with a JSON-RPC error; bodies withoutContent-Lengthare capped by the MCP SDK transport. Unauthenticated requests still get 401 first. tools/callarguments are capped at 10,000 elements (every array item and object key at any depth). Larger inputs return anisErrortool result and are never dispatched.
These limits address CVE-2026-111768 / GHSA-46jr-4wx8-v453 (memory exhaustion during validation) and GHSA-f897-62hf-6gxq (no request body / batch cap).
Tools
Network - endpoint/network inventory
bitdefender_list_endpoints- list managed/unmanaged endpoints (name, FQDN, IP, MACs, group, agent flags), optionally scoped and filtered.bitdefender_get_endpoint- full detail for one managed endpoint (agent version, license status, scan/update status).bitdefender_list_custom_groups- list the child groups under a Network Inventory group.bitdefender_list_network_inventory- list inventory items (groups, computers, VMs, EC2 instances) with per-type filtering.bitdefender_list_scan_tasks- list previously created on-demand scan tasks and their status.
Policies
bitdefender_list_policies- list security policies available to the account.bitdefender_get_policy- get full settings for one security policy.
Incidents
bitdefender_list_blocklist_items- list file hashes present in the account's Blocklist.
Reports
bitdefender_list_reports- list scheduled/instant reports configured on the account.bitdefender_get_report_download_links- check download readiness and get a report's download URL(s).
Scope
This is a deliberately narrow, read-only v1 surface: exactly 10 of GravityZone's getXxx/listXxx methods across the Network, Policies, Incidents, and Reports APIs. Every tool is classified isAdmin: true in the Conduit gateway - GravityZone is an endpoint-protection product, so every read this connector exposes (endpoint IP/MAC/hostname inventory, security policy settings, malware-hash blocklist entries, security posture reports) is security/PII-adjacent by construction. No mutating (create/update/delete/move/set/add/remove) method is implemented, by design, not by oversight:
Hard-excluded (Network API) - never implemented:
createCustomGroup,deleteCustomGroup,moveCustomGroup- group provisioning/mutation.moveEndpoints,deleteEndpoint- endpoint mutation/removal.createScanTask- dispatches a real on-demand scan to a real managed endpoint.bitdefender_list_scan_tasks(read) stays; this does not.setEndpointLabel- endpoint mutation.
Hard-excluded (Incidents API) - never implemented:
addToBlocklist,removeFromBlocklist- Blocklist mutation.bitdefender_list_blocklist_items(read) stays; these do not.createIsolateEndpointTask,createRestoreEndpointFromIsolationTask- genuine remote-response actions that isolate/restore a real managed endpoint from the network.
Hard-excluded (Reports API) - never implemented:
createReport- creates a new scheduled/instant report definition.deleteReport- deletes a report definition.
Out of scope entirely (not requested, not implemented): the Companies, Licensing, Accounts, Packages, Integrations, Push, and Quarantine APIs. Quarantine in particular (getQuarantineItemsList and its createRemove/Restore*QuarantineItemTask write methods) was in Bitdefender's own catalog of API areas but outside this connector's requested scope (endpoint/network inventory, policies, incidents, reports); it can be added as a deliberate follow-up if there's demand, not by default.
They can be added as a follow-up if there's demand, after a deliberate scope decision - not by default.
Credential scope
Two-tier confidence split, per this catalog's convention for a claim about what a credential can and cannot reach:
- STRUCTURALLY VERIFIED - this connector's own code never calls a mutating JSON-RPC method: confirmed against
client.ts/tools/*.ts, only the 10 documentedgetXxx/listXxxmethods listed under Tools are ever sent, no passthrough/arbitrary-method call exists anywhere insrc/. This connector is read-only by construction. - VENDOR-DOCUMENTED, AND THE FINDING RUNS THE OTHER WAY - GravityZone's own API-key generation UI (Control Center -> My Account -> API keys) only gates access per API area (Network/Policies/Reports/Incidents/...), confirmed against Bitdefender's official API Guide (Getting Started section 1.3, "API Keys": "Each API key allows the application to call methods exposed by one or several APIs. The allowed APIs are selected at the time the API key is generated"). There is no documented per-method or read/write permission flag. A key with the Network area enabled can call
getEndpointsList(read) andmoveEndpoints/deleteEndpoint/createScanTask(write) - the same area, the same permission checkbox, no finer-grained scoping exists on Bitdefender's side. This connector's read-only posture is enforced entirely by its own code, not by any narrower credential scope GravityZone itself offers - the same posture this catalog's other security-product connectors (Cork, CyberQP, Cisco Duo) already document for their own admin-tier classification, stated once here for the credential-scope question specifically.
Development
Docker
來源:README.md,提交 8f254e0
工具
0版本歷史
2- v1.0.1最新Oct 22, 2026
- v1.0.0Sep 21, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。