# write_file

A write tool on the Allcanuse MCP server.

Agent View of the PolicyLayer registry record for `write_file`. HTML page: https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/write-file

## Facts

- Tool: `write_file`
- Server: Allcanuse (`ra1nyxin/allcanuse-mcp`) — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp.md
- Homepage: https://github.com/ra1nyxin/allcanuse-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": "write_file",
    "arguments": {}
  }
}
```

## Why write_file is rated Medium

Write_file creates or modifies data reversibly on disk. It is a Write category tool, not Destructive, because file writing is typically reversible (files can be edited again or deleted separately). Severity is high because uncontrolled file writing by an AI agent could corrupt system files, overwrite configuration, inject malicious code into scripts, or compromise application integrity.

From the tool's own definition: "Tool name is 'write_file' with no description provided. The name explicitly indicates file writing capability. Server description mentions 'file editing' as a core function."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Allcanuse (129)

- `cancel_background_task` — Destructive — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/cancel-background-task.md
- `delete_path` — Destructive — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/delete-path.md
- `kill_process` — Destructive — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/kill-process.md
- `capture_camera_photo` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/capture-camera-photo.md
- `capture_screenshot` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/capture-screenshot.md
- `check_c_syntax` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/check-c-syntax.md
- `compile_c_program` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/compile-c-program.md
- `create_background_task` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/create-background-task.md
- `deploy_and_update_service` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/deploy-and-update-service.md
- `evaluate_c_math_expression` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/evaluate-c-math-expression.md
- `extract_archive` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/extract-archive.md
- `format_c_code` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/format-c-code.md
- `generate_c_build_files` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/generate-c-build-files.md
- `generate_c_numeric_test_harness` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/generate-c-numeric-test-harness.md
- `http_request` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/http-request.md
- `optimize_images_for_memory` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/optimize-images-for-memory.md
- `pause_background_task` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/pause-background-task.md
- `ping_host` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/ping-host.md
- `preprocess_c_source` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/preprocess-c-source.md
- `raw_tcp_exchange` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/raw-tcp-exchange.md
- `resume_background_task` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/resume-background-task.md
- `run_cmd` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/run-cmd.md
- `run_powershell` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/run-powershell.md
- `run_shell` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/run-shell.md
- `scan_ports` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/scan-ports.md
- `start_managed_process` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/start-managed-process.md
- `start_process` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/start-process.md
- `stop_managed_process` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/stop-managed-process.md
- `tcp_connect` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/tcp-connect.md
- `trace_route` — Execute — https://policylayer.com/tools/ra1nyxin-allcanuse-mcp/trace-route.md
- …and 99 more: https://policylayer.com/tools/ra1nyxin-allcanuse-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=ra1nyxin-allcanuse-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/ra1nyxin-allcanuse-mcp
