
Magicsword Mcp
io.github.magicsword-iov0.1.0更新於 Oct 7, 2026
Manage MagicSword endpoints, alerts, policies, and private intelligence through MCP.
概覽
讓助手以對話方式管理 MagicSword 端點安全:列出端點、查詢與處理告警、編輯政策並管理私有情報來源。
- 功能
- 這是一個本機 stdio MCP 伺服器,包裝 MagicSword 客戶 API。它提供 21 個工具,用於列出端點與代理版本、搜尋告警及稽核或封鎖事件、處理告警、檢視與編輯政策及其規則、預覽並套用政策指派、將政策切換為強制模式、升級端點、要求端點簽到、簽發註冊權杖,以及管理私有情報來源與項目。寫入類工具需要相符的 API 權限範圍,破壞性操作採用先預覽後確認的流程。
- 適用情境
- 適用於已部署 MagicSword,並希望用 Claude Desktop、Cursor 等支援 MCP 的用戶端在對話中檢視端點、處理告警、審查事件或調整政策與情報的情況。主要面向 Enterprise 方案組織;使用試用層級金鑰時只會回傳方案限制訊息,其他功能都無法使用。
- 執行需求
- 需要 Node.js 22 或更新版本,透過 npm 安裝 @magicsword-io/magicsword-mcp。需要從 Magic Portal 設定取得的 MagicSword 客戶 API 金鑰(msk_...),可透過 MAGICSWORD_API_KEY 環境變數提供,或執行 configure 指令寫入權限為 600 的 ~/.magicsword/mcp.json。需要連線至所設定入口網站基礎 URL 的網路,預設使用 HTTPS。寫入類工具需要相符的客戶 API 權限範圍,例如 alerts:write、policies:write、endpoints:write 或 intel:write。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Magicsword Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
magicsword-mcp
A Model Context Protocol server for MagicSword. Lets users running Claude Desktop, Cursor, or any MCP-aware client manage MagicSword conversationally — list endpoints, query alerts, triage findings, mint enrollment tokens, and preview / commit policy changes.
The server is a thin, opinionated wrapper around the
/api/public/v1/* customer API exposed by the Magic Portal. It runs on
the user's machine, holds an msk_… API key, and speaks MCP over stdio.
Plan gate. The customer API is Enterprise-only. With a pilot-tier key the server returns a clear "this MagicSword org needs the Enterprise plan to use MCP" message; nothing else works until the org is upgraded.
Install
From npm
Requires Node 22+. After publication, MCP clients that consume the official
Registry can discover this server as
io.github.magicsword-io/magicsword-mcp. Homebrew, winget, and curl packaging
can follow if demand justifies maintaining signed platform artifacts.
Configure
You'll be prompted for an API key (mint one in Magic Portal → Settings →
API Keys) and a portal base URL (defaults to https://www.magicsword.io).
The command writes ~/.magicsword/mcp.json (mode 600) and prints the exact
JSON snippet to paste into Claude Desktop's config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
The snippet looks like this:
Restart Claude Desktop and "magicsword" will appear with 21 tools. Logs are
at ~/Library/Logs/Claude/mcp*.log on macOS.
If you need a per-client override instead of ~/.magicsword/mcp.json, set
MAGICSWORD_API_KEY and optionally MAGICSWORD_BASE_URL in that MCP host's
environment. Keep API keys out of shared config snippets and screenshots.
Tools
Write tools require matching Customer API scopes in Magic Portal, such as
alerts:write, policies:write, endpoints:write, or intel:write.
Event review uses alerts:read; turning selected events into policy rules
uses policies:write.
Tools publish standard MCP safety annotations. Read-only discovery tools are marked read-only and idempotent; enforcement, deletion, policy assignment, rule changes, and agent upgrades are marked destructive so MCP clients can apply appropriate confirmation UX.
Example transcript
Configuration sources, in order of precedence
MAGICSWORD_API_KEY/MAGICSWORD_BASE_URLenv vars (set by the MCP host).~/.magicsword/mcp.json(or$MAGICSWORD_CONFIG).- Default base URL
https://www.magicsword.io.
Optional transport controls are MAGICSWORD_REQUEST_TIMEOUT_MS (default
30 seconds), MAGICSWORD_RESPONSE_MAX_BYTES (default 4 MiB), and
MAGICSWORD_GET_RETRIES (default 2, maximum 3). Only idempotent GET requests
are retried; write actions are never retried automatically.
Safety notes
flip_to_enforcingis two-step. The first call returns a server preview and one-time confirmation token; you must show the preview to a human and pass the token back to commit. Tokens are short-lived and single-use.- Fleet changes and deletion are explicit. Endpoint upgrades, policy
assignments, and private-intel deletion return a no-op preview unless the
approved follow-up call includes
confirm=true. - Windows WDAC policy edits should not use explicit flat file hashes.
Use
manage_policy_ruleswithevent_idswhen approving audit events so the Portal can derive supported path / publisher / filename rules, or useupsert_customer_intel_itemsfor hash, AuthentiHash, page-hash, and TBS intelligence in a private feed. - Secrets stay on the user's machine. The MCP server is a local stdio
process; the API key is read from
~/.magicsword/mcp.json(mode 600) or an env var passed by the MCP host. Nothing is sent off-machine except the requests to the configuredMAGICSWORD_BASE_URL. - Remote Portal URLs must use HTTPS. Plain HTTP is accepted only for localhost development. Configured URLs cannot contain credentials, paths, query strings, or fragments.
Develop
Tests validate --help, --version, configure validation, secret redaction,
modern and legacy MCP startup, focused mutation confirmation, retry and timeout
semantics, response-size bounds, malformed responses, write non-retry behavior,
and npm pack contents. test:package installs a production-only tarball and
checks the installed CLI and MCP tool discovery; release:verify checks all
release metadata. See docs/RELEASING.md for npm and MCP Registry releases.
來源:README.md,提交 981980f
工具
0版本歷史
1- v0.1.0最新Oct 7, 2026

