Sort table rows by a column
AI agents use numbers_sort_rows to create or update resources in Iwork — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Iwork environment.
Sorting is a reversible modification operation that reorganizes existing data without deletion or external execution. While it alters the spreadsheet state, the change is non-destructive and can be undone. This qualifies as Write rather than Execute (no code/command execution) or Destructive (no data loss).
From the tool's definition Tool name 'numbers_sort_rows' and description 'Sort table rows by a column' indicate data modification in a Numbers spreadsheet. Sorting reorders but preserves all data.
Documented attack patterns abuse exactly the kind of access numbers_sort_rows gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Iwork, and nothing reaches the server without passing your rules. This is the rule we recommend for numbers_sort_rows:
{
"version": "1",
"default": "deny",
"tools": {
"numbers_sort_rows": {
"limits": [
{
"counter": "numbers_sort_rows_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} numbers_sort_rows 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.
Sort table rows by a column. It is categorised as a Write tool in the Iwork MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Iwork MCP server in PolicyLayer and add a rule for numbers_sort_rows: 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 Iwork. Nothing to install.
numbers_sort_rows 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 numbers_sort_rows 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 numbers_sort_rows. 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.
numbers_sort_rows is provided by the Iwork MCP server (reichenbach/iwork_mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Iwork, 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.
114 Iwork tools catalogued and risk-classified — across an index of 43,000+ MCP servers.