save_project
Persist a CivilQuants project with its assembly list. Each call creates a new project — it never overwrites an existing one. To revise a saved project's parameters: call get_project to recover its assemblies, amend the values, then call save_project again with the amended list (a revision-suffixe...
This record as markdown: /tools/com-civilquants-civilquants/save-project.md
What save_project does on Civilquants
AI agents use save_project to create or update resources in Civilquants, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Civilquants environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
request | object | Yes | Body for ``POST /api/v1/mcp/project/save``. |
Parameters from the server's own tool schema.
Why save_project is rated Medium
save_project creates and stores new estimating projects reversibly. While it never overwrites existing projects (preventing destructive behavior), it does create and modify data within the system. This is a Write operation — data creation/modification with potential to accumulate many saved versions.
From the tool's definition "Persist a CivilQuants project with its assembly list. Each call creates a new project — it never overwrites an existing one." Tool description explicitly states it creates and persists new project data.
Risk signalsHigh parameter count (13 properties)
Attacks that exploit this kind of access
The rule that runs save_project safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Civilquants, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For save_project, this is the rule to start with:
save_project 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.
The button opens the PolicyLayer dashboard: create your workspace, connect Civilquants, apply this rule, and every save_project call is checked against it from then on.
Questions about save_project
Persist a CivilQuants project with its assembly list. Each call creates a new project — it never overwrites an existing one. To revise a saved project's parameters: call get_project to recover its assemblies, amend the values, then call save_project again with the amended list (a revision-suffixed name like 'Pump Station R02' keeps the history browsable) and run recompute_project on the new project_id — recompute_project takes no parameter overrides. To measure a different assembly type instead, route via resolve_assembly_from_description. Re-find saved work in a later conversation with list_projects or get_project by exact name. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope pointing at https://civilquants.com/pricing. It is categorised as a Write tool in the Civilquants MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
save_project accepts 1 parameter: request. Required: request. The full parameter table on this page comes from the server's own tool schema.
Register the Civilquants MCP server in PolicyLayer and add a rule for save_project: 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 Civilquants. Nothing to install.
save_project 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 save_project 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 save_project. 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.
save_project is provided by the Civilquants MCP server (https://api.civilquants.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Civilquants, and thousands of servers like it.
This server
Across the catalogue