# store_files

Store uploaded files. Receives file objects with name, size, type, data (base64).

Agent View of the PolicyLayer registry record for `store_files`. HTML page: https://policylayer.com/tools/agent-jail-mcp/store-files

## Facts

- Tool: `store_files`
- Server: Agent Jail (`idiscoord13-sketch/agent-jail-mcp`) — https://policylayer.com/tools/agent-jail-mcp.md
- Homepage: https://github.com/idiscoord13-sketch/agent-jail-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

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

## Why store_files is rated Medium

The tool creates/stores new files on the server by accepting uploaded file objects with base64-encoded data. This is a write operation (creating data), reversible in principle (files could be deleted), with medium severity as it could be misused to store malicious content or large amounts of data.

From the tool's own definition: "'Store uploaded files. Receives file objects with name, size, type, data (base64).'"

## Use case

AI agents use store_files to create or update resources in Agent Jail, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Agent Jail environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Agent Jail:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "store_files": {
      "limits": [
        {
          "counter": "store_files_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Agent Jail (34)

- `cleanup_expired_sandboxes` — Destructive — https://policylayer.com/tools/agent-jail-mcp/cleanup-expired-sandboxes.md
- `destroy_sandbox` — Destructive — https://policylayer.com/tools/agent-jail-mcp/destroy-sandbox.md
- `run_in_sandbox` — Execute — https://policylayer.com/tools/agent-jail-mcp/run-in-sandbox.md
- `run_query` — Execute — https://policylayer.com/tools/agent-jail-mcp/run-query.md
- `schedule_task` — Execute — https://policylayer.com/tools/agent-jail-mcp/schedule-task.md
- `add` — Other — https://policylayer.com/tools/agent-jail-mcp/add.md
- `async_tool` — Other — https://policylayer.com/tools/agent-jail-mcp/async-tool.md
- `custom_name` — Other — https://policylayer.com/tools/agent-jail-mcp/custom-name.md
- `greet` — Other — https://policylayer.com/tools/agent-jail-mcp/greet.md
- `log_progress` — Other — https://policylayer.com/tools/agent-jail-mcp/log-progress.md
- `multiply` — Other — https://policylayer.com/tools/agent-jail-mcp/multiply.md
- `my_task` — Other — https://policylayer.com/tools/agent-jail-mcp/my-task.md
- `my_tool` — Other — https://policylayer.com/tools/agent-jail-mcp/my-tool.md
- `tool_with_context` — Other — https://policylayer.com/tools/agent-jail-mcp/tool-with-context.md
- `check_worker_status` — Read — https://policylayer.com/tools/agent-jail-mcp/check-worker-status.md
- `docker_health` — Read — https://policylayer.com/tools/agent-jail-mcp/docker-health.md
- `echo_tool` — Read — https://policylayer.com/tools/agent-jail-mcp/echo-tool.md
- `get_auth_type` — Read — https://policylayer.com/tools/agent-jail-mcp/get-auth-type.md
- `get_client_ip` — Read — https://policylayer.com/tools/agent-jail-mcp/get-client-ip.md
- `get_info` — Read — https://policylayer.com/tools/agent-jail-mcp/get-info.md
- `get_my_emails` — Read — https://policylayer.com/tools/agent-jail-mcp/get-my-emails.md
- `get_user_id` — Read — https://policylayer.com/tools/agent-jail-mcp/get-user-id.md
- `greeting` — Read — https://policylayer.com/tools/agent-jail-mcp/greeting.md
- `introspect` — Read — https://policylayer.com/tools/agent-jail-mcp/introspect.md
- `list_files` — Read — https://policylayer.com/tools/agent-jail-mcp/list-files.md
- `list_sandboxes` — Read — https://policylayer.com/tools/agent-jail-mcp/list-sandboxes.md
- `long_running_task` — Read — https://policylayer.com/tools/agent-jail-mcp/long-running-task.md
- `read_file` — Read — https://policylayer.com/tools/agent-jail-mcp/read-file.md
- `add_expense` — Write — https://policylayer.com/tools/agent-jail-mcp/add-expense.md
- `create_sandbox` — Write — https://policylayer.com/tools/agent-jail-mcp/create-sandbox.md
- …and 4 more: https://policylayer.com/tools/agent-jail-mcp.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=agent-jail-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/agent-jail-mcp
