# set_document_properties

A write tool on the Docx MCP server.

Agent View of the PolicyLayer registry record for `set_document_properties`. HTML page: https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/set-document-properties

## Facts

- Tool: `set_document_properties`
- Server: Docx (`andrew82106/llm_docx_agent_mcp`) — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp.md
- Homepage: https://github.com/Andrew82106/LLM_Docx_Agent_MCP
- Risk category: Write (Medium risk)
- Registry record: grade D, 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": "set_document_properties",
    "arguments": {}
  }
}
```

## Why set_document_properties is rated Medium

Setting document properties (metadata like title, author, subject, keywords) creates or modifies document attributes reversibly. This is a Write operation—changes can be undone or overwritten. Severity is medium because while property modification could enable document spoofing or metadata manipulation for social engineering, it doesn't execute code, delete data, or move funds.

From the tool's own definition: "Tool name 'set_document_properties' indicates modification of document metadata/properties. Server description mentions '30+ tools for reading, writing, formatting' and this tool appears in the writing category of operations."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Docx (23)

- `delete_docx` — Destructive — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/delete-docx.md
- `extract_images` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/extract-images.md
- `get_document_properties` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/get-document-properties.md
- `get_equation` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/get-equation.md
- `health_check` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/health-check.md
- `list_content_controls` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/list-content-controls.md
- `list_docx` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/list-docx.md
- `list_equations` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/list-equations.md
- `list_images` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/list-images.md
- `list_merge_fields` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/list-merge-fields.md
- `list_styles` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/list-styles.md
- `read_docx` — Read — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/read-docx.md
- `add_image_caption` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/add-image-caption.md
- `append_docx` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/append-docx.md
- `apply_bullet_list` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/apply-bullet-list.md
- `apply_numbered_list` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/apply-numbered-list.md
- `apply_paragraph_style` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/apply-paragraph-style.md
- `copy_docx` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/copy-docx.md
- `create_docx` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/create-docx.md
- `fill_merge_fields` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/fill-merge-fields.md
- `insert_image` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/insert-image.md
- `set_list_level` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/set-list-level.md
- `write_docx` — Write — https://policylayer.com/tools/andrew82106-llm-docx-agent-mcp/write-docx.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=andrew82106-llm-docx-agent-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/andrew82106-llm-docx-agent-mcp
