mcpField
R
RocketCyber

RocketCyber

本地服务
github.com安全0今天更新

关于 RocketCyber

RocketCyber 是用于只读访问 RocketCyber Managed SOC 数据的 MCP 服务,面向安全团队。它提供 10 个工具和 3 个资源,涵盖事件、告警及终端信息。

主要功能

  1. 0110 个只读安全工具
  2. 023 个 MCP 资源
  3. 03访问事件和告警数据
  4. 04列出 Agent 和终端
  5. 05连接测试工具
  6. 06stdio 和 HTTP 传输

适用场景

  1. 01查看安全事件和告警
  2. 02检查受监控的 Agent 和终端
  3. 03查看防火墙与托管应用列表
  4. 04验证 RocketCyber 凭据

MCP 相关

通过 10 个只读工具和 3 个资源向 MCP 客户端提供 RocketCyber 数据。支持 stdio 和 HTTP Streamable 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wyre-technology-rocketcyber": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ROCKETCYBER_API_KEY",
"-e",
"ROCKETCYBER_CUSTOMER_ID",
"-e",
"ROCKETCYBER_API_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/rocketcyber-mcp:v1.5.4"
],
"env": {
"ROCKETCYBER_API_KEY": "<ROCKETCYBER_API_KEY>",
"ROCKETCYBER_CUSTOMER_ID": "<ROCKETCYBER_CUSTOMER_ID>",
"ROCKETCYBER_API_URL": "<ROCKETCYBER_API_URL>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
启动命令docker run -i --rm -e ROCKETCYBER_API_KEY -e ROCKETCYBER_CUSTOMER_ID -e ROCKETCYBER_API_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/rocketcyber-mcp:v1.5.4
需要配置的环境变量
ROCKETCYBER_API_KEY密钥RocketCyber API key for authenticating to the Managed SOC API
ROCKETCYBER_CUSTOMER_IDRocketCyber customer (tenant) identifier
ROCKETCYBER_API_URLRocketCyber API base URL — override only if using a non-default region
MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
AUTH_MODE密钥Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
LOG_LEVELLog verbosity: debug, info, warn, error

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/wyre-technology/rocketcyber-mcp:v1.5.4

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

rocketcyber-mcp

用于 RocketCyber 托管 SOC 平台的 MCP(模型上下文协议)服务。通过 10 个工具和 3 个资源,提供对 RocketCyber 安全数据的只读访问。

功能

  • 10 个只读工具,涵盖所有 RocketCyber API 资源;每个工具均标注 readOnlyHint: true,因此 MCP 客户端(例如 Microsoft 365 Copilot)可跳过每次调用的确认提示
  • 3 个 MCP 资源,便于快速访问数据
  • 双传输方式:stdio(默认)和 HTTP Streamable
  • 首次调用工具时延迟初始化 SDK
  • 使用 Winston 日志记录器,所有输出均路由到 stderr
  • 用于验证凭据的连接测试工具

一键部署

重要

**开始前请注意:**此服务依赖 @wyre-ai/node-rocketcyber, 该包托管在 GitHub Packages npm 注册表中。GitHub Packages 不提供 匿名访问权限——即使该包是公开的,每次 npm install 仍需要令牌。云构建器会为你运行 npm install,因此你必须向其提供令牌,否则 构建将失败并显示 npm error 401 Unauthorized ... npm.pkg.github.com。

  1. 创建具有 read:packages 范围的 GitHub 个人访问令牌(classic token)。 任何 GitHub 账户都可以——读取公开包不需要是 WYRE-AI 组织成员。
  2. 部署流程提示时,将令牌添加为构建变量:
    • Cloudflare Workers → 将名为 NODE_AUTH_TOKEN 的构建变量设为你的 PAT (Workers → Settings → Build → Variables and Secrets)。
    • DigitalOcean App Platform → 将名为 GITHUB_TOKEN 的加密环境变量设为你的 PAT, 范围选择 Build Time(Dockerfile 会读取该变量以安装依赖)。

部署到 DO

部署到 Cloudflare Workers

安装

本项目依赖 @wyre-ai/node-rocketcyber,该包发布在 GitHub Packages npm 注册表中,即使是公开包也需要令牌。 完成一次身份验证,然后安装:

# Authenticate npm to GitHub Packages (token needs the read:packages scope)
export NODE_AUTH_TOKEN=$(gh auth token)   # or a PAT with read:packages

npm install
npm run build

仓库中的 .npmrc 已将 @wyre-ai 作用域指向 GitHub Packages, 并从 NODE_AUTH_TOKEN 读取令牌,因此无需进一步配置。

配置

复制 .env.example,并设置以下变量。

Environment VariableRequiredDefaultDescription
ROCKETCYBER_API_KEY对 stdio 和 AUTH_MODE=env 必需-RocketCyber API 密钥
ROCKETCYBER_REGION否usAPI 区域:us 或 eu
MCP_TRANSPORT否stdio传输类型:stdio 或 http
AUTH_MODE否env(镜像和 Compose 设置为 gateway)gateway 要求每个 /mcp 请求都携带 X-RocketCyber-API-Key,且绝不会回退到 ROCKETCYBER_*。env 仅在 S2S 身份验证成功后使用这些变量。
CONDUIT_S2S_SECRETHTTP 必需-服务间密钥。如果此项为空或为已知占位值(changeme、secret、replace-me、your-s2s-secret 以及其他示例值),HTTP 服务会记录错误并以非零状态码退出。使用 openssl rand -hex 32 生成密钥。未设置此项时,Compose 不会启动。此值绝不会被记录。
MCP_ALLOW_INSECURE_DEV否-仅在本地开发时精确设置为 1,以便在没有 CONDUIT_S2S_SECRET 的情况下启动 HTTP。进程会记录警告、不强制验证 X-Gateway-S2S,且只绑定到 127.0.0.1。非环回地址的 MCP_HTTP_HOST 会被覆盖。使用已知占位密钥时仍会拒绝启动。
MCP_HTTP_PORT否8080HTTP 端口(使用 http 传输时)
MCP_HTTP_HOST否;设置有效密钥时为 0.0.0.00.0.0.0设置 CONDUIT_S2S_SECRET 时使用的绑定地址。未设置时保持为 0.0.0.0。未设置密钥时,开发绕过模式会忽略此项并绑定到 127.0.0.1。容器镜像会将其设置为 0.0.0.0。
LOG_LEVEL否info日志级别:error、warn、info、debug
LOG_FORMAT否simple日志格式:json 或 simple

/health 无需身份验证,且不会读取凭据。stdio 传输不使用 CONDUIT_S2S_SECRET。

HTTP 身份验证

使用 MCP_TRANSPORT=http 且设置了有效的 CONDUIT_S2S_SECRET 时,每个 /mcp 请求都必须包含 X-Gateway-S2S。验证逻辑位于 src/mcp/s2s-verify.ts 中的 verifyS2sHeader:标头值的格式为 t=<unix seconds>,v1=<hex>,其中十六进制字符串是以 CONDUIT_S2S_SECRET 为密钥、对字面字符串 t=<unix seconds> 计算的 HMAC-SHA256(64 个小写十六进制字符)。时间戳与服务器时钟的偏差必须在 300 秒以内。若标头缺失或无效,将返回 HTTP 401,且此时尚未读取供应商凭据。

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-RocketCyber-API-Key: $ROCKETCYBER_API_KEY" \
  -H "X-RocketCyber-Region: us" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

在 AUTH_MODE=gateway 模式下,/mcp 还要求提供 X-RocketCyber-API-Key(X-RocketCyber-Region 可选)。该标头是此请求唯一的凭据来源。若 API 密钥缺失或为空白,将返回 HTTP 401,且不会回退到 ROCKETCYBER_API_KEY。AUTH_MODE=env 仍要求提供已签名的 X-Gateway-S2S 标头,然后使用环境变量中的 ROCKETCYBER_API_KEY。

用法

Claude Desktop(stdio)

将以下内容添加到 Claude Desktop 配置文件(claude_desktop_config.json)中:

{
  "mcpServers": {
    "rocketcyber": {
      "command": "node",
      "args": ["/path/to/rocketcyber-mcp/dist/entry.js"],
      "env": {
        "ROCKETCYBER_API_KEY": "your-api-key"
      }
    }
  }
}
HTTP 传输

在 CONDUIT_S2S_SECRET 为有效密钥(而非已知占位值)之前,HTTP 不会启动。请将端口发布到环回地址。

# Single-tenant HTTP. Uses ROCKETCYBER_API_KEY after X-Gateway-S2S verifies.
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  ROCKETCYBER_API_KEY=your-api-key \
  MCP_TRANSPORT=http \
  npm start

# Local HTTP only, without a service-to-service secret. Always binds 127.0.0.1.
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start
Docker

镜像在容器内监听 0.0.0.0(MCP_HTTP_HOST),并默认使用 AUTH_MODE=gateway。请将端口发布到环回地址,并传入有效的 S2S 密钥。在 gateway 模式下,RocketCyber 凭据通过每个请求的标头传入,不会从环境中读取。

docker build -t rocketcyber-mcp --build-arg GITHUB_TOKEN="$GITHUB_TOKEN" .
docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -p 127.0.0.1:8080:8080 \
  rocketcyber-mcp

未设置 CONDUIT_S2S_SECRET 时,Compose 不会启动。gateway 服务会设置 AUTH_MODE=gateway,不会注入 ROCKETCYBER_API_KEY,并将端口发布为 127.0.0.1:8080:8080:

CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" GITHUB_TOKEN="$GITHUB_TOKEN" docker compose up

单租户 HTTP(AUTH_MODE=env)仍要求提供 S2S 密钥,然后使用 ROCKETCYBER_API_KEY。它与上文的 gateway Compose 服务相互独立。

docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -e AUTH_MODE=env \
  -e ROCKETCYBER_API_KEY=your-api-key \
  -e ROCKETCYBER_REGION=us \
  -p 127.0.0.1:8080:8080 \
  rocketcyber-mcp

工具

以下每个工具都只读取数据(没有工具会向 RocketCyber API 写入数据),因此在 tools/list 响应中均标注为 annotations: { readOnlyHint: true }。遵循 readOnlyHint 的 MCP 客户端(包括 Microsoft 365 Copilot / Copilot Studio)会利用此标注,跳过每次调用工具前原本都会显示的确认提示。

工具描述readOnlyHint
rocketcyber_test_connection测试与 RocketCyber API 的连接true
rocketcyber_get_account获取账户信息true
rocketcyber_list_agents列出受监控的 Agent/终端true
rocketcyber_list_incidents列出安全事件true
rocketcyber_list_events列出安全活动true
rocketcyber_get_event_summary获取活动摘要/统计信息true
rocketcyber_list_firewalls列出防火墙设备true
rocketcyber_list_apps列出受管理的应用true
rocketcyber_get_defender获取 Windows Defender 状态true
rocketcyber_get_office获取 Office 365 状态true

资源

URI描述
rocketcyber://account账户信息
rocketcyber://incidents安全事件
rocketcyber://agents受监控的 Agent/终端

开发

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Start production server
npm start

许可证

Apache-2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。