
Kastell
io.github.kastelldev由 GitHub 帳號 kastelldev 發布v1.14.0更新於 Oct 24, 2026
Server security audit (413 checks), hardening, and fleet management across 4 cloud providers.
概覽
讓助理透過本機 MCP 伺服器,對四家雲端廠商的伺服器進行安全稽核、加固、開通、備份與監控。
- 可以做什麼
- Kastell 提供 17 個 MCP 工具,涵蓋伺服器資訊查詢、日誌與指標、開通、維護、安全加固、防火牆與網域設定、備份與快照、安全稽核、證據收集、監控守護程序、診斷、機群總覽以及安全自動修復。稽核包含數百項檢查並可依合規框架篩選,lock 工具會執行多步驟的正式環境加固流程。破壞性操作受安全模式限制。
- 適用情境
- 當你管理 Hetzner、DigitalOcean、Vultr 或 Linode 上的自架 Linux 伺服器,並希望助理透過提示完成稽核、加固、備份、更新與健康檢查時使用。適合想用單一工具同時處理開通與持續安全的維運人員。
- 執行需求
- 透過 npx 或全域 npm 安裝後在本機執行,需要 Node.js 20 或更新版本。雲端廠商 API 權杖透過環境變數提供:DIGITALOCEAN_TOKEN、HETZNER_TOKEN、LINODE_TOKEN、VULTR_TOKEN,各自僅用於對應廠商。需要目標伺服器的 SSH 存取權限以及連往雲端廠商的網路連線。未聲明需要廠商帳號。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Kastell,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Kastell
Your infrastructure, fortified.
English | Türkçe
[Tests] [Coverage] [npm] [Downloads] [License] [GitHub stars] [Socket Badge] [Snyk] [Website] [DeepWiki] [Zero Telemetry]
Why Kastell?
Server security is fragmented. Lynis scans but doesn't fix. OpenSCAP is powerful but complex. Custom scripts work until they don't -- and nobody maintains them. Each tool has its own output format, its own update cycle, its own learning curve.
Kastell takes a different approach: one CLI that audits, fixes, hardens, and monitors. Scan your server, apply safe fixes, lock it down to production standards, and keep watching -- all with the same tool.
AI-native from day one. Kastell ships with a built-in MCP server, so Claude, Cursor, or any MCP-compatible AI agent can manage your servers directly. Go from a prompt to production hardening in seconds.
You don't need four separate tools to secure a server.
Quick Start
Running kastell without any arguments launches an interactive search menu with a gradient ASCII banner and quick-start examples. Browse actions by emoji-categorized groups, type to filter results instantly, and configure options step by step -- no need to remember any command names or flags.
Each action includes sub-options (server mode, template, log source, port number, etc.) and a <- Back option to return to the main menu at any point.
If you already know the commands, you can still use them directly:
Kastell handles server provisioning, SSH key setup, firewall configuration, and platform installation automatically.
What Makes Kastell Different?
Kastell vs Alternatives
What Can You Do?
Deploy
Manage
Update & Maintain
Back Up & Restore
Snapshots
Security
Security Audit
Security Hardening
Monitor & Debug
Supported Providers
Prices reflect the cheapest plan with at least 2 GB RAM (required by Coolify and Dokploy). Bare mode has no minimum requirements -- plans start from ~$2.50/mo depending on provider. You can choose a different size during setup. Linode support is in beta -- community testing welcome.
Supported Platforms
Kastell uses a PlatformAdapter architecture -- the same commands (update, maintain, logs, health) work across all platforms. The platform is stored in your server record and auto-detected on each command.
Developer Experience
YAML Config
Deploy with a single config file:
Templates
Security
Kastell is built with security as a priority -- 12,132 tests across 380 suites, including dedicated security test suites.
- API tokens are never stored on disk -- prompted at runtime or via environment variables
- SSH keys are auto-generated if needed (Ed25519)
- All SSH connections use
StrictHostKeyChecking=accept-newwith IP validation (octet range) and environment filtering - Shell injection protection on all user-facing inputs (
spawn/spawnSync, noexecSync) - Provider error messages are sanitized to prevent token leakage
- stderr sanitization redacts IPs, home paths, tokens, and secrets from error output
- Config file token detection (22+ key patterns, case-insensitive, nested)
- Import/export operations strip sensitive fields and enforce strict file permissions (
0o600) --full-setupenables UFW firewall and SSH hardening automatically- MCP: SAFE_MODE (default: on) blocks all destructive operations, Zod schema validation on all inputs, path traversal protection on backup restore
- Claude Code hooks: destroy-block prevents accidental
kastell destroywithout--force, pre-commit audit guard warns on score drops - Zero Telemetry — Kastell collects no usage data, analytics, or telemetry. Your server data never leaves your machine.
Security behavior (v2.3.1)
This section documents security contracts shipped in v2.3.1. Future work is described elsewhere (see CHANGELOG.md for upcoming entries).
KASTELL_STRICT_HOST_KEY=true— when set, Kastell rejects unknown SSH host keys outright. Direct SSH connections (i.e. those that go throughaccept-new) emit a one-time Trust-On-First-Use (TOFU) warning so operators see the risk; combined withKASTELL_STRICT_HOST_KEY=true, the warning is promoted to a hard error.- Non-TTY destructive commands — in non-interactive environments (CI, scripts, automation), destructive operations require an explicit
--forceflag or the command's documented opt-in flag. Without one, the command exits with a non-zero status and a clear error. - Structured skipped checks — checks that are skipped (e.g. VPS-irrelevant, platform-mismatch, missing prerequisite) appear in audit output as a neutral, visible result rather than being silently dropped. Operators can see exactly which checks did not run and why.
- Windows secret files — secret-bearing files written by Kastell on Windows receive restrictive ACLs (owner-only access).
0o600POSIX permissions remain the source of truth on Linux/macOS; Windows uses the equivalent DACL. - QuickWin JSON shape —
audit --jsonQuickWin entries now include a stableid(check ID) andseverityfield, in addition to the existingdescriptionandcommands. This makes QuickWins programmatically consumable without parsing the human-readable description. - FORBIDDEN previews include reasons — when previewing fixes with
--dry-run(or viaserver_fixMCP dry-run), each FORBIDDEN-tier fix now renders a short reason explaining why the fix is classified FORBIDDEN (e.g. "requires reboot", "disrupts active SSH sessions"). The reason is sourced from the check'sforbiddenReasonfield.
Installation
Requires Node.js 20 or later.
Safety Modes
KASTELL_SAFE_MODE environment variable controls destructive operations:
- MCP default:
true—provision,destroy,restoreare blocked - CLI default:
false— all operations are enabled - Override:
KASTELL_SAFE_MODE=true kastell destroy <server>→ rejected
Affected commands: init, destroy, backup-restore, snapshot-restore, snapshot-delete, restart, maintain.
Troubleshooting
Server creation fails?
Run kastell doctor --check-tokens to verify your API token and local environment.
Server not responding?
Use kastell status my-server --autostart to check platform status and auto-restart if needed, or kastell health to check all servers at once.
Need to start fresh?
kastell destroy my-server removes the cloud server entirely.
Contributing
See CONTRIBUTING.md for development setup, testing, and contribution guidelines.
Kastell uses 11,206 tests across 344 suites. Run npm test before submitting PRs.
MCP Server (AI Integration)
Kastell includes a built-in Model Context Protocol server for AI-powered server management. Works with Claude Code, Cursor, Windsurf, and other MCP-compatible clients.
Available tools:
All destructive operations (destroy, restore, snapshot-delete, provision, restart, maintain, snapshot-create) require
SAFE_MODE=falseto execute.
Claude Code Plugin
Kastell is available as a Claude Code plugin for the Anthropic marketplace. The plugin bundles:
- 4 skills: kastell-ops (architecture reference), kastell-scaffold (component generation), kastell-careful (destructive op guard), kastell-research (codebase exploration)
- 2 agents: kastell-auditor (parallel audit analyzer), kastell-fixer (worktree-isolated auto-fix)
- 5 hooks: destroy-block, session-audit, session-log, pre-commit-audit-guard, stop-quality-check
Install via Claude Code plugin manager or use directly with claude --plugin-dir kastell-plugin.
MCP Platform Setup
More platforms (JetBrains, Windsurf, Gemini, and others) coming in v2.0.
AI Discoverability
Kastell provides llms.txt for AI crawlers and is listed in the MCP Registry as io.github.kastelldev/kastell.
v2.3 Reliability Contracts
These contracts apply to the CLI and the MCP server.
Provisioning behavior
server_provision returns after the provider creates the server and Kastell
durably registers it. readiness.status may be pending; follow with
server_info status or server_info health. The interactive kastell init
command continues waiting through its existing readiness checks.
Automation contracts
- Unsupported and failed CLI operations return exit code
1. - Valid empty results and user cancellation return
0. - Mixed
--allfailures return1. audit --jsonandaudit --cireserve stdout for one JSON payload.
CI/CD Integration
Use kastell audit in your CI pipeline to enforce security baselines:
The --threshold flag causes a non-zero exit code when the score falls below the target, failing the CI job automatically.
What's Next
- Test Excellence: Mutation testing, coverage gaps, integration tests (v1.14)
- Plugin ecosystem with marketplace distribution (v2.0)
- Dashboard and managed service (v3.0)
Philosophy
Infrastructure should be boring, predictable, and safe.
Kastell is not a script. It's your DevOps safety layer for self-hosted infrastructure.
License
Apache 2.0 -- see LICENSE
Support
- GitHub Issues -- Bug reports and feature requests
- Changelog -- Version history
Built by @omrfc
來源:README.md,提交 2d77c61
工具
0版本歷史
1- v1.14.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分