AI agents use apply_color to create or update resources in Indesign — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Indesign environment.
The tool modifies visual properties of InDesign objects (applying color), which is a reversible change to document content. This falls under Write category (creates or modifies data reversibly). Severity is medium because misuse could corrupt document aesthetics or overwrite intentional design choices, but changes are undoable via undo functionality in InDesign.
From the tool's definition Tool name 'apply_color' and description 'Apply color to an object' indicate modification of existing document properties. This is a formatting operation that changes document state reversibly.
Documented attack patterns abuse exactly the kind of access apply_color gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Indesign, and nothing reaches the server without passing your rules. This is the rule we recommend for apply_color:
{
"version": "1",
"default": "deny",
"tools": {
"apply_color": {
"limits": [
{
"counter": "apply_color_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} apply_color stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
Free to start. No card required.
Apply color to an object. It is categorised as a Write tool in the Indesign MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Indesign MCP server in PolicyLayer and add a rule for apply_color: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Indesign. Nothing to install.
apply_color is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the apply_color rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for apply_color. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
apply_color is provided by the Indesign MCP server (lucdesign/indesign-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Indesign, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.
Free to start. No card required.
36 Indesign tools catalogued and risk-classified — across an index of 43,000+ MCP servers.