SWT3 AI Witness — Claude Code MCP server: setup and overview
Generates cryptographic audit trails for AI inferences, tool invocations, and delegation boundaries without leaking prompts outside your network.
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-mcpWhat SWT3 AI Witness 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.
What it helps with
- 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 for the agent
- 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
How to install SWT3 AI Witness
Platform CLI
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-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
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-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"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
Config file
{
"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
Platform CLI
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-mcpReplace <…> with your own values. 1 more environment variable is in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about SWT3 AI Witness
How to install SWT3 AI Witness in Claude Code?
Run claude mcp add swt3-witness -e SWT3_API_KEY=<SWT3_API_KEY> -e SWT3_SIGNING_KEY=<SWT3_SIGNING_KEY> -- npx -y @tenova/swt3-mcp with your actual authentication keys.
What does SWT3 AI Witness do?
It produces verifiable cryptographic records of tool executions, authorization transitions, and boundary enforcements for regulatory audits.
Do prompt payloads leave the local host?
No, prompts and model outputs never exit your boundary; only generated cryptographic hashes and event metadata get recorded.