Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

aiSecurityWarden

by SoftDevEngversion 0.7.6i★ 0iRuns on your computer
Registry nameio.github.SoftDevEng/aisecuritywarden

How to install

What it does

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

  • Connects Runs on your computer
  • Account or key Needs SW_TOKEN_NAME, SW_TOKEN_ID · 1 setting to fill in (SW_SERVER_URL)
  • Category Cybersecurity

Install

Pick the AI app you use, then copy the settings.

Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 14, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude, with some setup first

You need a aiSecurityWarden key (create it on the maker’s site) · 1 setting(s) to fill in (SW_SERVER_URL) · Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a aiSecurityWarden key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the aiSecurityWarden site ↗

  3. Fill in 1 setting(s)

    These are program settings, not keys. No sign-up needed; fill them in as the maker describes.

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

    Descriptions are as written by the maker.

  4. Open the Claude desktop app’s settings file

    SettingsDeveloperEdit Config

  5. Paste these settings and save the file

    {
      "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"
          }
        }
      }
    }

    Paste the key only into the app’s field, never into a chat or to anyone

  6. Quit Claude and open it again

  7. Try it

    Use aiSecurityWarden and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using aiSecurityWarden or shows a aiSecurityWarden tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect aiSecurityWarden yet

aiSecurityWarden runs on your computer, but ChatGPT can only connect servers that run on the web

What you can do instead

A · Use an app that can connect aiSecurityWarden

  • You need a aiSecurityWarden key (create it on the maker’s site) · 1 setting(s) to fill in (SW_SERVER_URL) · Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
  • You need a aiSecurityWarden key (create it on the maker’s site) · 1 setting(s) to fill in (SW_SERVER_URL) · Install Python (uv) on your computer first (one time)
  • You need a aiSecurityWarden key (create it on the maker’s site) · 1 setting(s) to fill in (SW_SERVER_URL) · Install Python (uv) on your computer first (one time)
  • You need a aiSecurityWarden key (create it on the maker’s site) · 1 setting(s) to fill in (SW_SERVER_URL) · Install Python (uv) on your computer first (one time)

B · Others in Cybersecurity that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code, with some setup first

You need a aiSecurityWarden key (create it on the maker’s site) · 1 setting(s) to fill in (SW_SERVER_URL) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a aiSecurityWarden key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the aiSecurityWarden site ↗

  3. Fill in 1 setting(s)

    These are program settings, not keys. No sign-up needed; fill them in as the maker describes.

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

    Descriptions are as written by the maker.

  4. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  5. Paste this command and press Enter

    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

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  6. Type /mcp in Claude Code

    You should see aiSecurityWarden listed as connected

  7. Try it

    Use aiSecurityWarden and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using aiSecurityWarden or shows a aiSecurityWarden tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor, with some setup first

You need a aiSecurityWarden key (create it on the maker’s site) · 1 setting(s) to fill in (SW_SERVER_URL) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a aiSecurityWarden key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the aiSecurityWarden site ↗

  3. Fill in 1 setting(s)

    These are program settings, not keys. No sign-up needed; fill them in as the maker describes.

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

    Descriptions are as written by the maker.

  4. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  5. Fill in your key

    In the aiSecurityWarden settings, SW_TOKEN_NAME, SW_TOKEN_ID, SW_SERVER_URL is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  6. Open the AI chat in Cursor in Agent mode

  7. Try it

    Use aiSecurityWarden and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using aiSecurityWarden or shows a aiSecurityWarden tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code, with some setup first

You need a aiSecurityWarden key (create it on the maker’s site) · 1 setting(s) to fill in (SW_SERVER_URL) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a aiSecurityWarden key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the aiSecurityWarden site ↗

  3. Fill in 1 setting(s)

    These are program settings, not keys. No sign-up needed; fill them in as the maker describes.

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

    Descriptions are as written by the maker.

  4. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  5. Fill in your key

    In the aiSecurityWarden settings, SW_TOKEN_NAME, SW_TOKEN_ID, SW_SERVER_URL is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  6. Open the AI chat in VS Code in Agent mode

  7. Try it

    Use aiSecurityWarden and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using aiSecurityWarden or shows a aiSecurityWarden tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

JSON settings are under “For developers” below

Stuck? Ask people who use aiSecurityWarden💬 Discussion →
For developers: Terminal commands and JSON settings

Installed on your computer

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"
      }
    }
  }
}

Values you fill in

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

Descriptions are as written by the maker.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
Not on npm/PyPI
Licencei
Apache-2.0
Connection
Runs on your computer
Latest versioni
0.7.6
Published to registryi
Nov 14, 2026
Code last changedi
Nov 14, 2026
Maker
SoftDevEng
Packages
pypi: aisecuritywarden
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Run on your computer in

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

All apps, with pros and cons →

Related guides

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account SoftDevEng, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed today

  • ✓ Pass

    Has a licence

    Uses Apache-2.0

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Cybersecurityi

  • More stars than 0% of the other 1059 servers in this category
  • Published to the registry more recently than 98% of the other 1059 servers in this category
  • Basic checks equal to or better than 100% of the other 1059 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is aiSecurityWarden safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: SW_TOKEN_NAME, SW_TOKEN_ID

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed today, and the latest version (0.7.6) reached the registry today.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Robin: AI-Powered Dark Web OSINT, HOL Guard, SonarQube MCP Server

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Robin: AI-Powered Dark Web OSINT

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

by apurvsinghgautamGrowing★ 8KUpdated 42 days ago

Runs on your computer

HOL Guard

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

by hashgraph-onlineWidely used↓ 7.1K/wk★ 1.1KUpdated 9 days ago

Runs on your computer

SonarQube MCP Server

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

by SonarSourceGrowing★ 686Updated 3 days ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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

Only the beginning is shown; read the rest in the repo