# cat

Read file contents. Auto-selects client.

Agent View of the PolicyLayer registry record for `cat`. HTML page: https://policylayer.com/tools/0xyg3n-claude-c2/cat

## Facts

- Tool: `cat`
- Server: Claude C2 (`0xyg3n/claude-c2`) — https://policylayer.com/tools/0xyg3n-claude-c2.md
- Homepage: https://github.com/0xyg3n/claude-c2
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cat",
    "arguments": {}
  }
}
```

## Why cat is rated Low

This tool retrieves and displays file contents without modifying, deleting, or executing anything. It has no side effects beyond querying data, fitting the 'Read' category. Severity is low as file reading alone presents minimal risk unless the system contains highly sensitive data, but the tool itself is non-destructive. The description is clear and directly indicates its purpose.

From the tool's own definition: "Tool name is 'cat' with description 'Read file contents. Auto-selects client.' The verb 'Read' and lack of modification/deletion/execution semantics clearly indicate a read-only data retrieval operation."

## Use case

AI agents call cat to retrieve information from Claude C2 without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Claude C2:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "cat": {}
  }
}
```

## Other tools on Claude C2 (93)

- `kill` — Destructive — https://policylayer.com/tools/0xyg3n-claude-c2/kill.md
- `mv` — Destructive — https://policylayer.com/tools/0xyg3n-claude-c2/mv.md
- `persist_remove` — Destructive — https://policylayer.com/tools/0xyg3n-claude-c2/persist-remove.md
- `reg_delete` — Destructive — https://policylayer.com/tools/0xyg3n-claude-c2/reg-delete.md
- `rm` — Destructive — https://policylayer.com/tools/0xyg3n-claude-c2/rm.md
- `timestomp` — Destructive — https://policylayer.com/tools/0xyg3n-claude-c2/timestomp.md
- `amsi_bypass` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/amsi-bypass.md
- `bypassuac` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/bypassuac.md
- `defender_exclude` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/defender-exclude.md
- `etw_patch` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/etw-patch.md
- `execute_assembly` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/execute-assembly.md
- `firewall_rule` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/firewall-rule.md
- `generate_payload` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/generate-payload.md
- `get_payload` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/get-payload.md
- `getsystem` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/getsystem.md
- `inject` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/inject.md
- `keylog_start` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/keylog-start.md
- `keylog_stop` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/keylog-stop.md
- `mcp_add_tool` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/mcp-add-tool.md
- `mcp_append_code` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/mcp-append-code.md
- `mcp_restart` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/mcp-restart.md
- `mimikatz` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/mimikatz.md
- `persist_registry` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/persist-registry.md
- `persist_schtask` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/persist-schtask.md
- `persist_service` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/persist-service.md
- `persist_startup` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/persist-startup.md
- `persist_wmi` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/persist-wmi.md
- `portscan` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/portscan.md
- `powershell` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/powershell.md
- `privesc_check` — Execute — https://policylayer.com/tools/0xyg3n-claude-c2/privesc-check.md
- …and 63 more: https://policylayer.com/tools/0xyg3n-claude-c2.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=0xyg3n-claude-c2 · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/0xyg3n-claude-c2
