# kastell

Kastell connects an AI agent to server security audits and infrastructure management. Use it to inspect and maintain servers through Claude Code or another listed platform.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 60
- Author: kastelldev
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/kastelldev/kastell
- Updated: 2026-10-06
- HTML: https://affpapa.org/en/nevibecode/mcp/kastell

## What it does

Kastell can provision and maintain servers, configure SSH and firewalls, check server health, and run security audits. Through MCP, an agent can access these capabilities along with backups, restores, monitoring, and diagnostics.

The server runs with `npx -y kastell`. Cloud provisioning uses provider tokens supplied as environment variables: `HETZNER_TOKEN`, `DIGITALOCEAN_TOKEN`, `VULTR_TOKEN`, and `LINODE_TOKEN`. In Claude Code, the setup registers an MCP server named `kastell` and passes those variables. Cloud actions that depend on a provider need its token configured.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `HETZNER_TOKEN`, `DIGITALOCEAN_TOKEN`, `VULTR_TOKEN`, `LINODE_TOKEN` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add kastell -e HETZNER_TOKEN=<HETZNER_TOKEN> -e DIGITALOCEAN_TOKEN=<DIGITALOCEAN_TOKEN> -e VULTR_TOKEN=<VULTR_TOKEN> -e LINODE_TOKEN=<LINODE_TOKEN> -- npx -y kastell
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add kastell --env HETZNER_TOKEN=<HETZNER_TOKEN> --env DIGITALOCEAN_TOKEN=<DIGITALOCEAN_TOKEN> --env VULTR_TOKEN=<VULTR_TOKEN> --env LINODE_TOKEN=<LINODE_TOKEN> -- npx -y kastell
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "kastell": {
            "command": "npx",
            "args": [
                "-y",
                "kastell"
            ],
            "env": {
                "HETZNER_TOKEN": "<HETZNER_TOKEN>",
                "DIGITALOCEAN_TOKEN": "<DIGITALOCEAN_TOKEN>",
                "VULTR_TOKEN": "<VULTR_TOKEN>",
                "LINODE_TOKEN": "<LINODE_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "kastell": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "kastell"
            ],
            "env": {
                "HETZNER_TOKEN": "<HETZNER_TOKEN>",
                "DIGITALOCEAN_TOKEN": "<DIGITALOCEAN_TOKEN>",
                "VULTR_TOKEN": "<VULTR_TOKEN>",
                "LINODE_TOKEN": "<LINODE_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e HETZNER_TOKEN=<HETZNER_TOKEN> -e DIGITALOCEAN_TOKEN=<DIGITALOCEAN_TOKEN> -e VULTR_TOKEN=<VULTR_TOKEN> -e LINODE_TOKEN=<LINODE_TOKEN> kastell npx -y kastell
```
Replace <…> with your own values

## When to use it
- check server health through an agent
- audit a server’s security settings
- configure SSH and firewall rules
- run maintenance with an update and health check
- back up servers and restore from a backup

## Example prompts
- Check the health of all my servers and report which ones need attention.
- Audit this server’s security and list the issues you find.
- Create backups for all servers.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109
- [Robin: AI-Powered Dark Web OSINT](https://affpapa.org/en/nevibecode/mcp/robin-ai-powered-dark-web-osint.md) — MCP server · ★ 7658
- [jshookmcp](https://affpapa.org/en/nevibecode/mcp/jshookmcp.md) — MCP server · ★ 2061
- [OpenOSINT](https://affpapa.org/en/nevibecode/mcp/openosint.md) — MCP server · ★ 1802

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
