# SWT3 AI Witness

Generates cryptographic audit trails for AI inferences, tool invocations, and delegation boundaries without leaking prompts outside your network.

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

## What it does

The server logs agent activities, tracks multi-hop agent delegations, and verifies boundary restrictions against compliance profiles like the EU AI Act or NIST. Raw prompt texts and generation outputs remain entirely within local infrastructure because the audit pipeline processes hashes and metadata events.

The architecture incorporates procedure checks for manual kill-switch events, adapters for NVIDIA NemoClaw policy decisions, and ROS 2 robotics logs. Running the package requires valid runtime environment credentials, notably `SWT3_API_KEY` along with agent identity variables.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SWT3_API_KEY`, `SWT3_TENANT_ID`, `SWT3_CONFIG_FILE`, `SWT3_CLEARING_LEVEL`, `SWT3_AGENT_ID`, `SWT3_SIGNING_KEY` — 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 --env SWT3_API_KEY=<SWT3_API_KEY> --env SWT3_TENANT_ID=<SWT3_TENANT_ID> --env SWT3_CONFIG_FILE=<SWT3_CONFIG_FILE> --env SWT3_CLEARING_LEVEL=<SWT3_CLEARING_LEVEL> --env SWT3_AGENT_ID=<SWT3_AGENT_ID> --transport stdio swt3-ai-witness -- npx -y @tenova/swt3-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

**Platform CLI**
```bash
codex mcp add swt3-ai-witness --env SWT3_API_KEY=<SWT3_API_KEY> --env SWT3_TENANT_ID=<SWT3_TENANT_ID> --env SWT3_CONFIG_FILE=<SWT3_CONFIG_FILE> --env SWT3_CLEARING_LEVEL=<SWT3_CLEARING_LEVEL> --env SWT3_AGENT_ID=<SWT3_AGENT_ID> -- npx -y @tenova/swt3-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "swt3-ai-witness": {
            "command": "npx",
            "args": [
                "-y",
                "@tenova/swt3-mcp"
            ],
            "env": {
                "SWT3_API_KEY": "<SWT3_API_KEY>",
                "SWT3_TENANT_ID": "<SWT3_TENANT_ID>",
                "SWT3_CONFIG_FILE": "<SWT3_CONFIG_FILE>",
                "SWT3_CLEARING_LEVEL": "<SWT3_CLEARING_LEVEL>",
                "SWT3_AGENT_ID": "<SWT3_AGENT_ID>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "swt3-ai-witness": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@tenova/swt3-mcp"
            ],
            "env": {
                "SWT3_API_KEY": "<SWT3_API_KEY>",
                "SWT3_TENANT_ID": "<SWT3_TENANT_ID>",
                "SWT3_CONFIG_FILE": "<SWT3_CONFIG_FILE>",
                "SWT3_CLEARING_LEVEL": "<SWT3_CLEARING_LEVEL>",
                "SWT3_AGENT_ID": "<SWT3_AGENT_ID>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SWT3_API_KEY=<SWT3_API_KEY> -e SWT3_TENANT_ID=<SWT3_TENANT_ID> -e SWT3_CONFIG_FILE=<SWT3_CONFIG_FILE> -e SWT3_CLEARING_LEVEL=<SWT3_CLEARING_LEVEL> -e SWT3_AGENT_ID=<SWT3_AGENT_ID> swt3-ai-witness npx -y @tenova/swt3-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- Log multi-agent delegation chains for compliance auditing
- Record emergency kill-switch interventions with preserved state
- Witness unauthorized scope breaches and blocked tool attempts
- Map system behavior to EU AI Act and NIST requirements

## Example prompts
- Record an out-of-scope tool invocation attempt in the audit log
- Verify the completeness of the delegation chain across sub-agents
- Document an operator kill-switch interruption with state preservation

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89609
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12110
- [Robin: AI-Powered Dark Web OSINT](https://affpapa.org/en/nevibecode/mcp/robin-ai-powered-dark-web-osint.md) — MCP server · ★ 7718
- [jshookmcp](https://affpapa.org/en/nevibecode/mcp/jshookmcp.md) — MCP server · ★ 2066
- [OpenOSINT](https://affpapa.org/en/nevibecode/mcp/openosint.md) — MCP server · ★ 1816

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