vetto 0.2.14

Daemon-less sandbox + security layer for AI coding agents (Landlock/Seatbelt, TUI statusline, post-session audit reports)
Documentation
# Model Context Protocol (MCP) Server for Vetto

Vetto natively implements an MCP (Model Context Protocol) JSON-RPC 2.0 server over standard I/O (stdio). This allows any MCP-compatible LLM host (such as Claude Desktop, Cursor, Zed, or custom agent frameworks) to invoke isolated sandboxed commands.

---

## 1. Running the MCP Server

```bash
vetto mcp
```

---

## 2. Exposed MCP Tools

### `run_sandboxed`
Executes an arbitrary shell command or binary within the Vetto security sandbox.

**Input Schema**:
```json
{
  "type": "object",
  "properties": {
    "command": {
      "type": "string",
      "description": "Shell command line to execute inside the sandbox"
    },
    "policy": {
      "type": "string",
      "description": "Optional policy profile name or path to policy TOML"
    },
    "timeout": {
      "type": "string",
      "description": "Optional timeout duration (e.g. '30s', '2m')"
    }
  },
  "required": ["command"]
}
```

**Output Structure**:
```json
{
  "stdout": "...",
  "stderr": "...",
  "exit_code": 0,
  "blocked_count": 0
}
```

---

## 3. Claude Desktop Configuration Example

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "vetto": {
      "command": "vetto",
      "args": ["mcp"]
    }
  }
}
```