# write_file

Create a new file or completely overwrite an existing file with new content. Use with caution as it will overwrite existing files without warning. Handles text content with proper encoding. Only works within allowed directories.

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

## Facts

- Tool: `write_file`
- Server: Filesystem (`@modelcontextprotocol/server-filesystem`) — https://policylayer.com/tools/filesystem.md
- Install: `npx -y @modelcontextprotocol/server-filesystem`
- Homepage: https://github.com/modelcontextprotocol/server-filesystem
- Risk category: Write (Medium risk)
- Registry record: grade D, identity verified
- Server rate-limited: no
- Parameters: 2 (2 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `path` | string | yes |  |
| `content` | string | yes |  |

Parameters from the server's own tool schema.

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "write_file",
    "arguments": {
      "path": "<path>",
      "content": "<content>"
    }
  }
}
```

## Why write_file is rated Medium

The tool creates new files or modifies existing ones reversibly (files can be recovered or re-edited). While it can overwrite data, files are not irreversibly deleted—they remain recoverable through backups or version control. This is Write rather than Destructive.

From the tool's own definition: "Tool description states: 'Create a new file or completely overwrite an existing file with new content' and explicitly warns 'it will overwrite existing files without warning.'"

Risk signals: Accepts file system path (path) · Accepts raw HTML/template content (content)

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Filesystem (13)

- `directory_tree` — Read — https://policylayer.com/tools/filesystem/directory-tree.md
- `get_file_info` — Read — https://policylayer.com/tools/filesystem/get-file-info.md
- `list_allowed_directories` — Read — https://policylayer.com/tools/filesystem/list-allowed-directories.md
- `list_directory` — Read — https://policylayer.com/tools/filesystem/list-directory.md
- `list_directory_with_sizes` — Read — https://policylayer.com/tools/filesystem/list-directory-with-sizes.md
- `read_file` — Read — https://policylayer.com/tools/filesystem/read-file.md
- `read_media_file` — Read — https://policylayer.com/tools/filesystem/read-media-file.md
- `read_multiple_files` — Read — https://policylayer.com/tools/filesystem/read-multiple-files.md
- `read_text_file` — Read — https://policylayer.com/tools/filesystem/read-text-file.md
- `search_files` — Read — https://policylayer.com/tools/filesystem/search-files.md
- `create_directory` — Write — https://policylayer.com/tools/filesystem/create-directory.md
- `edit_file` — Write — https://policylayer.com/tools/filesystem/edit-file.md
- `move_file` — Write — https://policylayer.com/tools/filesystem/move-file.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=filesystem · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/filesystem
