Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.Prototyp · alle 30 Min. aktualisiert
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

aiSecurityWarden

von SoftDevEngVersion 0.7.6i★ 0iLäuft auf deinem Computer
Name in der Registryio.github.SoftDevEng/aisecuritywarden

So installierst du es

What it does

Human approval for AI agents: E2E-encrypted secrets and gated Gmail, GitHub and MCP tools.

  • Connects Läuft auf deinem Computer
  • Account or key Needs SW_TOKEN_NAME, SW_TOKEN_ID · 1 setting to fill in (SW_SERVER_URL)
  • Category Cybersicherheit

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

3/3 Prüfungen bestanden · Läuft auf deinem Computer · ✓ Befehle geprüft am 14. Nov. 2026

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von aiSecurityWarden (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (SW_SERVER_URL) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy

  1. Python (uv) installieren

    Nur einmal; gilt für alle Server, die Python (uv) brauchen

    Download-Seite von Python (uv) öffnen ↗

  2. Bei aiSecurityWarden registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Seite von aiSecurityWarden öffnen ↗

  3. 1 Einstellung(en) ausfüllen

    Das sind Programmeinstellungen, keine Schlüssel. Keine Registrierung nötig; wie vom Autor beschrieben ausfüllen.

    • SW_SERVER_URL Your aiSecurityWarden server · Standard https://app.aisecuritywarden.com

    Die Beschreibungen sind noch im englischen Original.

  4. Einstellungsdatei der Claude-Desktop-App öffnen

    SettingsDeveloperEdit Config

  5. Diese Einstellungen einfügen und speichern

    {
      "mcpServers": {
        "aisecuritywarden": {
          "command": "uvx",
          "args": [
            "aisecuritywarden",
            "serve"
          ],
          "env": {
            "SW_SERVER_URL": "https://app.aisecuritywarden.com",
            "SW_TOKEN_NAME": "your-value",
            "SW_TOKEN_ID": "your-value"
          }
        }
      }
    }

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  6. Claude beenden und neu öffnen

  7. Ausprobieren

    Nutze aiSecurityWarden und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es aiSecurityWarden nutzt, oder ein Werkzeug von aiSecurityWarden in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

ChatGPT kann aiSecurityWarden noch nicht verbinden

aiSecurityWarden läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen

Das kannst du stattdessen tun

A · Eine App nutzen, die aiSecurityWarden verbinden kann

  • Du brauchst einen Schlüssel von aiSecurityWarden (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (SW_SERVER_URL) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
  • Du brauchst einen Schlüssel von aiSecurityWarden (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (SW_SERVER_URL) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
  • Du brauchst einen Schlüssel von aiSecurityWarden (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (SW_SERVER_URL) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
  • Du brauchst einen Schlüssel von aiSecurityWarden (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (SW_SERVER_URL) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

B · Andere in Cybersicherheit, die mit ChatGPT funktionieren

Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden

Klappt mit Claude Code, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von aiSecurityWarden (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (SW_SERVER_URL) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

  1. Python (uv) installieren

    Nur einmal; gilt für alle Server, die Python (uv) brauchen

    Download-Seite von Python (uv) öffnen ↗

  2. Bei aiSecurityWarden registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Seite von aiSecurityWarden öffnen ↗

  3. 1 Einstellung(en) ausfüllen

    Das sind Programmeinstellungen, keine Schlüssel. Keine Registrierung nötig; wie vom Autor beschrieben ausfüllen.

    • SW_SERVER_URL Your aiSecurityWarden server · Standard https://app.aisecuritywarden.com

    Die Beschreibungen sind noch im englischen Original.

  4. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  5. Diesen Befehl einfügen und Enter drücken

    claude mcp add --scope user aisecuritywarden --env SW_SERVER_URL=https://app.aisecuritywarden.com --env SW_TOKEN_NAME=your-value --env SW_TOKEN_ID=your-value -- uvx aisecuritywarden serve

    Ersetze „your-value“ vor dem Enter durch deinen Schlüssel

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  6. /mcp in Claude Code eingeben

    aiSecurityWarden sollte in der Liste als verbunden erscheinen

  7. Ausprobieren

    Nutze aiSecurityWarden und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es aiSecurityWarden nutzt, oder ein Werkzeug von aiSecurityWarden in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von aiSecurityWarden (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (SW_SERVER_URL) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

  1. Python (uv) installieren

    Nur einmal; gilt für alle Server, die Python (uv) brauchen

    Download-Seite von Python (uv) öffnen ↗

  2. Bei aiSecurityWarden registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Seite von aiSecurityWarden öffnen ↗

  3. 1 Einstellung(en) ausfüllen

    Das sind Programmeinstellungen, keine Schlüssel. Keine Registrierung nötig; wie vom Autor beschrieben ausfüllen.

    • SW_SERVER_URL Your aiSecurityWarden server · Standard https://app.aisecuritywarden.com

    Die Beschreibungen sind noch im englischen Original.

  4. Mit diesem Button Cursor öffnen

    In Cursor öffnen

    Cursor fragt nach einer Bestätigung; klicke Install

  5. Schlüssel eintragen

    In den Einstellungen von aiSecurityWarden ist SW_TOKEN_NAME, SW_TOKEN_ID, SW_SERVER_URL leer; trag deinen Schlüssel ein und speichere

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  6. KI-Chat in Cursor im Agent-Modus öffnen

  7. Ausprobieren

    Nutze aiSecurityWarden und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es aiSecurityWarden nutzt, oder ein Werkzeug von aiSecurityWarden in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von aiSecurityWarden (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (SW_SERVER_URL) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

  1. Python (uv) installieren

    Nur einmal; gilt für alle Server, die Python (uv) brauchen

    Download-Seite von Python (uv) öffnen ↗

  2. Bei aiSecurityWarden registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Seite von aiSecurityWarden öffnen ↗

  3. 1 Einstellung(en) ausfüllen

    Das sind Programmeinstellungen, keine Schlüssel. Keine Registrierung nötig; wie vom Autor beschrieben ausfüllen.

    • SW_SERVER_URL Your aiSecurityWarden server · Standard https://app.aisecuritywarden.com

    Die Beschreibungen sind noch im englischen Original.

  4. Mit diesem Button VS Code öffnen

    In VS Code öffnen

    VS Code fragt nach einer Bestätigung; klicke Install

  5. Schlüssel eintragen

    In den Einstellungen von aiSecurityWarden ist SW_TOKEN_NAME, SW_TOKEN_ID, SW_SERVER_URL leer; trag deinen Schlüssel ein und speichere

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  6. KI-Chat in VS Code im Agent-Modus öffnen

  7. Ausprobieren

    Nutze aiSecurityWarden und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es aiSecurityWarden nutzt, oder ein Werkzeug von aiSecurityWarden in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die aiSecurityWarden nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Auf deinem Computer installiert

Claude Code

claude mcp add --scope user aisecuritywarden --env SW_SERVER_URL=https://app.aisecuritywarden.com --env SW_TOKEN_NAME=your-value --env SW_TOKEN_ID=your-value -- uvx aisecuritywarden serve

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "aisecuritywarden": {
      "command": "uvx",
      "args": [
        "aisecuritywarden",
        "serve"
      ],
      "env": {
        "SW_SERVER_URL": "https://app.aisecuritywarden.com",
        "SW_TOKEN_NAME": "your-value",
        "SW_TOKEN_ID": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "aisecuritywarden": {
      "command": "uvx",
      "args": [
        "aisecuritywarden",
        "serve"
      ],
      "env": {
        "SW_SERVER_URL": "https://app.aisecuritywarden.com",
        "SW_TOKEN_NAME": "your-value",
        "SW_TOKEN_ID": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "aisecuritywarden": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "aisecuritywarden",
        "serve"
      ],
      "env": {
        "SW_SERVER_URL": "https://app.aisecuritywarden.com",
        "SW_TOKEN_NAME": "your-value",
        "SW_TOKEN_ID": "your-value"
      }
    }
  }
}

Werte, die du selbst einträgst

  • SW_SERVER_URL erforderlich env
    Your aiSecurityWarden server
  • SW_TOKEN_NAME geheim erforderlich env
    The machine token's name on the website (its setup step shows it)
  • SW_TOKEN_ID geheim erforderlich env
    The machine token's id (its setup step shows it)

Die Beschreibungen sind noch im englischen Original.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Auf einen Blick

Downloads pro Wochei
Nicht auf npm/PyPI
Lizenzi
Apache-2.0
Verbindung
Läuft auf deinem Computer
Neueste Versioni
0.7.6
In der Registry veröffentlichti
14. Nov. 2026
Code zuletzt geänderti
14. Nov. 2026
Entwickler
SoftDevEng
Pakete
pypi: aisecuritywarden
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 14. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto SoftDevEng bestätigt, dem das Repo gehört

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: heute

  • ✓ Bestanden

    Hat eine Lizenz

    Nutzt Apache-2.0

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Mit Google anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Mit Google anmelden, um zu bewerten

Im Vergleich mit anderen in Cybersicherheiti

  • Mehr Sterne als 0 % der anderen 1059 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 98 % der anderen 1059 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 1059 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist aiSecurityWarden sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: SW_TOKEN_NAME, SW_TOKEN_ID

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt heute geändert, und die neueste Version (0.7.6) kam heute in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Robin: AI-Powered Dark Web OSINT, HOL Guard, SonarQube MCP Server

Andere in derselben Kategorie

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Robin: AI-Powered Dark Web OSINT

Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.

von apurvsinghgautamWachsend★ 7978Aktualisiert vor 42 Tagen

Läuft auf deinem Computer

HOL Guard

Local-first AI agent security evidence and approval workflows through HOL Guard's stdio MCP server.

von hashgraph-onlineWeit verbreitet↓ 7083/Wo.★ 1102Aktualisiert vor 9 Tagen

Läuft auf deinem Computer

SonarQube MCP Server

Analyze code quality and security with SonarQube Server or Cloud directly in AI assistants.

von SonarSourceWachsend★ 686Aktualisiert vor 3 Tagen

Läuft auf deinem Computer

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

aiSecurityWarden client

The open-source client for [aiSecurityWarden](https://aisecuritywarden.com), a secrets service with scoped, revocable machine tokens, end-to-end encryption and human approval for AI agents. Built so AI agents (like Hermes Agent) and other unattended services can fetch API keys at startup without ever storing those keys on disk.

All encryption and decryption happens here, in the client. The server only ever receives ciphertext, proofs it keeps only as Argon2id hashes, and wrapped keys, so you can check what leaves your machine by reading this code.

Get an account and see how it works at [aisecuritywarden.com](https://aisecuritywarden.com).

This repository contains:

  • the Python client library (securitywarden.client.SecurityWardenClient);
  • swctl, the command-line tool (machines: swctl export / swctl run; admins: swctl admin ...);
  • swadmin, a small desktop admin window;
  • the cryptography (src/securitywarden/crypto.py), the approval-policy and address-list parsers, and the shared test vectors other implementations are checked against;
  • the protocol and design document: docs/DESIGN.md.

The aiSecurityWarden server is a separate product.

Status: alpha. The design is deliberately small and reviewable, but it has not had an independent

security audit. Read the threat model.

How it works

 Admin workstation                 aiSecurityWarden server                Agent box (e.g. jarvis)

───────────────── ───────────────────── ─────────────────────── swctl admin ... stores only: sw1.m. . : • creates project key ───────▶ • ciphertext (chmod 600 file) • encrypts secrets • Argon2 hashes │ • wraps project key • wrapped keys ◀── id+secret ─────┤ 1. auth → 5-min JWT per machine token • audit log ─── ciphertext ──▶ │ 2. fetch │ 3. decrypt locally with ▼ KEY=VALUE → agent env → tools

A machine token has three parts:

PartSent to server?Purpose
idyesidentifies the token
secretyes (over TLS)proves possession; server keeps only an Argon2id hash
keyneverunwraps the project key, which decrypts the secrets

So the server can authenticate a token and hand out ciphertext, but it cannot read any secret. A full copy of the server's database is useless without a token key.

Threat model

Protects against

  • Secrets at rest on agent machines: only a token sits on disk, not your API keys. Backups, copied dotfiles and logs leak a token you can revoke in one command.
  • Server compromise: the database holds only AES-256-GCM ciphertext, Argon2 hashes and wrapped keys. Ciphertext is bound to its project, token and name (AAD), so a malicious server can't swap blobs around either.
  • Over-broad access: each token is read-only and scoped to one project.
  • Stale credentials: tokens can expire; revocation takes effect on the next request (access JWTs are re-checked against the database every time).
  • Brute force: Argon2id hashing, per-IP and per-token failure rate limiting, and the same timing for unknown token ids.

Does not protect against

  • An attacker who already controls the agent machine while it's running. They can read the token file, or read the decrypted secrets from the process memory or environment. No secrets manager can prevent that.
  • Losing the admin credential. Project keys are wrapped under it; without it the secrets can't be recovered (by design). Keep it in your password manager.
  • A server operator who swaps in malicious *client* code. Install swctl from a source you trust.

Install

pipx install aisecuritywarden     # or: pip install aisecuritywarden (in a virtual environment)

It installs the commands swctl, sw-mcp and swadmin. In Python code (connectors) the package is imported as securitywarden, e.g. from securitywarden.mcp import Connector.

Coming from 0.6 (installed as `securitywarden`)? Reinstall once under the new name; your tokens and settings stay where they are:

pip uninstall securitywarden && pip install aisecuritywarden     # same environment as before

Needs Python 3.10+, on Linux, Windows or macOS (all three are tested in CI). swadmin also needs Tkinter: it ships with the python.org installers for Windows and macOS; on Debian/Ubuntu, sudo apt install python3-tk.

macOS
  1. Install Python from python.org (3.10 or newer). Its installer includes a current Tk, so swadmin works. Avoid Apple's built-in /usr/bin/python3: its Tk is old and draws windows badly. With Homebrew's Python, also run brew install python-tk.
  2. Install the client in its own virtual environment:
   python3 -m venv ~/.venvs/securitywarden

~/.venvs/securitywarden/bin/pip install aisecuritywarden ~/.venvs/securitywarden/bin/swadmin # the admin window; swctl and sw-mcp are next to it

  1. Files live where they do on Linux: ~/.config/securitywarden/ (tokens, the admin credential file if you use one, swctl's cached 2FA session), each readable by you only.

The website works in Safari too (CI runs it in WebKit, Safari's engine).

Updating
sw-mcp update --check     # or: swctl update --check

sw-mcp update # installs the newest signed release; never an older one

Or ask your agent: "check for aiSecurityWarden updates" / "update aiSecurityWarden". The agent's securitywarden_update tool asks you to approve the exact version first. Restart the agent app afterwards. When a newer client is out, the agent is told once (and every time if the server requires it). Updates are signed with an offline release key and checked against the key built into the client; see DESIGN.md "Client updates".

From source:

git clone https://github.com/SoftDevEng/aiSecurityWarden-client && cd aiSecurityWarden-client

pip install -e ".[dev]" && pytest

Quick start

You need the address of an aiSecurityWarden server and, to administer it, its admin credential.

1. Admin (from your workstation)
mkdir -p ~/.config/securitywarden

echo 'sw1.a....' > ~/.config/securitywarden/admin.cred && chmod 600 ~/.config/securitywarden/admin.cred export SW_SERVER_URL=https://vault.example.com

swctl admin project create hermes-webull swctl admin secret set hermes-webull WEBULL_APP_KEY # prompts; value never in argv/history swctl admin secret set hermes-webull WEBULL_APP_SECRET swctl admin token create hermes-webull --name jarvis --expires-days 180

2. Machine
export SW_SERVER_URL=https://vault.example.com SW_TOKEN_ID=<token id> SW_TOKEN_NAME=jarvis

swctl setup # paste the one-time setup code the website (or --setup-code) shows

swctl export # KEY=VALUE lines swctl export --format json swctl run -- python my_bot.py # run a command with secrets in its environment

Hermes Agent integration

Hermes supports custom vaults through a command helper that prints KEY=VALUE lines at launch. That's exactly what swctl export does. See examples/hermes/ for a wrapper script and config.

AI agent tools with approval (sw-mcp)

sw-mcp gives an agent tools for an application, such as Gmail, as an MCP server. Every action goes through the token's rules in aiSecurityWarden: reading may be allowed outright, while sending an email waits until you approve exactly that email (on the website, in swadmin, Telegram or ntfy). The agent is told it's waiting and checks back. See docs/mcp-gmail.md for the Gmail set-up with Hermes, and DESIGN.md for writing a connector for another application.

sw-mcp tools --connector gmail          # the tools, their actions, risks and suggested rules

sw-mcp serve --connector gmail # what Hermes runs (stdio) sw-mcp call gmail_search query=is:unread limit=5 # try one tool by hand; waits for approval if needed sw-mcp setup --token-file ~/.config/securitywarden/gmail-token # store the token from a one-time setup code

Other applications get a connector: one Python class whose tools each declare an action and a risk. An AI can write one: sw-mcp new-connector NAME creates the project (with instructions for the AI in AGENTS.md), sw-mcp guide prints the rules, and sw-mcp check plus the generated tests confirm it's right. Installed connector packages are found by name (--connector NAME). See docs/connectors.md.

Connectors can also come from aiSecurityWarden itself: turn a built-in one (Gmail) on for a project on the website, or upload your own (sw-mcp pack NAME, then Connectors > Upload; encrypted in the browser, account-wide, versioned with a backup of the version replaced). sw-mcp serve then loads whatever the token's project uses, with no --connector needed, and picks up new versions as you choose: at once, or on the next restart.

Teaching the agent the rules

Every agent connected to sw-mcp is told the essentials when it connects: how to wait for an approval, to treat email and web content as untrusted, to use only setup codes you typed, and to update through securitywarden_update (never pip or pipx, never killing sw-mcp). Agents that support skills can get the full guide too:

sw-mcp skill install hermes     # Hermes Agent: ~/.hermes/skills/aisecuritywarden/SKILL.md

sw-mcp skill install claude # Claude Code: ~/.claude/skills/aisecuritywarden/SKILL.md sw-mcp skill zip claude # Claude app: upload the .zip in its Skills settings

Then start a new session in the agent. sw-mcp serve keeps skills it installed up to date after each client update; a SKILL.md you wrote yourself is never replaced.

Admin commands

Command
`swctl admin project createlistdelete NAME`manage projects
`swctl admin secret setgetdelete PROJECT NAME`values read from a prompt or stdin
swctl admin secret list PROJECTnames only
swctl admin token create PROJECT --name N [--expires-days D] [--allow-ip ADDR]...prints the token once; --allow-ip (address or CIDR, repeatable) pins where it may connect from
`swctl admin token set-ips ID --allow-ip ADDR... \--any`replace or remove a token's allowed addresses
swctl admin token list [PROJECT]status, expiry, last used, last IP, allowed addresses, approval
`swctl admin token create ... --approval session\every_fetch [--session-ttl 8h] [--channel C]...`require a person to approve the token's use (see below)
`swctl admin token set-approval ID --approval none\session\every_fetch [...]`change or remove it; ends pending requests and approved sessions
swctl admin token reset-approval-limits IDlet a token that hit its hourly limit ask again now (also in swadmin: Reset approval limit…)

| swctl admin approvals list / approve ID [--match NN] / deny ID | decide pendi

Nur der Anfang wird gezeigt; den Rest findest du im Repo