Blumira

io.github.wyre-technology由 GitHub 帳號 wyre-technology 發布v1.2.12更新於 Oct 24, 2026

MCP server for Blumira SIEM — query findings, evidence, and detection data via the Blumira API.

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

概覽

AI 產生的概覽

面向 Blumira SIEM 的 MCP 伺服器,讓助理透過 Blumira API 查詢發現項目、證據、裝置、使用者與 MSP 帳戶。

可以做什麼
透過 blumira_navigate 選擇領域並動態載入對應工具(findings、agents、users、resolutions、msp)。列出、取得並檢視發現項目,解決發現項目、指派負責人、讀取或新增留言。列出裝置與代理金鑰,列出使用者。列出可用的解決方式。管理 MSP 帳戶:跨租戶列出與取得帳戶、發現項目、裝置、金鑰與使用者。在列表端點支援 status.eq、severity.in、created_at.gt、name.contains 及取反等豐富篩選。
適用情境
適合讓助理處理 Blumira 安全資料的情境:分診與解決發現項目、檢視證據與留言、檢查裝置與使用者,或管理多租戶 MSP 帳戶,而不必切換到 Blumira 主控台。
執行需求
以本機 stdio 程序執行(Claude Desktop 用 MCPB 套件,也可用 npx、Docker 映像,或以 Node.js 從原始碼建置)。需要 BLUMIRA_JWT_TOKEN 中的 Blumira JWT 權杖。HTTP 模式另需 CONDUIT_S2S_SECRET 與簽章的 X-Gateway-S2S 請求;AUTH_MODE 選擇 env 或 gateway 憑證。需要連線 Blumira API 的網路。
安裝前請注意
需要 Blumira JWT 權杖(BLUMIRA_JWT_TOKEN),HTTP 模式另需 HMAC 密鑰 CONDUIT_S2S_SECRET;兩者都不要寫入日誌或共用設定。工具可以解決發現項目、指派負責人與新增留言,會變更 Blumira 中的資料。gateway 模式要求每個請求攜帶廠商憑證,且不會回退到環境變數。MCP_ALLOW_INSECURE_DEV=1 會關閉請求簽章,僅限本機開發。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

Blumira MCP Server

[Build Status] [License] [Node.js]

A Model Context Protocol (MCP) server that provides AI assistants with structured access to Blumira SIEM platform data and operations.

Note: This project is maintained by Wyre Technology.

Quick Start

Claude Desktop — download, open, done:

  1. Download blumira-mcp.mcpb from the latest release
  2. Open the file (double-click or drag into Claude Desktop)
  3. Enter your Blumira JWT token when prompted

No terminal, no JSON editing, no Node.js install required.

Claude Code (CLI):

bash
claude mcp add blumira-mcp \  -e BLUMIRA_JWT_TOKEN=your-jwt-token \  -- npx -y github:WYRE-AI/blumira-mcp

See Installation for Docker and from-source methods.

Features

  • 🔌 MCP Protocol Compliance: Full support for MCP resources and tools
  • 🛡️ Comprehensive SIEM Coverage: Tools spanning findings, agents/devices, users, resolutions, and MSP account management
  • 🔍 Decision-Tree Navigation: Start with blumira_navigate to explore domains, then dynamically load domain-specific tools
  • 🏢 MSP Multi-Tenant Support: Full MSP endpoint coverage for managing findings, agents, and users across accounts
  • 🔒 Secure Authentication: JWT token or API key (pax8ApiTokenV1) authentication
  • 🌐 Dual Transport: Supports both stdio (local) and HTTP Streamable (remote/Docker) transports
  • 📦 MCPB Packaging: One-click installation via MCP Bundle for desktop clients
  • 🐳 Docker Ready: Containerized deployment with HTTP transport and health checks
  • ⚡ Rate Limiting: Built-in rate limiter respects Blumira API limits
  • 🔎 Rich Filtering: Support for .eq, .in, .gt, .lt, .contains, .regex, and negation operators

Installation

Option 1: MCPB Bundle (Claude Desktop)

The simplest method — no terminal, no JSON editing, no Node.js install required.

  1. Download blumira-mcp.mcpb from the latest release
  2. Open the file (double-click or drag into Claude Desktop)
  3. Enter your Blumira JWT token when prompted

For Claude Code (CLI), one command:

bash
claude mcp add blumira-mcp \  -e BLUMIRA_JWT_TOKEN=your-jwt-token \  -- npx -y github:WYRE-AI/blumira-mcp

Option 2: Docker

bash
docker compose up

Compose will not start until CONDUIT_S2S_SECRET is set. See Docker Deployment.

Or pull the pre-built image:

bash
# Generate the secret first: openssl rand -hex 32docker run -d \  -e CONDUIT_S2S_SECRET \  -e BLUMIRA_JWT_TOKEN \  -e AUTH_MODE=env \  -p 127.0.0.1:8080:8080 \  ghcr.io/wyre-ai/blumira-mcp:latest

The image defaults to AUTH_MODE=gateway and binds 0.0.0.0 inside the container. HTTP startup refuses to run unless CONDUIT_S2S_SECRET is a real secret (empty values and known placeholders such as replace-with-a-real-secret exit non-zero). Publish the port on 127.0.0.1 (as above). In gateway mode, send vendor credentials on each /mcp request (X-Blumira-Client-ID + X-Blumira-Client-Secret, or X-Blumira-JWT-Token); the server does not fall back to environment credentials. Set AUTH_MODE=env only for a single-tenant container that should use BLUMIRA_JWT_TOKEN.

Every /mcp request must also send 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 vendor credentials are 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}" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

With AUTH_MODE=env, that signed request uses BLUMIRA_JWT_TOKEN from the container. With AUTH_MODE=gateway, add X-Blumira-JWT-Token or X-Blumira-Client-ID and X-Blumira-Client-Secret as well.

Standalone local use that cannot sign requests: set MCP_ALLOW_INSECURE_DEV=1 and do not set CONDUIT_S2S_SECRET. Startup logs a warning, skips the S2S check, and binds 127.0.0.1 only. The image sets MCP_HTTP_HOST=0.0.0.0, so this bypass also requires -e MCP_HTTP_HOST=127.0.0.1. Any other bind address refuses to start. Do not publish that port off loopback.

Option 3: From Source

bash
git clone https://github.com/WYRE-AI/blumira-mcp.gitcd blumira-mcpnpm cinpm run build

Configuration

VariableDescriptionDefault
BLUMIRA_JWT_TOKENJWT token for authentication (stdio and AUTH_MODE=env)—
MCP_TRANSPORTTransport mode (stdio or http)stdio
MCP_HTTP_PORTHTTP server port8080
MCP_HTTP_HOSTInterface the HTTP server binds127.0.0.1
CONDUIT_S2S_SECRETRequired for HTTP. HMAC secret checked against X-Gateway-S2S on /mcp. Generate with openssl rand -hex 32. If empty or a known placeholder, the HTTP server logs an error and exits non-zero. The value is never logged.—
MCP_ALLOW_INSECURE_DEVSet to 1 to start HTTP without CONDUIT_S2S_SECRET. Logs a warning, does not enforce S2S, and binds 127.0.0.1 only. A non-loopback MCP_HTTP_HOST refuses to start. Local development only.unset
AUTH_MODEenv uses process environment credentials (stdio and single-tenant HTTP). gateway requires per-request vendor headers and never falls back to the environment. The Docker image and Compose file default to gateway.env when unset; gateway in Docker and Compose
LOG_LEVELLog level (debug, info, warn, error)info

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

Domains

The server uses decision-tree navigation. Start with blumira_navigate to pick a domain:

DomainTools
findingsList findings, get finding, get finding details, resolve finding, assign owners, list/add comments
agentsList devices, get device, list agent keys, get agent key
usersList users
resolutionsList available resolutions
mspList/get accounts, list/get/resolve findings, assign owners, comments, list devices/keys, list users

Filtering

Blumira supports rich query filtering on list endpoints:

status.eq=10              # Exact matchseverity.in=HIGH,CRITICAL # Multiple valuescreated_at.gt=2026-01-01  # Greater thanname.contains=malware     # Substring match!status.eq=30             # Negation

Pass filters as tool input parameters — the server handles query string construction.

Docker Deployment

Copy .env.example to .env and fill in your credentials, including CONDUIT_S2S_SECRET. Compose will not start if that variable is missing, and it publishes the HTTP port on 127.0.0.1 only.

bash
cp .env.example .env# Edit .env with your Blumira JWT token and CONDUIT_S2S_SECRETdocker compose up -d

Development

bash
npm cinpm run build       # Build the projectnpm run dev         # Watch modenpm run test        # Run testsnpm run lint        # Type-checknpm run clean       # Remove dist/

Contributing

See CONTRIBUTING.md for guidelines.

License

Apache 2.0 — Copyright WYRE Technology

來源:README.md,提交 9b67355

工具

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

版本歷史

1
  1. v1.2.12最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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

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