Write a numpy array to a raster file using metadata from a reference raster. Args: array: 2D or 3D list (or numpy array) of raster values. reference_raster: Path to a raster whose metadata will be copied. output_path: Path to save the new raster. dtype: Optional data type (e.g., 'float32', 'uint8...
AI agents use write_raster to create or update resources in GIS MCP Server — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your GIS MCP Server environment.
This is a Write operation because it creates or modifies geospatial raster data files reversibly. It does not execute arbitrary code, delete data, or perform financial transactions. Severity is medium because unauthorized raster file creation could overwrite existing geospatial datasets and impact GIS analyses, but the effect is localized to file I/O and reversible through deletion or restoration.
From the tool's definition The tool writes data to a file ('Write a numpy array to a raster file') with parameters 'output_path' to save the new raster. The operation creates or modifies a raster file on disk.
Documented attack patterns abuse exactly the kind of access write_raster gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and GIS MCP Server, and nothing reaches the server without passing your rules. This is the rule we recommend for write_raster:
{
"version": "1",
"default": "deny",
"tools": {
"write_raster": {
"limits": [
{
"counter": "write_raster_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} write_raster 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.
Write a numpy array to a raster file using metadata from a reference raster. Args: array: 2D or 3D list (or numpy array) of raster values. reference_raster: Path to a raster whose metadata will be copied. output_path: Path to save the new raster. dtype: Optional data type (e.g., 'float32', 'uint8'). Returns: Dictionary with status and message. It is categorised as a Write tool in the GIS MCP Server MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the GIS MCP Server MCP server in PolicyLayer and add a rule for write_raster: 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 GIS MCP Server. Nothing to install.
write_raster 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 write_raster 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 write_raster. 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.
write_raster is provided by the GIS MCP Server MCP server (mahdin75/gis-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from GIS MCP Server, 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.
98 GIS MCP Server tools catalogued and risk-classified — across an index of 43,000+ MCP servers.