Unicode Security MCP
Local checks for Unicode confusables, mixed scripts, invisible controls, and suspicious identifiers.
作者による説明(英語の原文)
MCP server for RocketCyber Managed SOC — incidents, alerts, agents, and customer telemetry.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ROCKETCYBER_API_KEY, ROCKETCYBER_CUSTOMER_ID, ROCKETCYBER_API_URL, MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"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": "your-value",
"ROCKETCYBER_CUSTOMER_ID": "your-value",
"ROCKETCYBER_API_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add rocketcyber --env ROCKETCYBER_API_KEY=your-value --env ROCKETCYBER_CUSTOMER_ID=your-value --env ROCKETCYBER_API_URL=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- 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動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"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": "your-value",
"ROCKETCYBER_CUSTOMER_ID": "your-value",
"ROCKETCYBER_API_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"rocketcyber": {
"type": "stdio",
"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": "your-value",
"ROCKETCYBER_CUSTOMER_ID": "your-value",
"ROCKETCYBER_API_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
ROCKETCYBER_API_URL envMCP_TRANSPORT envAUTH_MODE envLOG_LEVEL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント wyre-technology で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ROCKETCYBER_API_KEY, ROCKETCYBER_CUSTOMER_ID
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.5.4)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Unicode Security MCP, Osv MCP, Epss MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Local checks for Unicode confusables, mixed scripts, invisible controls, and suspicious identifiers.
Exploit Prediction Scoring System scores: how likely a CVE will be exploited in the next 30 days.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
MCP (Model Context Protocol) server for the RocketCyber Managed SOC platform. Provides read-only access to RocketCyber security data through 10 tools and 3 resources.
readOnlyHint: true so MCP clients (e.g. Microsoft 365 Copilot) can skip per-call confirmation prompts[!IMPORTANT]
Before you click: this server depends on
@wyre-ai/node-rocketcyber,
which is hosted on the GitHub Packages npm registry. GitHub Packages has no
anonymous access — even though the package is public, every
npm installneeds a
token. The cloud builder runs
npm installfor you, so you must give it one, or
the build fails with
npm error 401 Unauthorized ... npm.pkg.github.com.
1. Create a GitHub Personal Access Token with the
read:packagesscope
Any GitHub account works — you do not need to be a member of the
WYRE-AIorg to read its public packages.
2. Add it as a build variable when prompted by the deploy flow:
- Cloudflare Workers → set a build variable named `NODE_AUTH_TOKEN` to your PAT
(Workers → Settings → Build → Variables and Secrets).
- DigitalOcean App Platform → set an encrypted env var named `GITHUB_TOKEN`
with scope Build Time to your PAT (the Dockerfile reads it for the install).
This project depends on @wyre-ai/node-rocketcyber, published to the GitHub Packages npm registry, which requires a token even for public packages. Authenticate once, then install:
# 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
The repo's .npmrc already points the @wyre-ai scope at GitHub Packages and reads the token from NODE_AUTH_TOKEN, so no further config is needed.
Copy .env.example and set the variables below.
| Environment Variable | Required | Default | Description |
|---|---|---|---|
ROCKETCYBER_API_KEY | For stdio and AUTH_MODE=env | - | RocketCyber API key |
ROCKETCYBER_REGION | No | us | API region: us or eu |
MCP_TRANSPORT | No | stdio | Transport type: stdio or http |
AUTH_MODE | No | env (image and Compose set gateway) | gateway requires X-RocketCyber-API-Key on each /mcp request and never falls back to ROCKETCYBER_*. env uses those variables only after S2S auth succeeds. |
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, replace-me, your-s2s-secret, and the other example values). Generate one with openssl rand -hex 32. Compose will not start without it. The value is never logged. |
MCP_ALLOW_INSECURE_DEV | No | - | Set to exactly 1 only for local development to start HTTP without CONDUIT_S2S_SECRET. The process logs a warning, does not enforce X-Gateway-S2S, and binds 127.0.0.1 only. A non-loopback MCP_HTTP_HOST is overridden. A known placeholder secret still refuses to start. |
MCP_HTTP_PORT | No | 8080 | HTTP port (when using http transport) |
MCP_HTTP_HOST | No | 0.0.0.0 when a real secret is set | Bind address when CONDUIT_S2S_SECRET is set. Unset keeps 0.0.0.0. Without a secret, the dev bypass ignores this and binds 127.0.0.1. The container image sets 0.0.0.0. |
LOG_LEVEL | No | info | Log level: error, warn, info, debug |
LOG_FORMAT | No | simple | Log format: json or simple |
/health stays unauthenticated and does 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. The check is verifyS2sHeader in src/mcp/s2s-verify.ts: the header value is t= ,v1= , where the hex is HMAC-SHA256 of the literal string t= 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.
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"}'
In AUTH_MODE=gateway, /mcp also requires X-RocketCyber-API-Key (X-RocketCyber-Region is optional). That header is the only credential source for the request. A missing or blank API key is HTTP 401 and does not fall back to ROCKETCYBER_API_KEY. AUTH_MODE=env still requires the signed X-Gateway-S2S header, then uses ROCKETCYBER_API_KEY from the environment.
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": { "rocketcyber": { "command": "node", "args": ["/path/to/rocketcyber-mcp/dist/entry.js"], "env": { "ROCKETCYBER_API_KEY": "your-api-key" } } } }
HTTP refuses to start until CONDUIT_S2S_SECRET is a real secret (not a known placeholder). Publish the port on loopback.
# 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
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start
The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST) and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass a real S2S secret. In gateway mode, RocketCyber credentials arrive on each request as headers; they are not read from the environment.
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
Compose refuses to start when CONDUIT_S2S_SECRET is unset. The gateway service sets AUTH_MODE=gateway, does not inject ROCKETCYBER_API_KEY, and publishes 127.0.0.1:8080:8080:
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" GITHUB_TOKEN="$GITHUB_TOKEN" docker compose up
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses ROCKETCYBER_API_KEY. It is separate from the gateway Compose service above.
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
Every tool below only reads data (no tool issues a write to the RocketCyber API), so each is annotated annotations: { readOnlyHint: true } in the tools/list response. MCP clients that honor readOnlyHint — Microsoft 365 Copilot / Copilot Studio among them — use this to skip the per-call confirmation prompt they'd otherwise show before every tool call.
| Tool | Description | readOnlyHint |
|---|---|---|
rocketcyber_test_connection | Test the connection to RocketCyber API | true |
rocketcyber_get_account | Get account information | true |
rocketcyber_list_agents | List monitored agents/endpoints | true |
rocketcyber_list_incidents | List security incidents | true |
rocketcyber_list_events | List security events | true |
rocketcyber_get_event_summary | Get event summary/statistics | true |
rocketcyber_list_firewalls | List firewall devices | true |
rocketcyber_list_apps | List managed apps | true |
rocketcyber_get_defender | Get Windows Defender status | true |
rocketcyber_get_office | Get Office 365 status | true |
| URI | Description |
|---|---|
rocketcyber://account | Account information |
rocketcyber://incidents | Security incidents |
rocketcyber://agents | Monitored agents/endpoints |
# Install dependencies
npm install
npm run dev
npm run build
npm start
Apache-2.0